Hi all! Wow, great this list still works! *Shess*, I sure could use it's help with a big problem I am having! :-/
And sorry about my double-post yesterday, my connection was lagging and it appeared like the mail hadn't got sent. Anyway, here's my really big problem: The "lcomm Bug": I'm stuck in chapter 5, with the "toupper" program. I typed it in, it assembles and links fine, but when I try to execute it, I get this really weird message from the shell that the programm got "killed" and was not executed. It seems somehow my Linux system or whatever is causing me tremendous problems with the "lcomm" command line. You know, this line here: ------------------------- lcomm BUFFER_DATA, BUFFER_SIZE ------------------------- On page 82 in the .section .bss. I tipped in the program and it assembles and links fine, but when I run it, I get a message >from my Slackware shell (zsh): -------------------------- zsh: killed toupper.exe -------------------------- (I name all my executables .exe) The new file is not generated. I tried debugging it with gdb: First I re-compiled it with: as --gstabs toupper.s -o toupper.o Then I re-linked it and then started gbd with: gdb toupper.exe gdb runs fine, but when I tried running the program by typing: run gdb replied: ------------------------- Program terminated with SIGKILL, Killed. The program no longer exists. You can't do that without a process to debug. <gdb> ------------------------- After that I tried finding the error by hand and did a lot experimenting and cutting. I now have the problematic code shortened to the following complete program which reproduces the error on my Slackware 12.0 box: --------------------------------------------- # lcommbug - Reproduces lcomm error! .section .bss .lcomm BUFFER_DATA, 500 # Reserve buffer .section .text .globl _start _start: movl $1, %eax # System call 1 to exit movl $0, %ebx # Put exit code 0 in %ebx movl $3, %ebx # Put exit code 3 in %ebx int $0x80 # Interrupt call to Linux --------------------------------------------- Here's the REALLY weird thing: When I run this program it gets killed by my shell as mentioned. However: If I comment out the line containing the "lcomm" command, OR EITHER one of the lines moving a value into %ebx, I don't get the "killed" error and everything's peachy! Isn't that really weird? - First I thought it was because of some defective hard disks I was running, but now I have a 100% certified error free hard disk and a brand new Linux Slackware 12.0 installation and it's doing the same thing. The funny thing is, that with Slackware 9.1 (which I had on this hard disk from an unused former Linux box before re-installing Slackware 12) this error does NOT occur. So far it only occurs on Slackware 12.0, not on Slackware 9.1. So maybe this has something to do with the new kernel 2.6? I literally lost about 4 days with this problem and my broken hard disks, re-installing Slackware about 6 times and I still can't figure it out. If anyone has an idea, boy I sure would be thankful to get to the bottom of this. Best regards, Mark -- Psssst! Schon vom neuen GMX MultiMessenger gehört? Der kanns mit allen: http://www.gmx.net/de/go/multimessenger _______________________________________________ Pgubook-readers mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/pgubook-readers
