Subject: re: reloc sym ""
To: None <mrauch@netbsd.org, mrg@eterna.com.au>
From: None <eeh@netbsd.org>
List: tech-toolchain
Date: 09/06/2001 20:23:25
|    while it's with binutils-2.11
|    RELOCATION RECORDS FOR [.eh_frame]:
|    OFFSET   TYPE              VALUE 
|    0000001c R_SPARC_UA32        .text+0x00000008
|    [...]
|    
|    (R_SPARC_UA32 is reloc type 23 btw.)


| is this the only difference?  it shouldn't matter.  the former
| is a normal 32 bit relocation.  the latter is a special "unaligned"
| 32 bit relocation.  it's basically for the dynamic linker only.  my
| quick look at the sparc ld.elf_so says it handles these, but i don't
| see any special code to handle the unaligned part of this...

The same problem occurs with 64-bit binaries, only the relocation
is R_SPARC_UA64.

I am rather skeptical that the compiler or linker really should
be generating an unaligned relocation.  And since the dynamic linker
cannot find the relocation in the symbol table makes me think that
the linker is not generating correct structures.

It might be a good idea to try running with LD_DEBUG set in the
environment or building a debug ld.elf_so.  

Eduardo