aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-02-25 15:44:29 +1030
committerAlan Modra <amodra@gmail.com>2017-02-25 18:41:03 +1030
commit034fed0bbc3541d2a11a839faf4be521843ad954 (patch)
treefcd3f0ec3a1dc5e70e11ee3f2fe0112b6dfb67e3 /bfd/ChangeLog
parent7cc14406548d299c1371ecdc2d43592c98567a0b (diff)
downloadgdb-034fed0bbc3541d2a11a839faf4be521843ad954.zip
gdb-034fed0bbc3541d2a11a839faf4be521843ad954.tar.gz
gdb-034fed0bbc3541d2a11a839faf4be521843ad954.tar.bz2
ARC naughtiness causing assertion fail at elf-strtab.c:302
This patch fixes a number of issues in the ARC backend. - The ARC size_dynamic_sections was trashing dynamic section contents, in particular the .gnu.version_d contents. Those versions definitions are therefore lost so they do not drain from the strtab, resulting in assertion failures. - The code attempting to set DT_TEXTREL was completely bogus. - The ARC finish_dynamic_sections would segfault on trying to set sh_entsize for .rela.plt if that section had been discarded. - arc_create_dynamic_sections wouldn't have ever created dynamics sections, which was just as well since the places it was called were way too late to create dynamic sections. Its usefulness then devolved down to finding just one dynamic section. All the others packaged into a struct were unused. - .interp wasn't set for PIEs. * elf32-arc.c (struct dynamic_sections): Delete. (enum dyn_section_types): Delete. (dyn_section_names): Delete. (arc_create_dynamic_sections): Delete. (elf_arc_finish_dynamic_sections): Don't call the above. Don't segfault on discarded .rela.plt section. (elf_arc_size_dynamic_sections): Formatting. Don't call arc_create_dynamic_sections. Don't allocate memory for sections handled by the generic linker. Correct code finding relocs in read-only sections. Set SEC_EXCLUDE on zero size .got, .got.plt, and .dynbss sections. Do set .interp for pies.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog14
1 files changed, 14 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 7eda963..1118c19 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,17 @@
+2017-02-25 Alan Modra <amodra@gmail.com>
+
+ * elf32-arc.c (struct dynamic_sections): Delete.
+ (enum dyn_section_types): Delete.
+ (dyn_section_names): Delete.
+ (arc_create_dynamic_sections): Delete.
+ (elf_arc_finish_dynamic_sections): Don't call the above. Don't
+ segfault on discarded .rela.plt section.
+ (elf_arc_size_dynamic_sections): Formatting. Don't call
+ arc_create_dynamic_sections. Don't allocate memory for sections
+ handled by the generic linker. Correct code finding relocs in
+ read-only sections. Set SEC_EXCLUDE on zero size .got,
+ .got.plt, and .dynbss sections. Do set .interp for pies.
+
2017-02-24 Andrew Waterman <andrew@sifive.com>
* elfnn-riscv.c (GP_NAME): New macro.