This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Linking arm thumb code
- From: Phil Blundell <pb at nexus dot co dot uk>
- To: Adrian von Bidder <avbidder at acter dot ch>
- Cc: binutils <binutils at sources dot redhat dot com>, uclinux <uclinux-dev at uclinux dot org>
- Date: Thu, 22 Nov 2001 13:40:20 +0000
- Subject: Re: Linking arm thumb code
- References: <3BFCF28D.75556C34@acter.ch>
>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.