This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On (07/01/09 08:14), Matthias Kaehlcke wrote: > Hi Khem, > > El Mon, Jan 05, 2009 at 04:23:31PM -0800 Khem Raj ha dit: > > > On (02/01/09 18:52), Matthias Kaehlcke wrote: > > > hi, > > > > > > i ran into an error during the crosstool-ng build for a x86 > > > toolchain in the compilation of pthread_rwlock_tryrdlock.c: > > > > > > [ALL ] pthread_rwlock_tryrdlock.c: Assembler messages: > > > [ALL ] pthread_rwlock_tryrdlock.c:52: Error: suffix or operands > > > invalid for `mov' > > > [ERROR] make[3]: *** > > > [/data/prog/embedded/toolchains/ct-ng-build/targets/i386-unknown-linux-gnu/build/build-libc/nptl/pthread_rwlock_tryrdlock.o] > > > Error 1 > > > > I think this error is coming from lll_lock defined in > > ./nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h. In the inline asm it > > says "g" (private) this tells compiler to chose from any > > register, memory or immediate integer operand. So in your case compiler > > choses register bl because __shared is unsigned chari and this instruction does not expect that. Note that > > its not possible to do a lot of checks on inline code for the compiler > > where as assembler can do better here in catching the error and it does. > > > > what opt level are you using? for me it works with -O2 and above > > but I get same errors with O O1 or Os > > i build the toolchain with -O > > > may be typecasting private to (int) private would help here try this > > patch attached it might help. > > after applying your patch pthread_rwlock_tryrdlock.c compiles. > > the build now stops with another error in nptl: > > [ALL ] make[3]: *** No rule to make target > `/data/prog/embedded/toolchains/ct-ng-build/targets/i386-unknown-linux-gnu/build/build-libc/nptl/pthread_spin_trylock.o', > needed by `lib-noranlib'. Stop. Do you really need to build for i386 ? if not then I would suggest try to build for i486-linux-gnu. -Khem -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |