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] |
GCC version: gcc version 4.1.2 binutils version 2.17
C code is compiled with -mcpu=arm7tdmi -mthumb -mthumb-interwork ASM code is (really .S, through GCC) is compiled with the same options.
200558: f001 f962 bl 201820 <printf> 20055c: f007 f9c6 bl 2078ec <____floatsidf_from_thumb> 200560: f000 f8e8 bl 200734 <process_run>
#define DUAL_HEAD( X ) \ .global __ ## X ## _from_thumb ; \ .code 16 ; \ .thumb_func ; \ .type __ ## X ## _from_thumb,function ; \ __ ## X ## _from_thumb: ; \ bx pc ; \ nop ; \ .global X ; \ .type X ,function ; \ .code 32 ; \ X : ; \
DUAL_HEAD( ARM_disable_IRQ ) mrs r0,cpsr orr r1,r0,#I_BIT msr cpsr_c,r1 bx lr .size ARM_disable_IRQ,(.-ARM_disable_IRQ)
From what I can see, I believe I'm constructing the veneer correctly. But -- Either I'm doing something wrong or - there's a bug in the linker. I suspect it is me... But... well, I'm not getting anywhere.
-- 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] |