* exec.c (add_to_section_table): Do not discard empty sections.
This commit is contained in:
parent
25502bfe00
commit
0f5d55d8c4
2 changed files with 10 additions and 2 deletions
|
@ -1,3 +1,7 @@
|
|||
2007-02-09 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* exec.c (add_to_section_table): Do not discard empty sections.
|
||||
|
||||
2007-02-08 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* features/Makefile, features/arm-with-iwmmxt.xml,
|
||||
|
|
|
@ -345,11 +345,15 @@ add_to_section_table (bfd *abfd, struct bfd_section *asect,
|
|||
struct section_table **table_pp = (struct section_table **) table_pp_char;
|
||||
flagword aflag;
|
||||
|
||||
/* Check the section flags, but do not discard zero-length sections, since
|
||||
some symbols may still be attached to this section. For instance, we
|
||||
encountered on sparc-solaris 2.10 a shared library with an empty .bss
|
||||
section to which a symbol named "_end" was attached. The address
|
||||
of this symbol still needs to be relocated. */
|
||||
aflag = bfd_get_section_flags (abfd, asect);
|
||||
if (!(aflag & SEC_ALLOC))
|
||||
return;
|
||||
if (0 == bfd_section_size (abfd, asect))
|
||||
return;
|
||||
|
||||
(*table_pp)->bfd = abfd;
|
||||
(*table_pp)->the_bfd_section = asect;
|
||||
(*table_pp)->addr = bfd_section_vma (abfd, asect);
|
||||
|
|
Loading…
Reference in a new issue