[Xtensa] change relaxation of calls to weak symbols
Thu Dec 13 19:10:00 GMT 2007
Bob Wilson wrote:
> I noticed yesterday that the Xtensa port of GAS has been relaxing all
> calls to weak symbols, even when the --longcalls option is disabled.
> This seems wrong to me. The assembler doesn't know the final address of
> a weak symbol, but that is no different than a call to a different
> section. This patch changes GAS to handle both of those cases (weak
> symbol and different section) in the same way. Tested with an
> xtensa-elf build and committed.
The GAS testsuite for Xtensa is not worth much.... This change broke GCC's
g++.dg/warn/weak1.C test. It seems like the best solution is to distinguish
weak references (which may resolve to zero) from weak definitions. Fixed with
the following patch, which I have committed. In an effort to improve the
testsuite, I also added a test for this.
2007-12-13 Bob Wilson <firstname.lastname@example.org>
* config/tc-xtensa.c (xg_symbolic_immeds_fit): Relax for weak
references but not weak definitions.
* gas/xtensa/all.exp: Run new weak-call test.
* gas/xtensa/weak-call.d: New.
* gas/xtensa/weak-call.s: New.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 2667 bytes
Desc: not available
More information about the Binutils