aboutsummaryrefslogtreecommitdiff
path: root/ld/ldlang.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2011-05-23 05:41:01 +0000
committerAlan Modra <amodra@gmail.com>2011-05-23 05:41:01 +0000
commit6de6a7fe356bbb94c090d48366908f1eb8db6dbb (patch)
tree107eef4f5b74faaad05a505c8502e2f4da845ccf /ld/ldlang.c
parent3bd61671c358dcb210ebadfba6657453e6c07678 (diff)
downloadgdb-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/ldlang.c')
-rw-r--r--ld/ldlang.c10
1 files changed, 8 insertions, 2 deletions
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;
}
}