This is the mail archive of the
mailing list for the binutils project.
Re: ld broken on Solaris 8
- To: Mark Kettenis <kettenis at wins dot uva dot nl>
- Subject: Re: ld broken on Solaris 8
- From: Jeff Sturm <jsturm at one-point dot com>
- Date: Fri, 11 May 2001 15:30:39 -0400 (EDT)
- cc: binutils at sources dot redhat dot com
On Fri, 11 May 2001, Mark Kettenis wrote:
> According to the Sun "Linker and Libraries Guide" R_SPARC_UA32
> "...resembles R_SPARC_32, except that it refers to an unaligned
> word. That is, the word to be relocated must be treated as four
> separate bytes with arbitrary alignment, not as a word aligned
> according to the architecture requirements."
> Now that's a bit cryptic to me, but I suspect the Sparc doesn't allow
> unaligned word access (or severely penalizes it) and R_SPARC_UA32 is
> there to instruct the dynamic linker to access the bytes individually
> instead of trying an unaligned word access. If I'm right, this would
> probably mean that for ld there would be no difference.
Your interpretation sounds reasonable. In my example (a static
relocation in .data) this would be pointless, unless it causes ld to
substitute an unaligned variant of the load insn (if such a thing exists
In all likelihood the Solaris as is generating R_SPARC_UA32 unnecessarily.
Not that I care anymore; I'll update my tree and see what happens. In any
case a bug report should be probably be entered for GCC.