pgubook-readers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Pgubook-readers] lcomm Bug in Chapter 5


From: Mark Schmid
Subject: Re: [Pgubook-readers] lcomm Bug in Chapter 5
Date: Fri, 21 Sep 2007 22:04:34 +0200

Lcomm Bug #2:

I've done some more "hunting" for this bug:
I installed Slackware 9.1 and 12.0 on
one and the same box and it's confirmed, that
this "lcomm" bug appears only in Slackware 12.0
and not in slackware 9.1. Since the hard disk is
checked and error-free, the bug is definitely not 
hardware related.

I typed in the "lcommbug" program which reproduces
the error on Slackware 9.1 and it does not
create the "killed" error there. Then I copied
"lcommbug.s", "lcommug.o" and the executable
"lcommbug.exe" to the Slackware 12.0 installation
and ran them there.
Here's the outcomme:
Running "lcommbug.exe" that was assembled and
linked on 9.1 on 12.0 does NOT generate the
error, so the error is not generated by running 
a working executable, but is being assembled or 
linked into the executable!
Assembling AND linking "lcommbug.s" on 12.0
DOES generate the error, so the bug is generated
either in assembly or in linking.
Linking "lcommbug.o" which was assembled on
9.1 on 12.0 ALSO generates the error, even
if "lcommbug.o" was assembled on 9.1 and works
fine there, so obviously it MUST be the linking
process which screws things up on Slackware
12.0, but works FINE on Slackware 9.1.

Now I'm really not a Linux guru, so I really could
use any ideas what could cause the linker to
do something different on Slackware 9.1 than
on Slackware 12.0?
Is it perhaps really related to the kernel
2.6.21.5-smp which I am running on Slackware 12.0?

Is *anyone* else running that kernel and did not
have any problems with "toupper" and "lcomm"?

Has the linker "ld" been changed the last 4-5 years?

*I wish there wouldn't be any bugs...*

Greetings,
Mark



-------- Original-Nachricht --------
> Datum: Fri, 21 Sep 2007 11:58:03 +0200
> Von: "Mark Schmid" <address@hidden>
> An: address@hidden
> Betreff: [Pgubook-readers] lcomm Bug in Chapter 5

> 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
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/pgubook-readers

-- 
Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten 
Browser-Versionen downloaden: http://www.gmx.net/de/go/browser




reply via email to

[Prev in Thread] Current Thread [Next in Thread]