* elf32-m68k.c (elf_m68k_relocate_section): Don't need the
authorAndreas Schwab <schwab@linux-m68k.org>
Tue, 20 Mar 2001 10:11:07 +0000 (10:11 +0000)
committerAndreas Schwab <schwab@linux-m68k.org>
Tue, 20 Mar 2001 10:11:07 +0000 (10:11 +0000)
relocation value when resolving a reference from a debugging
section.

bfd/ChangeLog
bfd/elf32-m68k.c

index 7861c44f7cc8657255e4b0bbab8582574eb8cc84..426b2c7f5feea2af464ec84701c90c33a106c1a4 100644 (file)
@@ -1,3 +1,9 @@
+2001-03-20  Andreas Schwab  <schwab@suse.de>
+
+       * elf32-m68k.c (elf_m68k_relocate_section): Don't need the
+       relocation value when resolving a reference from a debugging
+       section.
+
 2001-03-16  Scott Thomason  <SThomaso@hii.com>
 
        * coff64-rs6000.c (xcoff64_swap_sym_out): Fix syntax errors.
index 6ce7360e02b8ff6051c2822afb4e29fcd93d07f1..a3df85d5b5944e7b9e9e7b4490e9e902c1161a76 100644 (file)
@@ -1463,7 +1463,14 @@ elf_m68k_relocate_section (output_bfd, info, input_bfd, input_section,
                      && ((! info->symbolic && h->dynindx != -1)
                          || (h->elf_link_hash_flags
                              & ELF_LINK_HASH_DEF_REGULAR) == 0)
-                     && (input_section->flags & SEC_ALLOC) != 0
+                     && ((input_section->flags & SEC_ALLOC) != 0
+                         /* DWARF will emit R_68K_32 relocations in its
+                            sections against symbols defined externally
+                            in shared libraries.  We can't do anything
+                            with them here.  */
+                         || ((input_section->flags & SEC_DEBUGGING) != 0
+                             && (h->elf_link_hash_flags
+                                 & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
                      && (r_type == R_68K_8
                          || r_type == R_68K_16
                          || r_type == R_68K_32