RFA: Don't use STT_ARM_TFUNC for final links
Daniel Jacobowitz
drow@false.org
Thu Nov 18 17:58:00 GMT 2004
On Thu, Nov 18, 2004 at 12:32:32PM -0500, Daniel Jacobowitz wrote:
> This patch makes BFD write out Thumb symbols as STT_FUNC with the low bit
> set, rather than STT_ARM_TFUNC. It also simulates STT_ARM_TFUNC when
> reading in symbols - in two places, one for the linker and the other for the
> BFD symbol table interface.
>
> I made this change only for final links because it's less of a compatibility
> issue than for relocatable output. For EABI objects, presumably we should
> do the same. For non-EABI objects, I'm not sure if it should be changed or
> left alone; I have no idea what other tools are affected. However, since
> dynamic objects containing Thumb symbols did not work properly before my
> last change, I see no reason to conditionalize it.
>
> No changes to GDB are necessary, but it has to be rebuilt with the new BFD.
> An older version of GDB will clip the lower bit but not mark the symbol as
> Thumb. I verified that a rebuilt GDB works; and I'll be posting glibc
> patches to go with this shortly.
>
> Only one testsuite change is necessary - this is why I added readelf-based
> tests with my last patch. OK?
Paul points out that this doesn't work for objcopy. He's got a better
idea how to implement it...
--
Daniel Jacobowitz
More information about the Binutils
mailing list