This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: .register pseudo-op (Was: PR 10656 and PR 10657)
- From: Anthony Green <green at redhat dot com>
- To: Mark Mitchell <mark at codesourcery dot com>, gcc-patches at gcc dot gnu dot org
- Cc: java at gcc dot gnu dot org, Jeff Sturm <jsturm at one-point dot com>
- Date: 08 May 2003 05:31:17 -0700
- Subject: Re: .register pseudo-op (Was: PR 10656 and PR 10657)
- References: <Pine.LNX.4.44.0305071649110.31957-100000@ops2.one-point.com>
I confirmed that this patch solves the bootstrap problem on Solaris 7
with the unpatched .register-less Sun assembler. Ok for 3.3 and trunk?
AG
On Wed, 2003-05-07 at 13:50, Jeff Sturm wrote:
> On 7 May 2003, Anthony Green wrote:
> > On Wed, 2003-05-07 at 08:29, Jeff Sturm wrote:
> > > But as the author of the code in question, I'm looking at it now... I'm
> > > willing to try a fix if someone can test on 7.
> >
> > I can.
>
> Great. I'm testing the following on Solaris 8 with Sun as/ld and GNU
> binutils.
>
> 2003-05-07 Jeff Sturm <jsturm@one-point.com>
>
> Fixes PR bootstrap/10656.
> * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
> support for .register psuedo-op.
> * src/sparc/v8.S: Use it.
> * fficonfig.h.in: Rebuilt.
> * configure: Rebuilt.
>
> Index: configure.in
> ===================================================================
> RCS file: /cvs/gcc/gcc/libffi/configure.in,v
> retrieving revision 1.33.2.4
> diff -u -p -r1.33.2.4 configure.in
> --- configure.in 20 Feb 2003 09:12:03 -0000 1.33.2.4
> +++ configure.in 7 May 2003 20:38:56 -0000
> @@ -133,6 +133,19 @@ if test x$TARGET = xSPARC; then
> AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
> [Define if your assembler and linker support unaligned PC relative relocs.])
> fi
> +
> + AC_CACHE_CHECK([assembler .register pseudo-op support],
> + libffi_cv_as_register_pseudo_op, [
> + libffi_cv_as_register_pseudo_op=unknown
> + # Check if we have .register
> + AC_TRY_COMPILE([asm (".register %g2, #scratch");],,
> + [libffi_cv_as_register_pseudo_op=yes],
> + [libffi_cv_as_register_pseudo_op=no])
> + ])
> + if test "x$libffi_cv_as_register_pseudo_op" = xyes; then
> + AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
> + [Define if your assembler supports .register.])
> + fi
> fi
>
> AC_SUBST(TARGET)
> Index: src/sparc/v8.S
> ===================================================================
> RCS file: /cvs/gcc/gcc/libffi/src/sparc/v8.S,v
> retrieving revision 1.6.20.1
> diff -u -p -r1.6.20.1 v8.S
> --- src/sparc/v8.S 4 Jan 2003 03:13:28 -0000 1.6.20.1
> +++ src/sparc/v8.S 7 May 2003 20:38:56 -0000
> @@ -109,7 +109,9 @@ longlong:
> .globl ffi_closure_v8
>
> ffi_closure_v8:
> +#ifdef HAVE_AS_REGISTER_PSEUDO_OP
> .register %g2, #scratch
> +#endif
> .LLFB2:
> save %sp, -STACKFRAME, %sp
> .LLCFI1: