Linking arm thumb code

Phil Blundell pb@nexus.co.uk
Sun Nov 11 19:08:00 GMT 2001
>ld: Warning: type of symbol `__uClibc_main' changed from 2 to 13 in
>__uClibc_main.o

Type 2 is plain old STT_FUNC; type 13 is STT_TFUNC.  I'm not sure why this 
warning is turning up, but I don't think it's directly related to the problem 
you're having.

>        .weak   __init_stdio
>        .thumb_set __init_stdio,__uClibc_empty_func
>	...
>        .section        .rodata
>        .align  2
>.LC0:
>        .word   __init_stdio

I think ".thumb_set" is supposed to mark the symbol as being of Thumb type.  
That should mean that the low bit gets set, causing BX to do the right thing.

Can you check the final linked executable and make sure this isn't happening?

p.



More information about the Binutils mailing list