Hi Rainer,

+             if ((! ABI_64_P (abfd) && ELF32_R_TYPE (rel->r_info) == 
R_SPARC_PLT32)
+                 || (ABI_64_P (abfd) && ELF32_R_TYPE (rel->r_info) == 
R_SPARC_PLT64))

The ABI_64_P() part doesn't trigger since ELF32_R_TYPE (rel->r_info) is 18
(i.e. R_SPARC_WPLT30) at this point.  I don't really have an idea why/if
the 32-bit part works.

As a matter of interest if you change this to:

  if ((! ABI_64_P (abfd) && ELF32_R_TYPE (rel->r_info) == R_SPARC_PLT32)
   || (ABI_64_P (abfd) && ELF32_R_TYPE (rel->r_info) == R_SPARC_WPLT30))

does the patch then work ? (I agree that the 32-bit case does seem rather mysterious).

Cheers
  Nick



_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to