This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch to rework IRIX configurations, and require gas
- From: Richard Sandiford <rsandifo at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: echristo at redhat dot com, David dot Billinghurst at riotinto dot com, ro at techfak dot uni-bielefeld dot de
- Date: Fri, 20 Aug 2004 11:21:32 +0100
- Subject: Re: Patch to rework IRIX configurations, and require gas
- References: <87oelc3ymw.fsf@redhat.com>
Richard Sandiford <rsandifo@redhat.com> writes:
> I'd appreciate it if the other IRIX regulars could give this a spin.
> Please let me know if you have any problems or objections. I'll be away
> for a few days, but if I hear nothing to the contrary, I'd like to commit
> the patch fairly soon after getting back.
Now done. I installed the patch as posted, but...
> - I guess there should be a configure-time error if the user hasn't
> provided a gas assembler. Not sure how to code that yet.
>
> - The patch doesn't include any docs changes. I'll make sure to
> add them before committing.
...added these bits too. I've attached them below. Wrt install.texi:
I wasn't sure whether IRIX5 still requires GNU ld for debug info,
but I left it as it is for now.
Please let me know if there are any problems.
Richard
* configure.ac (mips*-*-*): Print an error if not using GAS.
* configure: Regenerated.
* doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
comments about buggy MIPSpro assemblers.
Index: configure.ac
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.ac,v
retrieving revision 2.54
diff -c -p -F^\([(a-zA-Z0-9_]\|#define\) -r2.54 configure.ac
*** configure.ac 17 Aug 2004 07:26:46 -0000 2.54
--- configure.ac 20 Aug 2004 10:03:09 -0000
*************** foo: nop
*** 2674,2679 ****
--- 2674,2688 ----
else target_cpu_default="($target_cpu_default)|MASK_EXPLICIT_RELOCS"
fi])
+ if test x$gas_flag = xyes \
+ || test x"$host" != x"$build" \
+ || test ! -x "$gcc_cv_as" \
+ || "$gcc_cv_as" -v < /dev/null 2>&1 | grep GNU > /dev/null; then
+ :
+ else
+ echo "*** This configuration requires the GNU assembler" >&2
+ exit 1
+ fi
;;
esac
# ??? Not all targets support dwarf2 debug_line, even within a version
Index: doc/install.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/install.texi,v
retrieving revision 1.306
diff -c -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.306 install.texi
*** doc/install.texi 19 Aug 2004 18:12:25 -0000 1.306
--- doc/install.texi 20 Aug 2004 10:03:14 -0000
*************** whether you use the GNU assembler. On a
*** 788,801 ****
@item @samp{m68k-hp-hpux}
@item @samp{m68000-hp-hpux}
@item @samp{m68000-att-sysv}
- @item @samp{mips-@var{any}}
@item @samp{sparc-sun-solaris2.@var{any}}
@item @samp{sparc64-@var{any}-solaris2.@var{any}}
@end itemize
On the systems listed above (except for the HP-PA, the SPARC, for ISC on
! the 386, and for @samp{mips-sgi-irix5.*}), if you use the GNU assembler,
! you should also use the GNU linker (and specify @option{--with-gnu-ld}).
@item @anchor{with-as}--with-as=@var{pathname}
Specify that the
--- 788,800 ----
@item @samp{m68k-hp-hpux}
@item @samp{m68000-hp-hpux}
@item @samp{m68000-att-sysv}
@item @samp{sparc-sun-solaris2.@var{any}}
@item @samp{sparc64-@var{any}-solaris2.@var{any}}
@end itemize
On the systems listed above (except for the HP-PA, the SPARC, for ISC on
! the 386, if you use the GNU assembler, you should also use the GNU linker
! (and specify @option{--with-gnu-ld}).
@item @anchor{with-as}--with-as=@var{pathname}
Specify that the
*************** to increase its table size for switch st
*** 3199,3207 ****
optimization option, you also need to use @option{-Olimit 3000}.
To enable debugging under IRIX 5, you must use GNU binutils 2.15 or
! later, and use the @option{--with-gnu-as} and @option{--with-gnu-ld}
! @command{configure} options when configuring GCC@. You need to use GNU
! @command{ar} and @command{nm}, also distributed with GNU binutils.
@html
<hr />
--- 3198,3206 ----
optimization option, you also need to use @option{-Olimit 3000}.
To enable debugging under IRIX 5, you must use GNU binutils 2.15 or
! later, and use the @option{--with-gnu-ld} @command{configure} option
! when configuring GCC@. You need to use GNU @command{ar} and @command{nm},
! also distributed with GNU binutils.
@html
<hr />
*************** test.o: ELF 64-bit MSB @dots{}
*** 3231,3242 ****
then your version of @command{cc} uses the O32 or N64 ABI by default. You
should set the environment variable @env{CC} to @samp{cc -n32}
! before configuring GCC@. SGI's MIPSpro 7.2 assembler may misassemble
! parts of the compiler, causing bootstrap failures. MIPSpro 7.3 is
! known to work. MIPSpro C 7.4 may cause bootstrap failures, too, due
! to a bug when inlining @code{memcmp}. Either add @code{-U__INLINE_INTRINSICS}
! to the @env{CC} environment variable as a workaround or upgrade to
! MIPSpro C 7.4.1m.
If you want the resulting @command{gcc} to run on old 32-bit systems
with the MIPS R4400 CPU, you need to ensure that only code for the @samp{mips3}
--- 3230,3236 ----
then your version of @command{cc} uses the O32 or N64 ABI by default. You
should set the environment variable @env{CC} to @samp{cc -n32}
! before configuring GCC@.
If you want the resulting @command{gcc} to run on old 32-bit systems
with the MIPS R4400 CPU, you need to ensure that only code for the @samp{mips3}
*************** test.o: ELF N32 MSB mips-4 @dots{}
*** 3259,3264 ****
--- 3253,3262 ----
instead, you should set the environment variable @env{CC} to @samp{cc
-n32 -mips3} or @samp{gcc -mips3} respectively before configuring GCC@.
+ MIPSpro C 7.4 may cause bootstrap failures, due to a bug when inlining
+ @code{memcmp}. Either add @code{-U__INLINE_INTRINSICS} to the @env{CC}
+ environment variable as a workaround or upgrade to MIPSpro C 7.4.1m.
+
GCC on IRIX 6 is usually built to support the N32, O32 and N64 ABIs. If
you build GCC on a system that doesn't have the N64 libraries installed
or cannot run 64-bit binaries,