diff options
author | Alan Modra <amodra@gmail.com> | 2011-05-23 05:41:01 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2011-05-23 05:41:01 +0000 |
commit | 6de6a7fe356bbb94c090d48366908f1eb8db6dbb (patch) | |
tree | 107eef4f5b74faaad05a505c8502e2f4da845ccf /ld | |
parent | 3bd61671c358dcb210ebadfba6657453e6c07678 (diff) | |
download | gdb-6de6a7fe356bbb94c090d48366908f1eb8db6dbb.zip gdb-6de6a7fe356bbb94c090d48366908f1eb8db6dbb.tar.gz gdb-6de6a7fe356bbb94c090d48366908f1eb8db6dbb.tar.bz2 |
PR 12763
bfd/
* elf.c (assign_file_positions_for_load_sections): Set sh_offset for
.tbss, and page align same for all SHT_NOBITS sections.
ld/
* ldlang.c (lang_output_section_find_by_flags): Match orphan .sdata2
like sections to existing .sdata2, and similarly for orphan TLS
sections.
* emultempl/elf32.em (place_orphan): Exclude .tbss from orphan_bss.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 8 | ||||
-rw-r--r-- | ld/ldlang.c | 10 |
2 files changed, 16 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index d0b2157..2cce57b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2011-05-23 Alan Modra <amodra@gmail.com> + + PR 12763 + * ldlang.c (lang_output_section_find_by_flags): Match orphan .sdata2 + like sections to existing .sdata2, and similarly for orphan TLS + sections. + * emultempl/elf32.em (place_orphan): Exclude .tbss from orphan_bss. + 2011-05-17 Tomohiro Kashiwada <kikairoya@gmail.com> PR ld/12759 diff --git a/ld/ldlang.c b/ld/ldlang.c index 5ccb36f..7cf5108 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -1579,8 +1579,14 @@ lang_output_section_find_by_flags (const asection *sec, } flags ^= sec->flags; if (!(flags & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD - | SEC_READONLY)) - && !(look->flags & (SEC_SMALL_DATA | SEC_THREAD_LOCAL))) + | SEC_READONLY | SEC_SMALL_DATA)) + || (!(flags & (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD + | SEC_READONLY)) + && !(look->flags & SEC_SMALL_DATA)) + || (!(flags & (SEC_THREAD_LOCAL | SEC_ALLOC)) + && (look->flags & SEC_THREAD_LOCAL) + && (!(flags & SEC_LOAD) + || (look->flags & SEC_LOAD)))) found = look; } } |