------- Additional Comments From nickc at redhat dot com  2008-11-14 14:51 
-------
Subject: Re:  64-bit libstdc++.so fails to link on Solaris      11/SPARC:
 could not read symbols: Bad value

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



-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=7027

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


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

Reply via email to