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