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