From mboxrd@z Thu Jan 1 00:00:00 1970 From: hjl@lucon.org (H.J. Lu) To: law@cygnus.com Cc: drepper@gnu.org, egcs@cygnus.com, gcc2@cygnus.com Subject: Re: gcc 2.8.0 is broken on linux/x86 Date: Fri, 12 Dec 1997 03:55:00 -0000 Message-id: References: <16262.881898931@hurl.cygnus.com> X-SW-Source: 1997-12/msg00724.html > > > In message you write: > > > Or, look into the possibility that other tests might expose the problem, > > > but which you can directly debug (I get the impression you can't debug th > > e > > > dynamic linker at this point in time). > > > > > > > I can debug the dynamic linker under linux 2.0.32. But it is hard > > to create a small test case. Ulrich will tell you that :-(. I will > > see what I can do. > I'm not all that worried about a small testcase. If you can point to > hunk of code that's miscompiled and explain what's wrong with the assembly > code I'm sure we'll be able to fix the problem. > > jeff > Here is the diff against dl-reloc.bad.s to generate a working dl-reloc.s. It seems to work fine. Thanks. -- H.J. Lu (hjl@gnu.org) --- --- dl-reloc.bad.s Thu Dec 11 21:54:43 1997 +++ dl-reloc.fixed.s Thu Dec 11 22:44:20 1997 @@ -264,7 +264,7 @@ addl -68(%ebp),%eax movl (%ecx),%edx movl -52(%ebp),%ecx - movl %eax,16(%ebp) + movl %eax,-24(%ebp) movl (%ecx),%edi movl -160(%ebp),%ecx addl %edx,%edi @@ -299,7 +299,7 @@ pushl %eax leal -24(%ebp),%eax pushl %eax - movl -24(%ebp),%eax + movl -80(%ebp),%eax movl (%eax),%eax addl -8(%ecx),%eax pushl %eax @@ -475,7 +475,7 @@ movl -68(%ebp),%edx sall $4,%eax addl %eax,%edx - movl %edx,16(%ebp) + movl %edx,-24(%ebp) xorl %eax,%eax movb (%ecx),%al cmpl $8,%eax @@ -722,7 +722,7 @@ addl -104(%ebp),%eax movl (%ecx),%edx movl -88(%ebp),%ecx - movl %eax,16(%ebp) + movl %eax,-24(%ebp) movl (%ecx),%edi movl -152(%ebp),%ecx addl %edx,%edi @@ -757,7 +757,7 @@ pushl %eax leal -24(%ebp),%eax pushl %eax - movl -24(%ebp),%eax + movl -116(%ebp),%eax movl (%eax),%eax addl -8(%ecx),%eax pushl %eax @@ -933,7 +933,7 @@ movl -104(%ebp),%edx sall $4,%eax addl %eax,%edx - movl %edx,16(%ebp) + movl %edx,-24(%ebp) xorl %eax,%eax movb (%ecx),%al cmpl $8,%eax