Recent ia64 assembler change is incompatible with gcc 3.4

James E Wilson wilson@specifixinc.com
Tue Feb 1 22:27:00 GMT 2005


On Tue, 2005-02-01 at 13:57, H. J. Lu wrote:
> I think it may be a gcc bug. Consider
> ".body" is missing from the gcc source.

I was looking at the wrong sources.  gcc-4 has the .body directive, and
it wasn't until I failed to reproduce the problem that I realized that I
was looking at the wrong tree.  Yes, gcc-3.4 is missing the .body. 
Something like this should work.  The .body can be put anywhere after
the last prologue directive, the earlier the better.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com

-------------- next part --------------
2005-02-01  James E. Wilson  <wilson@specifixinc.com>

	* src/ia64/unix.S (ffi_closure_UNIX): Add missing .body directive.

Index: unix.S
===================================================================
RCS file: /cvs/gcc/gcc/libffi/src/ia64/unix.S,v
retrieving revision 1.5.10.1
diff -p -r1.5.10.1 unix.S
*** unix.S	10 Jun 2004 08:19:58 -0000	1.5.10.1
--- unix.S	1 Feb 2005 22:20:50 -0000
*************** ffi_closure_UNIX:
*** 273,278 ****
--- 273,279 ----
  	mov	loc1=b0
  	.vframe	loc2
  	mov	loc2=sp
+ 	.body
  	/* Retrieve closure pointer and real gp.	*/
  	mov	out0=gp
  	add	gp=16,gp


More information about the Binutils mailing list