[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"
 .syntax unified

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

#if defined(__thumb2__)
        .syntax unified

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?


More information about the Newlib mailing list