From 4f075348c0645ee3f227281a140368256aa5c600 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Thu, 8 Jan 2004 11:01:37 +0000 Subject: [PATCH] * elf32-m68k.c (elf_m68k_gc_sweep_hook): Terminate early if no dynamic object is present. Declare r_symndx and h in an inner scope. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-m68k.c | 13 +++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index eec219a4ef1..3bf3ed2a0bf 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2004-01-08 Kazu Hirata + + * elf32-m68k.c (elf_m68k_gc_sweep_hook): Terminate early + if no dynamic object is present. Declare r_symndx and h in an + inner scope. + 2004-01-07 H.J. Lu * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install diff --git a/bfd/elf32-m68k.c b/bfd/elf32-m68k.c index 90609c5c08b..1c7fed92baa 100644 --- a/bfd/elf32-m68k.c +++ b/bfd/elf32-m68k.c @@ -817,26 +817,27 @@ elf_m68k_gc_sweep_hook (abfd, info, sec, relocs) struct elf_link_hash_entry **sym_hashes; bfd_signed_vma *local_got_refcounts; const Elf_Internal_Rela *rel, *relend; - unsigned long r_symndx; - struct elf_link_hash_entry *h; bfd *dynobj; asection *sgot; asection *srelgot; - symtab_hdr = &elf_tdata (abfd)->symtab_hdr; - sym_hashes = elf_sym_hashes (abfd); - local_got_refcounts = elf_local_got_refcounts (abfd); - dynobj = elf_hash_table (info)->dynobj; if (dynobj == NULL) return TRUE; + symtab_hdr = &elf_tdata (abfd)->symtab_hdr; + sym_hashes = elf_sym_hashes (abfd); + local_got_refcounts = elf_local_got_refcounts (abfd); + sgot = bfd_get_section_by_name (dynobj, ".got"); srelgot = bfd_get_section_by_name (dynobj, ".rela.got"); relend = relocs + sec->reloc_count; for (rel = relocs; rel < relend; rel++) { + unsigned long r_symndx; + struct elf_link_hash_entry *h; + switch (ELF32_R_TYPE (rel->r_info)) { case R_68K_GOT8: -- 2.30.2