libgcj/5789: boehm-gc won't build on irix - irix assembler chokes on #indent
Billinghurst, David (CRTS)
David.Billinghurst@riotinto.com
Mon Mar 4 15:16:00 GMT 2002
The following reply was made to PR libgcj/5789; it has been noted by GNATS.
From: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>
To: "Zack Weinberg" <zack@codesourcery.com>
Cc: <java@gcc.gnu.org>,
<hans_boehm@hp.com>,
<gcc-gnats@gcc.gnu.org>,
<gcc-bugs@gcc.gnu.org>
Subject: RE: libgcj/5789: boehm-gc won't build on irix - irix assembler chokes on #indent
Date: Tue, 5 Mar 2002 07:08:51 +0800
Works a treat. I will start a full bootstrap.
-----Original Message-----
From: Zack Weinberg [mailto:zack@codesourcery.com]
Sent: Tuesday, 5 March 2002 3:26=20
To: Billinghurst, David (CRTS)
Cc: java@gcc.gnu.org; hans_boehm@hp.com; gcc-gnats@gcc.gnu.org;
gcc-bugs@gcc.gnu.org
Subject: Re: libgcj/5789: boehm-gc won't build on irix - irix assembler
chokes on #indent
On Sat, Mar 02, 2002 at 09:53:54AM +0800, Billinghurst, David (CRTS) =
wrote:
> Version: 3.1 and 3.2
> System: mips-sgi-irix6.5
>=20
> The problem
>=20
> Error compiling boehm-gc/mips_sgi_mach_dep.S
>=20
> as: Error: /usr/include/sys/regdef.h, line 17: Expected cpp-generated =
line number
> as INTERNAL ERROR: /usr/lib32/cmplrs/asm returned non-zero status 1
>=20
>=20
> Cause
>=20
> The Irix header files
> /usr/include/sys/regdef.h
> /usr/include/sgidefs.h
> /usr/include/sys/asm.h
> contain #ident "$Revision: 3.52 $" lines.
>=20
> The gcc cpp passess these through to the .s file, and the irix
> assembler chokes on them. =20
Sounds like it's incorrect to emit #ident lines in CPP when we're
processing assembly language. That's not hard -- please try this
patch.
zw
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Index: cppmain.c
--- cppmain.c 2002/01/03 21:43:06 1.90
+++ cppmain.c 2002/03/04 16:25:37
@@ -193,8 +193,13 @@ setup_callbacks ()
if (! options->no_output)
{
cb->line_change =3D cb_line_change;
- cb->ident =3D cb_ident;
- cb->def_pragma =3D cb_def_pragma;
+ /* Don't emit #pragma or #ident directives if we are processing
+ assembly language; the assembler may choke on them. */
+ if (options->lang !=3D CLK_ASM)
+ {
+ cb->ident =3D cb_ident;
+ cb->def_pragma =3D cb_def_pragma;
+ }
if (! options->no_line_commands)
cb->file_change =3D cb_file_change;
}
More information about the Gcc-prs
mailing list