This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Question on PowerPC relocation error
>>>>> "osv" == Sergei Organov <osv@topconrd.ru> writes:
osv> No, I think it ended up in .bss while it should end up in
osv> .sbss. I guess it's linker command file is broken -- it
osv> somehow forces this variable that compiler puts in .sbss to
osv> end up in .bss. Relevant part of the linker map file would be
osv> appropriate to see what happened.
Or not broken, but having
.bss :
{
...
__SDA_BASE__ = <some-appropriate-value>
* (.sbss)
...
}
osv> I believe you need to fix linker command file in order the
osv> globalExceptHdl variable to end up in the .sbss output
osv> section instead of .bss. This way all the C code will access
osv> it correctly and efficiently, and asm code will still access
osv> it correctly while not as efficiently.
The ONLY thing that needs fixing is to make sure the variable is
sufficiently close to __SDA_BASE__ or __SDA2_BASE__ (+- 32K, IIRC),
r13 is set to __SDA_BASE__ and then delete the bogus errors from the
bfd (or turn them to warnings).
~velco