This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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: Patch to rework IRIX configurations, and require gas


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,


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