[PATCH ARM/THUMB] replace mov with movs in crt0.S

Richard Earnshaw rearnsha@arm.com
Tue Nov 29 01:47:00 GMT 2011


On 24/11/11 15:56, Thomas Klein wrote:

> Attaching verbose command line output, preprocessed assembly file (of 
> crt0.S) and object file (of gastest.s).
> Output of arm-elf-eabi-readelf -A gastest.o is:
> Attribute Section: aeabi
> File Attributes
>    Tag_CPU_arch: v4T
>    Tag_ARM_ISA_use: Yes
>    Tag_THUMB_ISA_use: Thumb-1
>    Tag_DIV_use: Not allowed
> 

That's fine...

But the plot thickens.  The list of pre-defines you sent me had no
mention of __thumb2__ being defined, but your pre-processed version of
crt0.s contains

# 21 "../../../../../../../../env/src/newlib/libc/sys/arm/crt0.S"
 .text
 .syntax unified

Now in my copy of crt0.s that code can only come from

#if defined(__thumb2__)
        .syntax unified
        .thumb
...
#else
...

So how come the pre-processor has included that bit of code when thumb2
was not defined????

What's your raw crt0.S look like?  Where did it come from?

R.



More information about the Newlib mailing list