* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
authorStephane Carrez <stcarrez@nerim.fr>
Wed, 23 Jul 2003 19:40:23 +0000 (19:40 +0000)
committerStephane Carrez <stcarrez@nerim.fr>
Wed, 23 Jul 2003 19:40:23 +0000 (19:40 +0000)
we have a local symbol in common section.

bfd/ChangeLog
bfd/elf32-m68hc1x.c

index b3617b250fc98fb657f61d03fe430e14d2d5e389..d599c4097f7e1b0e0a04e86e457936fd6896697a 100644 (file)
@@ -1,3 +1,8 @@
+2003-07-23  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
+       we have a local symbol in common section.
+
 2003-07-22  H.J. Lu <hongjiu.lu@intel.com>
 
        * elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
index a3def112f1ffe71a2af260a7212df115a9026b53..7733f05f1fdb933d9240f3284773c88483ffb266 100644 (file)
@@ -512,11 +512,12 @@ elf32_m68hc11_size_stubs (output_bfd, stub_bfd, info, add_stub_section)
                   bfd_boolean is_far;
 
                   sym = local_syms + r_indx;
-                  hdr = elf_elfsections (input_bfd)[sym->st_shndx];
-                  sym_sec = hdr->bfd_section;
                   is_far = (sym && (sym->st_other & STO_M68HC12_FAR));
                   if (!is_far)
                     continue;
+
+                  hdr = elf_elfsections (input_bfd)[sym->st_shndx];
+                  sym_sec = hdr->bfd_section;
                   stub_name = (bfd_elf_string_from_elf_section
                                (input_bfd, symtab_hdr->sh_link,
                                 sym->st_name));