Joachim Durchholz
2008-Feb-27 09:09 UTC
[LLVMdev] llvm/test: suffix or operands invalid for `push'
Hi all again, llvm is failing the 2006-11-30-NoCompileUnit and 2006-11-30-Pubnames tests on me. -m32 and --disable-multilib didn't change the outcome. Did I get the command wrong? I tried jo at kurier:~/Delta/llvm/test$ CFLAGS=--multilib make check See below for a transcript of the failed check. What next? Regards, Jo -- snip -- jo at kurier:~/Delta/llvm/test$ make check llvm[0]: Running test suite make[1]: Betrete Verzeichnis '/home/jo/Delta/llvm/test' ( ulimit -t 600 ; ulimit -d 512000 ; \ PATH="/home/jo/Delta/llvm/Debug/bin:/home/jo/Delta/llvm/test/Scripts:/home/jo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" \ /usr/bin/runtest --ignore "llvm2cpp.exp ocaml.exp" ) WARNING: No tool specified Test Run By jo on Wed Feb 27 10:02:12 2008 Native configuration is x86_64-unknown-linux-gnu === tests == Schedule of variations: unix Running target unix Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target. Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. WARNING: Couldn't find tool config file for unix, using default. Running /home/jo/Delta/llvm/test/Analysis/Andersens/dg.exp ... Running /home/jo/Delta/llvm/test/Analysis/BasicAA/dg.exp ... Running /home/jo/Delta/llvm/test/Analysis/Dominators/dg.exp ... Running /home/jo/Delta/llvm/test/Analysis/GlobalsModRef/dg.exp ... Running /home/jo/Delta/llvm/test/Analysis/LoadVN/dg.exp ... Running /home/jo/Delta/llvm/test/Analysis/LoopInfo/dg.exp ... Running /home/jo/Delta/llvm/test/Analysis/ScalarEvolution/dg.exp ... Running /home/jo/Delta/llvm/test/Archive/dg.exp ... Running /home/jo/Delta/llvm/test/Assembler/dg.exp ... Running /home/jo/Delta/llvm/test/Bitcode/dg.exp ... Running /home/jo/Delta/llvm/test/BugPoint/dg.exp ... Running /home/jo/Delta/llvm/test/C++Frontend/dg.exp ... FAIL: /home/jo/Delta/llvm/test/C++Frontend/2006-11-30-NoCompileUnit.cpp Failed with exit(1) at line 2 while running: as NoCompileUnit.s -o NoCompileUnit.o NoCompileUnit.s: Assembler messages: NoCompileUnit.s:33: Error: suffix or operands invalid for `push' NoCompileUnit.s:52: Error: suffix or operands invalid for `pop' NoCompileUnit.s:64: Error: suffix or operands invalid for `push' NoCompileUnit.s:83: Error: suffix or operands invalid for `pop' NoCompileUnit.s:95: Error: suffix or operands invalid for `push' NoCompileUnit.s:116: Error: suffix or operands invalid for `pop' NoCompileUnit.s:128: Error: suffix or operands invalid for `push' NoCompileUnit.s:225: Error: suffix or operands invalid for `pop' NoCompileUnit.s:237: Error: suffix or operands invalid for `push' NoCompileUnit.s:243: Error: suffix or operands invalid for `push' NoCompileUnit.s:268: Error: suffix or operands invalid for `pop' NoCompileUnit.s:269: Error: suffix or operands invalid for `pop' FAIL: /home/jo/Delta/llvm/test/C++Frontend/2006-11-30-Pubnames.cpp Failed with exit(1) at line 2 while running: as 2006-11-30-Pubnames.cpp.tmp.s -o 2006-11-30-Pubnames.cpp.tmp.o 2006-11-30-Pubnames.cpp.tmp.s: Assembler messages: 2006-11-30-Pubnames.cpp.tmp.s:33: Error: suffix or operands invalid for `push' 2006-11-30-Pubnames.cpp.tmp.s:55: Error: suffix or operands invalid for `pop' Running /home/jo/Delta/llvm/test/CFrontend/dg.exp ... Running /home/jo/Delta/llvm/test/CodeGen/ARM/dg.exp ... Running /home/jo/Delta/llvm/test/CodeGen/Alpha/dg.exp ... Running /home/jo/Delta/llvm/test/CodeGen/CBackend/dg.exp ... Running /home/jo/Delta/llvm/test/CodeGen/CellSPU/dg.exp ... Running /home/jo/Delta/llvm/test/CodeGen/Generic/GC/dg.exp ... Running /home/jo/Delta/llvm/test/CodeGen/Generic/dg.exp ... Running /home/jo/Delta/llvm/test/CodeGen/IA64/dg.exp ... Running /home/jo/Delta/llvm/test/CodeGen/PowerPC/dg.exp ... Running /home/jo/Delta/llvm/test/CodeGen/SPARC/dg.exp ... Running /home/jo/Delta/llvm/test/CodeGen/X86/dg.exp ... Running /home/jo/Delta/llvm/test/DebugInfo/dg.exp ... Running /home/jo/Delta/llvm/test/ExecutionEngine/dg.exp ... Running /home/jo/Delta/llvm/test/Feature/dg.exp ... Running /home/jo/Delta/llvm/test/FrontendAda/dg.exp ... Running /home/jo/Delta/llvm/test/FrontendObjC/dg.exp ... Running /home/jo/Delta/llvm/test/Integer/dg.exp ... Running /home/jo/Delta/llvm/test/Linker/dg.exp ... Running /home/jo/Delta/llvm/test/Other/dg.exp ... Running /home/jo/Delta/llvm/test/TableGen/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/ADCE/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/ArgumentPromotion/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/BlockPlacement/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/CodeExtractor/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/CondProp/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/ConstProp/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/ConstantMerge/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/CorrelatedExprs/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/DeadArgElim/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/DeadStoreElimination/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/DecomposeMultiDimRefs/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/GCSE/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/GVN/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/GVNPRE/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/GlobalDCE/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/GlobalOpt/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/IPConstantProp/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/IndVarsSimplify/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/Inline/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/InstCombine/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/LCSSA/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/LICM/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/LoopIndexSplit/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/LoopRotate/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/LoopSimplify/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/LoopStrengthReduce/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/LoopUnroll/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/LoopUnswitch/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/LowerInvoke/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/LowerSetJmp/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/LowerSwitch/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/Mem2Reg/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/PredicateSimplifier/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/PruneEH/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/RaiseAllocations/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/Reassociate/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/SCCP/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/ScalarRepl/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/SimplifyCFG/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/SimplifyLibCalls/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/StripSymbols/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/TailCallElim/dg.exp ... Running /home/jo/Delta/llvm/test/Transforms/TailDup/dg.exp ... Running /home/jo/Delta/llvm/test/Verifier/dg.exp ... === Summary == # of expected passes 2518 # of unexpected failures 2 # of expected failures 7 make[1]: *** [check-local] Fehler 1 make[1]: Verlasse Verzeichnis '/home/jo/Delta/llvm/test' make: *** [check] Fehler 2 jo at kurier:~/Delta/llvm/test$
Joachim Durchholz
2008-Feb-27 22:12 UTC
[LLVMdev] llvm/test: suffix or operands invalid for `push'
Some additional info: I just found the .s files mentioned in the error message, and checked them. All error messages refer to one of the following four instructions: pushl %ebp pushl %esi popl %ebp popl %esi It's always the same error, "suffix or operands invalid for `push'" (resp `pop'). There are no other push or pop instructions in any .s file. 2006-11-06-StackTrace is not listed during testing, and generates no error messages. All other .s files with pushl or popl are listed during testing and fail with the above-mentioned error message. Again: What should I try next? Regards, Jo
Dale Johannesen
2008-Feb-27 22:31 UTC
[LLVMdev] llvm/test: suffix or operands invalid for `push'
On Feb 27, 2008, at 2:12 PM, Joachim Durchholz wrote:> Some additional info: > > I just found the .s files mentioned in the error message, and checked > them. All error messages refer to one of the following four > instructions: > pushl %ebp > pushl %esi > popl %ebp > popl %esi > It's always the same error, "suffix or operands invalid for > `push'" (resp `pop').Those are valid instructions in every x86-32 assembler I'm aware of. Perhaps it needs a switch to put it in 32-bit mode? Perhaps it is not parsing tab characters?> There are no other push or pop instructions in any .s file. > 2006-11-06-StackTrace is not listed during testing, and generates no > error messages. All other .s files with pushl or popl are listed > during > testing and fail with the above-mentioned error message. > > Again: What should I try next? > > Regards, > Jo > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Joachim Durchholz
2008-Mar-03 10:49 UTC
[LLVMdev] llvm/test: suffix or operands invalid for `push'
Hi all, I found enough to explain the behaviour that I encountered. If I'm correct, the bugs are just in the dejagnu-based test machinery, not in LLVM itself. There seem to be two issues: Issue 1 is that the CC, CFLAGS, CXX, and CXXFLAGS settings are not reflected in the site.exp file. I had CC=gcc-4.2 CFLAGS="-m32 -Wl,-melf_i386" CXX=g++-4.2 CXXFLAGS=$CFLAGS ARCH=i686-pc-linux-gnu ./configure --prefix=$HOME --target=$ARCH --host=$ARCH --build=$ARCH but site.exp still has set gccpath "gcc" set gxxpath "g++" and no mention of -m32 or -Wl,elf_i386 (these options are required to force a 64-bit GNU toolchain into 32-bit mode). I don't know where these options are lost; I did a little looking around in the configure scripts, but didn't find any obvious problems and decided to leave this kind of issue to the autoconf experts :-) Issue 2 is that the RUN: lines in the dejagnu tests ignore $CC, $CXX, $CFLAGS and $CXXFLAGS when calling gcc, g++, or as (and possibly ld). In most cases things will happen to not fail, but the assembler choked on 32-bit opcodes when running in default mode (which is 64 bits on an amd64 machine, of course). If I'm correct, this is a bug in the tests, not in LLVM. Proposed bug fix would then be to replace in all test case files (hopefully I got the dejagnu macro syntax right): gcc -> %gccpath g++ -> %gxxpath as -> %gccpath (don't call 'as' directly, gcc knows how to call it!) ld -> %gccpath (just as with 'as') Can anybody confirm or correct these findings? Regards, Jo
Chris Lattner
2008-Mar-06 07:03 UTC
[LLVMdev] llvm/test: suffix or operands invalid for `push'
On Mar 3, 2008, at 2:49 AM, Joachim Durchholz wrote:> Hi all, > > I found enough to explain the behaviour that I encountered. If I'm > correct, the bugs are just in the dejagnu-based test machinery, not in > LLVM itself.Yep, I believe that. I haven't been following the whole thread very closely, what specific tests are affected here? Before making any significant and widespread changes to llvm/test, please change one test and propose it as a model for other tests. Thanks for working on this! -Chris> > There seem to be two issues: > > > Issue 1 is that the CC, CFLAGS, CXX, and CXXFLAGS settings are not > reflected in the site.exp file. I had > CC=gcc-4.2 > CFLAGS="-m32 -Wl,-melf_i386" > CXX=g++-4.2 > CXXFLAGS=$CFLAGS > ARCH=i686-pc-linux-gnu > ./configure --prefix=$HOME --target=$ARCH --host=$ARCH --build=$ARCH > but site.exp still has > set gccpath "gcc" > set gxxpath "g++" > and no mention of -m32 or -Wl,elf_i386 (these options are required to > force a 64-bit GNU toolchain into 32-bit mode). > > I don't know where these options are lost; I did a little looking > around > in the configure scripts, but didn't find any obvious problems and > decided to leave this kind of issue to the autoconf experts :-) > > > Issue 2 is that the RUN: lines in the dejagnu tests ignore $CC, $CXX, > $CFLAGS and $CXXFLAGS when calling gcc, g++, or as (and possibly > ld). In > most cases things will happen to not fail, but the assembler choked on > 32-bit opcodes when running in default mode (which is 64 bits on an > amd64 machine, of course). > > If I'm correct, this is a bug in the tests, not in LLVM. > Proposed bug fix would then be to replace in all test case files > (hopefully I got the dejagnu macro syntax right): > gcc -> %gccpath > g++ -> %gxxpath > as -> %gccpath (don't call 'as' directly, gcc knows how to call it!) > ld -> %gccpath (just as with 'as') > > > Can anybody confirm or correct these findings? > > Regards, > Jo > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Seemingly Similar Threads
- [LLVMdev] llvm/test: suffix or operands invalid for `push'
- [LLVMdev] llvm/test: suffix or operands invalid for `push'
- [LLVMdev] llvm/test: suffix or operands invalid for `push'
- [LLVMdev] llvm/test: suffix or operands invalid for `push'
- [LLVMdev] llvm/test: suffix or operands invalid for `push'