Well... $ ~/software/llvm-gcc4.2-2.5-x86-linux-RHEL4/bin/llvm-gcc -g gdb1.c -o gdb1 /tmp/ccbAj8x9.s: Assembler messages: /tmp/ccbAj8x9.s:35: Error: suffix or operands invalid for `push' /tmp/ccbAj8x9.s:44: Error: suffix or operands invalid for `pop' /tmp/ccbAj8x9.s:56: Error: suffix or operands invalid for `push' /tmp/ccbAj8x9.s:65: Error: suffix or operands invalid for `pop' /tmp/ccbAj8x9.s:77: Error: suffix or operands invalid for `push' /tmp/ccbAj8x9.s:94: Error: suffix or operands invalid for `pop' Don't know what that's about. If I use the -S option and then compile the .s file with gcc, it works fine (but again, can't set breakpoints in gdb). I am currently using gdb 6.6. Will try 6.8... Thanks -- Ken Argiris Kirtzidis wrote:> > Ken McMillan wrote: >> I see. Here's another interesting issue: >> >> (gdb) b gdb1.c:4 >> No line 4 in file "gdb1.c". >> (gdb) step >> foo () at /home/mcmillan/projects/impact2/test//gdb1.c:4 >> 4 x++; >> (gdb) >> >> You can see that I can step to line 4, but I can't set a breakpoint >> there. >> > > Works fine here (llvm 2.5, 32 bit, gdb 6.8) > > Try > > llc -disable-fp-elim -fast gdb1.bc > > If you do > llvm-gcc -g gdb1.c -o gdb1 > > does it have the same issue ? > > > -Argiris > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-- View this message in context: http://www.nabble.com/problems-with-dwarf-gdb-tp23033690p23147192.html Sent from the LLVM - Dev mailing list archive at Nabble.com.
On Apr 20, 2009, at 5:06 PMPDT, Ken McMillan wrote:> > Well... > > $ ~/software/llvm-gcc4.2-2.5-x86-linux-RHEL4/bin/llvm-gcc -g gdb1.c - > o gdb1 > /tmp/ccbAj8x9.s: Assembler messages: > /tmp/ccbAj8x9.s:35: Error: suffix or operands invalid for `push' > /tmp/ccbAj8x9.s:44: Error: suffix or operands invalid for `pop' > /tmp/ccbAj8x9.s:56: Error: suffix or operands invalid for `push' > /tmp/ccbAj8x9.s:65: Error: suffix or operands invalid for `pop' > /tmp/ccbAj8x9.s:77: Error: suffix or operands invalid for `push' > /tmp/ccbAj8x9.s:94: Error: suffix or operands invalid for `pop' > > Don't know what that's about. If I use the -S option and then > compile the .s file with gcc, it works fine (but again, can't set > breakpoints in gdb).This means your llvm-gcc is producing 64-bit code and invoking the assembler with a 32-bit option, or vice versa. Run gcc -v to see the option you need to pass. Other people have reported this, I don't recall how it is fixed (doesn't affect my system).> I am currently using gdb 6.6. Will try 6.8... > > Thanks -- Ken > > > > Argiris Kirtzidis wrote: >> >> Ken McMillan wrote: >>> I see. Here's another interesting issue: >>> >>> (gdb) b gdb1.c:4 >>> No line 4 in file "gdb1.c". >>> (gdb) step >>> foo () at /home/mcmillan/projects/impact2/test//gdb1.c:4 >>> 4 x++; >>> (gdb) >>> >>> You can see that I can step to line 4, but I can't set a breakpoint >>> there. >>> >> >> Works fine here (llvm 2.5, 32 bit, gdb 6.8) >> >> Try >> >> llc -disable-fp-elim -fast gdb1.bc >> >> If you do >> llvm-gcc -g gdb1.c -o gdb1 >> >> does it have the same issue ? >> >> >> -Argiris >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> > > -- > View this message in context: http://www.nabble.com/problems-with-dwarf-gdb-tp23033690p23147192.html > Sent from the LLVM - Dev mailing list archive at Nabble.com. > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
On Apr 20, 2009, at 8:18 PM, Dale Johannesen wrote:> > On Apr 20, 2009, at 5:06 PMPDT, Ken McMillan wrote: > >> >> Well... >> >> $ ~/software/llvm-gcc4.2-2.5-x86-linux-RHEL4/bin/llvm-gcc -g gdb1.c - >> o gdb1 >> /tmp/ccbAj8x9.s: Assembler messages: >> /tmp/ccbAj8x9.s:35: Error: suffix or operands invalid for `push' >> /tmp/ccbAj8x9.s:44: Error: suffix or operands invalid for `pop' >> /tmp/ccbAj8x9.s:56: Error: suffix or operands invalid for `push' >> /tmp/ccbAj8x9.s:65: Error: suffix or operands invalid for `pop' >> /tmp/ccbAj8x9.s:77: Error: suffix or operands invalid for `push' >> /tmp/ccbAj8x9.s:94: Error: suffix or operands invalid for `pop' >> >> Don't know what that's about. If I use the -S option and then >> compile the .s file with gcc, it works fine (but again, can't set >> breakpoints in gdb). > > This means your llvm-gcc is producing 64-bit code and invoking the > assembler with a 32-bit option, or vice versa. Run gcc -v to see the > option you need to pass. Other people have reported this, I don't > recall how it is fixed (doesn't affect my system). >Here is the previous post: http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-March/020979.html