Try changing "=r" to "=&r" and see if the situation improves.

p.

On Thu, 2006-06-29 at 22:43 +0200, Michael 'Mickey' Lauer wrote:
> Hi,
> 
> Qt doesn't compile for arm-eabi w/ g++ 4.1.1. The problem manifests like
> that:
> 
> ccache arm-angstrom-linux-gnueabi-g++ -march=armv5te -mtune=xscale -c
> -pipe -isystem/local/pkg/oe/spitz/tmp/staging/arm-angstr
> om-linux-gnueabi/include -fexpensive-optimizations -fomit-frame-pointer
> -frename-registers -Os -isystem/local/pkg/oe/spitz/tmp
> /staging/arm-angstrom-linux-gnueabi/include -fexpensive-optimizations
> -fomit-frame-pointer -frename-registers -Os -fpermissive
>  -I/local/pkg/oe/spitz/tmp/staging/arm-angstrom-linux-gnueabi/include
> -I/local/pkg/oe/spitz/tmp/staging/arm-angstrom-linux-gnu
> eabi/include/freetype2
> -I/local/pkg/oe/spitz/tmp/staging/arm-angstrom-linux-gnueabi/include/mysql 
> -O2 -Wall -W -D_REENTRANT -f
> PIC  -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT3_SUPPORT -DQT_MOC_COMPAT
> -DQT_NO_XIM -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFIL
> E_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include
> -I../../include/QtCore -Iglobal -I../3rdparty/zlib -I.moc/release-share
> d -I. -o .obj/release-shared/qglobal.o global/qglobal.cpp
> {standard input}: Assembler messages:
> {standard input}:243: Error: Rn must not overlap other operands -- `swpb
> r1,r0,[r1]'
> {standard input}:387: Error: Rn must not overlap other operands -- `swpb
> r1,r6,[r1]'
> {standard input}:837: Error: Rn must not overlap other operands -- `swpb
> r1,r4,[r1]'
> {standard input}:1528: Error: Rn must not overlap other operands --
> `swpb r1,ip,[r1]'
> {standard input}:1726: Error: Rn must not overlap other operands --
> `swpb r1,lr,[r1]'
> {standard input}:1895: Error: Rn must not overlap other operands --
> `swpb r1,r3,[r1]'
> make[3]: *** [.obj/release-shared/qglobal.o] Fehler 1
> 
> The offending source is in qatomic.h:
> 
> inline char q_atomic_swp(volatile char *ptr, char newval)
> {
>     register int ret;
>     asm volatile("swpb %2,%1,[%0]"
>                  : "=r"(ret)
>                  : "r"(newval), "r"(ptr)
>                  : "cc", "memory");
>     return ret;
> }
> 
> Looks like the new toolchain has a more strict asm checking -- arm asm
> expert with an idea how to repair that?
> 

_______________________________________________
Oe mailing list
[email protected]
https://www.handhelds.org/mailman/listinfo/oe

Reply via email to