OSDN Git Service

(coff_arm_relocate_section): Do not alter relocs that are not partial_inplace
authornickc <nickc>
Thu, 8 Jan 2004 16:46:56 +0000 (16:46 +0000)
committernickc <nickc>
Thu, 8 Jan 2004 16:46:56 +0000 (16:46 +0000)
during a relocatable link.

bfd/ChangeLog
bfd/coff-arm.c

index 3bf3ed2..94aa94d 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-08  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
+
+       * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
+       are not partial_inplace during a relocatable link.
+
 2004-01-08  Kazu Hirata  <kazu@cs.umass.edu>
 
        * elf32-m68k.c (elf_m68k_gc_sweep_hook): Terminate early
index 9b26123..79bae59 100644 (file)
@@ -1734,10 +1734,13 @@ coff_arm_relocate_section (output_bfd, info, input_bfd, input_section,
 #endif
       else
 #endif /* THUMBEXTENSION */
-        rstat = _bfd_final_link_relocate (howto, input_bfd, input_section,
-                                          contents,
-                                          rel->r_vaddr - input_section->vma,
-                                          val, addend);
+        if (info->relocatable && ! howto->partial_inplace)
+            rstat = bfd_reloc_ok;
+        else
+         rstat = _bfd_final_link_relocate (howto, input_bfd, input_section,
+                                           contents,
+                                           rel->r_vaddr - input_section->vma,
+                                           val, addend);
 #if 1 /* THUMBEXTENSION */
       /* FIXME:
         Is this the best way to fix up thumb addresses? krk@cygnus.com