Apply H.J.'s patch to fix NOLOAD section sizes and dot updates

This commit is contained in:
Nick Clifton 2000-01-18 23:58:58 +00:00
parent c5394b80ae
commit cce4c4c5bd
2 changed files with 13 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2000-01-18 H.J. Lu <hjl@gnu.org>
* ldlang.c (lang_size_sections): Also update the current
address of a region if the SEC_NEVER_LOAD bit is not set.
2000-01-10 Philip Blundell <pb@futuretv.com>
* configure.tgt (arm*-*-conix*): New target.

View file

@ -2823,10 +2823,15 @@ lang_size_sections (s, output_section_statement, prev, fill, dot, relax)
/* Update dot in the region ?
We only do this if the section is going to be allocated,
since unallocated sections do not contribute to the region's
overall size in memory. */
If the SEC_NEVER_LOAD bit is not set, it will affect the
addresses of sections after it. We have to update
dot. */
if (os->region != (lang_memory_region_type *) NULL
&& (bfd_get_section_flags (output_bfd, os->bfd_section)
& (SEC_ALLOC | SEC_LOAD)))
&& ((bfd_get_section_flags (output_bfd, os->bfd_section)
& SEC_NEVER_LOAD) == 0
|| (bfd_get_section_flags (output_bfd, os->bfd_section)
& (SEC_ALLOC | SEC_LOAD))))
{
os->region->current = dot;