This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: 2.12.90.0.12 Kernel Miscompile
- From: "H. J. Lu" <hjl at lucon dot org>
- To: "Leonard N. Zubkoff" <lnz at dandelion dot com>
- Cc: rsandifo at redhat dot com, binutils at sources dot redhat dot com,amodra at bigpond dot net dot au
- Date: Tue, 25 Jun 2002 11:56:53 -0700
- Subject: Re: 2.12.90.0.12 Kernel Miscompile
- References: <20020625084948.A19332@lucon.org> <200206251703.g5PH3aFk001217@dandelion.com>
On Tue, Jun 25, 2002 at 10:03:36AM -0700, Leonard Zubkoff wrote:
> Date: Tue, 25 Jun 2002 08:49:48 -0700
> From: "H. J. Lu" <hjl@lucon.org>
>
> You should be to copy ld/as over if you have the right shared libraries
> installed or you don't use --enable-shared for configure. Since you
> have isolated it to one file, you can even try as/ld by hand.
>
> LD is the guilty party. AS is fine.
>
> BTW, can you tell me how I can duplicate it on 2.2.2x, assuming I only
> have very limited user space binaries available for 2.2 kernel.
>
> I founds it running xemacs over "ssh -X". The actual problem was an ioctl(5,
> 0x5309, 0) where file descriptor 5 is a network connection. That caused the
> copy_from_user code in question to OOPS or hang, rather than returning -EFAULT
> as it should. If you look at the dev_ioctl code, it has no protection against
> problems other than the copy_from_user code signalling an error. Xemacs will
> start up fine on my test machine and display on my workstation, but when I use
> C-X C-C to exit, the failure occurs, and the machine hangs.
>
> I imagine that whatever hackery is required to make the memory fault magic
> happen is busted with the latest version. Who knows, 2.4 may fail the same
> way.
Hi Richard,
Your change:
http://sources.redhat.com/ml/binutils/2002-06/msg00289.html
breaks the Linux kernel 2.2.21 on x86. Reverting
2002-06-10 Richard Sandiford <rsandifo@redhat.com>
* ldlang.c (lang_size_sections_1): Skip removed output sections.
fixes it. Could you please look into it?
Thanks.
H.J.