This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gcc 2.8.0 is broken on linux/x86
- To: law at cygnus dot com
- Subject: Re: gcc 2.8.0 is broken on linux/x86
- From: hjl at lucon dot org (H.J. Lu)
- Date: Thu, 11 Dec 1997 23:17:02 -0800 (PST)
- Cc: drepper at gnu dot org, egcs at cygnus dot com, gcc2 at cygnus dot com
- Reply-To: egcs at cygnus dot com
>
>
> In message <m0xgM5x-0004ecC@ocean.lucon.org>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