arm-elf thumb-2 issue in newlib or gas?
info.gnu@rt-labs.com
info.gnu@rt-labs.com
Wed Apr 23 12:42:00 GMT 2008
Thank you,
That patch fixed previous error, but new similar ones appeared in libgloss,
se below.
make[5]: Entering directory
`/proj/buildcross/build/build_newlib/arm-elf/thumb/thumb2/libgloss/arm'
arm-elf-gcc -B/proj/buildcross/build/build_newlib/arm-elf/newlib/ -isystem
/proj/buildcross/build/build_newlib/arm-elf/newlib/targ-include -isystem
/proj/buildcross/build/newlib-1.16.0/newlib/libc/include
-B/proj/buildcross/build/build_newlib/arm-elf/libgloss/arm
-L/proj/buildcross/build/build_newlib/arm-elf/libgloss/libnosys
-L/proj/buildcross/build/newlib-1.16.0/libgloss/arm
-DREENTRANT_SYSCALLS_PROVIDED -DMISSING_SYSCALL_NAMES -DABORT_PROVIDED
-DMALLOC_PROVIDED -UEXIT_PROVIDED -DSIGNAL_PROVIDED -D__DYNAMIC_REENT__ -g
-Os -I. -I../../../../../../newlib-1.16.0/libgloss/arm/..
-DREENTRANT_SYSCALLS_PROVIDED -DMISSING_SYSCALL_NAMES -DABORT_PROVIDED
-DMALLOC_PROVIDED -UEXIT_PROVIDED -DSIGNAL_PROVIDED -D__DYNAMIC_REENT__ -g
-Os -mthumb -march=armv7 -c
../../../../../../newlib-1.16.0/libgloss/arm/crt0.S
../../../../../../newlib-1.16.0/libgloss/arm/crt0.S: Assembler messages:
../../../../../../newlib-1.16.0/libgloss/arm/crt0.S:85: Error: thumb
conditional instrunction not in IT block
../../../../../../newlib-1.16.0/libgloss/arm/crt0.S:91: Error: selected
processor does not support requested special purpose register %x -- `mrs
r2,CPSR'
../../../../../../newlib-1.16.0/libgloss/arm/crt0.S:94: Error: Thumb
encoding does not support an immediate here -- `msr CPSR_c,#0xD1'
../../../../../../newlib-1.16.0/libgloss/arm/crt0.S:99: Error: Thumb
encoding does not support an immediate here -- `msr CPSR_c,#0xD7'
../../../../../../newlib-1.16.0/libgloss/arm/crt0.S:103: Error: Thumb
encoding does not support an immediate here -- `msr CPSR_c,#0xDB'
../../../../../../newlib-1.16.0/libgloss/arm/crt0.S:107: Error: Thumb
encoding does not support an immediate here -- `msr CPSR_c,#0xD2'
../../../../../../newlib-1.16.0/libgloss/arm/crt0.S:111: Error: Thumb
encoding does not support an immediate here -- `msr CPSR_c,#0xD3'
../../../../../../newlib-1.16.0/libgloss/arm/crt0.S:118: Error: Thumb
load/store multiple does not support {reglist}^ -- `ldmdb r3,{sp}^'
../../../../../../newlib-1.16.0/libgloss/arm/crt0.S:121: Error: selected
processor does not support requested special purpose register -- `msr
CPSR_c,r2'
make[5]: *** [crt0.o] Error 1
make[5]: Leaving directory
`/proj/buildcross/build/build_newlib/arm-elf/thumb/thumb2/libgloss/arm'
make[4]: *** [stmp-bsp] Error 2
make[4]: Leaving directory
`/proj/buildcross/build/build_newlib/arm-elf/thumb/thumb2/libgloss'
make[3]: *** [multi-do] Error 1
make[3]: Leaving directory
`/proj/buildcross/build/build_newlib/arm-elf/libgloss'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/proj/buildcross/build/build_newlib/arm-elf/libgloss'
make[1]: *** [all-target-libgloss] Error 2
make[1]: Leaving directory `/proj/buildcross/build/build_newlib'
make: *** [all] Error 2
I've not had time yet to decompose the different issues.
Regards Andreas
-----Original Message-----
From: Nick Clifton [mailto:nickc@redhat.com]
Sent: den 22 april 2008 08:58
To: info.gnu@rt-labs.com; mariusz.janiak@pwr.wroc.pl
Cc: newlib@sources.redhat.com
Subject: Re: arm-elf thumb-2 issue in newlib or gas?
Hi Andreas, Hi Mariusz,
> Assembler messages:
>
../../../../../../../../newlib-1.16.0/newlib/libc/machine/arm/setjmp.S:123:
> Error: SP not allowed in register list -- `stmea a1!,{v1-v7,fp,ip,sp,lr}'
This is a newlib issue.
Please could you try out the attached patch which I believe will resolve
it for you. If you can confirm this I will check the patch in.
Cheers
Nick
newlib/ChangeLog
2008-04-22 Nick Clifton <nickc@redhat.com>
* libc/machine/arm/setjmp.S: Add support for thumb2 multiple
register load/store instructions.
More information about the Newlib
mailing list