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: Fail to start blob with arm-iwmmxt-linux-gnueabi toolchain


Firstly, thanks your reply.

My compiler does not understand "-matpcs". I remember ATPCS is PCS for
ARM normal and Thumb instructions. We did not use any Thumb
instructions and did not use such option to compile.

I checked gcc-4.1.1/gcc/config/arm/arm.h, PREFERRED_STACK_BOUNDARY is
defined as 64 because we are using -mabi=aapcs option. Moreover,
-mabi=iwmmxt options is also fine.

#define TARGET_AAPCS_BASED \
   (arm_abi != ARM_ABI_APCS && arm_abi != ARM_ABI_ATPCS)
#define ARM_DOUBLEWORD_ALIGN    TARGET_AAPCS_BASED
#define DOUBLEWORD_ALIGNMENT 64
#define STACK_BOUNDARY  (ARM_DOUBLEWORD_ALIGN ? DOUBLEWORD_ALIGNMENT : 32)
#define PREFERRED_STACK_BOUNDARY \
   (arm_abi == ARM_ABI_ATPCS ? 64 : STACK_BOUNDARY)

Finally, I did not find crt0 startup code for ARM in glibc(v2.4) or
gcc(v4.1.1). Could you please point it out? Thanks.

On 7/3/06, Dave Korn <dave.korn@artimi.com> wrote:

 Normally it's the job of the crt0 startup to make sure the sp is properly
aligned modulo 8, and the compiler assumes that and can make sure sp stays
aligned just by ensuring all stack frames are multiple of 8 bytes in size.  Is
your crt0 not aligning the sp correctly, or is the compiler emitting frames
that are not a multiple of 8 in size?  In the arm compiler's backend (v3.3.3,
gcc/config/arm.h) I see the line

#define PREFERRED_STACK_BOUNDARY (TARGET_ATPCS ? 64 : 32)

- does your compiler understand "-matpcs", and does it help?


cheers, DaveK -- Can't think of a witty .sigline today....




--
best regards,
-Bridge

--
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]