arm-symbianelf segfault
authorAlan Modra <amodra@gmail.com>
Thu, 27 Aug 2020 03:20:20 +0000 (12:50 +0930)
committerAlan Modra <amodra@gmail.com>
Thu, 27 Aug 2020 12:26:33 +0000 (21:56 +0930)
Yes, the target is marked obsolete due to this and other segfaults,
but this one is easy enough to fix.

* elf32-arm.c (elf32_arm_final_link_relocate): Don't segfault
on sym_sec not being output.

bfd/ChangeLog
bfd/elf32-arm.c

index fb998c24986bab251c28d4c784d94e276bf339ed..18ded261a575a99dabade2c92907eaad49ef4cf6 100644 (file)
@@ -1,3 +1,8 @@
+2020-08-27  Alan Modra  <amodra@gmail.com>
+
+       * elf32-arm.c (elf32_arm_final_link_relocate): Don't segfault
+       on sym_sec not being output.
+
 2020-08-27  Alan Modra  <amodra@gmail.com>
 
        PR 26416
index 8fec76e4e1ddefbac283a8031235b6b860d731e9..24991898f70b0ef6b25edf65b42d88100ff1a40f 100644 (file)
@@ -10595,7 +10595,9 @@ elf32_arm_final_link_relocate (reloc_howto_type *           howto,
                    osec = sym_sec->output_section;
                  else
                    osec = input_section->output_section;
-                 symbol = elf_section_data (osec)->dynindx;
+                 symbol = 0;
+                 if (osec && elf_section_data (osec))
+                   symbol = elf_section_data (osec)->dynindx;
                  if (symbol == 0)
                    {
                      struct elf_link_hash_table *htab = elf_hash_table (info);