This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [discuss] RE: [PATCH] [1/2] x86_64: Pass -32 to the assembler when compiling the 32bit vsyscall pages


On Fri, Apr 21, 2006 at 09:25:33AM -0500, Baker, Brian (ISS - Houston) wrote:
> The credit for this should actually go to Dave Altobelli, not myself.
> 
> -----Original Message-----
> From: ak@suse.de [mailto:ak@suse.de] 
> Sent: Friday, April 21, 2006 2:42 AM
> To: torvalds@osdl.org
> Cc: discuss@x86-64.org; akpm@osdl.org; Baker, Brian (ISS - Houston)
> Subject: [PATCH] [1/2] x86_64: Pass -32 to the assembler when compiling
> the 32bit vsyscall pages
> 
> 
> This quietens warnings and actually fixes a bug. The unwind tables would
> come out wrong without -32, causing pthread cancellation during them 
> to crash in the gcc runtime.
> 
> The problem seems to only happen with newer binutils
> (it doesn't happen with 2.16.91.0.2 but happens wit 2.16.91.0.5) 

If you believe it is true, please open a bug report at

http://www.sourceware.org/bugzilla/

> 
> Thanks to Brian Baker @ HP for test case and initial analysis.
> 
> Cc: brian.b@hp.com
> 
> Signed-off-by: Andi Kleen <ak@suse.de>
> 
> ---
>  arch/x86_64/ia32/Makefile |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> Index: linux/arch/x86_64/ia32/Makefile
> ===================================================================
> --- linux.orig/arch/x86_64/ia32/Makefile
> +++ linux/arch/x86_64/ia32/Makefile
> @@ -27,5 +27,5 @@ $(obj)/vsyscall-sysenter.so $(obj)/vsysc
>  $(obj)/vsyscall-%.so: $(src)/vsyscall.lds $(obj)/vsyscall-%.o FORCE
>  	$(call if_changed,syscall)
>  
> -AFLAGS_vsyscall-sysenter.o = -m32
> -AFLAGS_vsyscall-syscall.o = -m32
> +AFLAGS_vsyscall-sysenter.o = -m32 -Wa,-32
> +AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32

I can't reproduce it 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.


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]