This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [discuss] RE: [PATCH] [1/2] x86_64: Pass -32 to the assembler when compiling the 32bit vsyscall pages
- From: Andi Kleen <ak at suse dot de>
- To: "H. J. Lu" <hjl at lucon dot org>
- Cc: discuss at x86-64 dot org, "Baker, Brian (ISS - Houston)" <Brian dot B at hp dot com>, torvalds at osdl dot org, akpm at osdl dot org, "Altobelli, David" <david dot altobelli at hp dot com>, binutils at sources dot redhat dot com
- Date: Sat, 22 Apr 2006 01:56:21 +0200
- Subject: Re: [discuss] RE: [PATCH] [1/2] x86_64: Pass -32 to the assembler when compiling the 32bit vsyscall pages
- References: <6095103C4F0ACD4FAE3522E0F27ADF42022CEE33@cceexc13.americas.cpqcorp.net> <200604220025.53501.ak@suse.de> <20060421233244.GA16692@lucon.org>
On Saturday 22 April 2006 01:32, H. J. Lu wrote:
> > You have to recompile the file and either run the pthreads
> > cancellation test case with the right glibc version, or examine
> > the unwind tables in the .so by hand. Or just check if the warning
> > appears or not.
>
> There is no need to do that. If you believe the problem is due to
> binutils 2.16.91.0.5, it is a binutils bug. Please open a bug report
> at
I'm not sure - it is reasonable for binutils to expect --32 to be passed
And the linker did warn about it after all - just I made the mistake
of ignoring it before.
The only reason I mentioned binutils is that it didn't happen with
older binutils/gcc releases.
>
> http://www.sourceware.org/bugzilla/
>
> and assign it to me. I need the preprocessed .s file, the expected .o
> file and the expected .so file with procedures to reproduce the
> difference. Since they are assembly codes, I will expect -m32 and
> -m32 -Wa,-32 should generate the same output.
I don't have time to extract a test case out of this right now, sorry.
I guess you could though.
>
> >
> > > with binutils 2.16.91.0.5. Unless you have a bad
> > > gcc driver, -m32 will pass --32 to assembler, which is the same as -32.
> >
> > It definitely fixed the problem here and the warning went away.
> > gcc used was 4.1
> >
> > But you're right it could have been the gcc - in the case where it worked
> > I was using gcc 4.0.
> >
>
> Since they are assembly codes, it sounds like a gcc driver issue to me.
Might be. The way the assembly is built is a bit funky because it's a
shared library.
-Andi