* elf64-alpha.c (elf64_alpha_relocate_section): Don't adjust
authorRichard Henderson <rth@redhat.com>
Fri, 18 Jun 1999 04:25:56 +0000 (04:25 +0000)
committerRichard Henderson <rth@redhat.com>
Fri, 18 Jun 1999 04:25:56 +0000 (04:25 +0000)
        GPDISP or LITUSE in a relocatable link.

bfd/ChangeLog
bfd/elf64-alpha.c

index c0128c0bc06b1862e5ed5797b3382320b7883543..d99d9a2903deb7805a89ae70cdd86eda0aa8c66a 100644 (file)
@@ -1,3 +1,8 @@
+Fri Jun 18 04:24:57 1999  Richard Henderson  <rth@cygnus.com>
+
+       * elf64-alpha.c (elf64_alpha_relocate_section): Don't adjust
+       GPDISP or LITUSE in a relocatable link.
+
 Thu Jun 17 21:24:43 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * dwarf1.c (alloc_dwarf1_unit): Allocate using bfd_zalloc.
index 1964f86e85990698f8a1c3d34d81f3d8f26d35c3..a8a7c4054e16490e19df7fcd904c482c7fd5f14a 100644 (file)
@@ -3423,6 +3423,12 @@ elf64_alpha_relocate_section (output_bfd, info, input_bfd, input_section,
             anything, unless the reloc is against a section symbol,
             in which case we have to adjust according to where the
             section symbol winds up in the output section.  */
+
+         /* The symbol associated with GPDISP and LITUSE is 
+            immaterial.  Only the addend is significant.  */
+         if (r_type == R_ALPHA_GPDISP || r_type == R_ALPHA_LITUSE)
+           continue;
+
          if (r_symndx < symtab_hdr->sh_info)
            {
              sym = local_syms + r_symndx;