This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: More crosstool-0.42-glibc-2.4-gcc-4.1.0-nptl


On Thu, 2006-05-11 at 05:20, Mike Taht wrote:
> On Wed, 10 May 2006, Khem Raj wrote:

> > sometimes gcc/binutils can assume v5t as default architecture when using 
> > EABI. So when you select strongarm it may be that somehow
> > it does not take care of turning on EABI in all cases. May be no one has 
> > tested ARM EABI on older ARM architectures that well.
> 
> The one consistent theme I've seen over the issues on this list with EABI 
> this past week is that all of us are struggling with armv4t based code.
> 

StrongARM is ARMv4, not ARMv4T.  The key difference and a source of
problems here is that ARMv4 has no BX instruction.  However, the EABI
mandates that code calling and return sequences are interworking capable
(to fully support Thumb).

At the object file stage this can be finessed by compiling all code for
the ARM subset of ARMv4T and then (during assembly) marking all uses of
BX with a special relocation value (R_ARM_V4BX).  (A linker can then
convert the instruction to MOV PC,... if it knows that the code needs to
run on a V4 processor.)  

Unfortunately, this can't be fully finessed at the executable file stage
(or in shared libraries): so when linking you really have to decide
whether you are linking to run on v4 or v4T.

However, all of this may be irrelevant if the GNU assembler doesn't
generate the correct relocations (or ld process them)...

R.


--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]