Patchwork [build] Only build mips-tfile, mips-tdump native (PR target/3746)

login
register
mail settings
Submitter Rainer Orth
Date May 24, 2011, 5:51 p.m.
Message ID <yddwrhgf0mw.fsf@manam.CeBiTec.Uni-Bielefeld.DE>
Download mbox | patch
Permalink /patch/97192/
State New
Headers show

Comments

Rainer Orth - May 24, 2011, 5:51 p.m.
There's a long-standing PR that mips-tfile and mips-tdump fail to
compile in a cross.  This happens because both refer to non-existant
mips/a.out.h files in the cross-compilation case.  Since the tools are
now only used on Tru64 UNIX and gas/gld don't work for that target,
there's no point in trying to build them.  Besides, if gas worked,
mips-tfile wouldn't be needed at all.

The following patch only enables them native, and removes cross support
from mips-tfile.c/mips-tdump.c.

Bootstrapped without regressions on alpha-dec-osf5.1b and verified that
a i386-pc-solaris2.10 x alpha-dec-osf5.1b only dies when trying to build
libgcc due to lack of assembler and target headers.

Installed on mainline.

	Rainer


2011-05-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR target/3746
	* config.gcc (alpha*-dec-osf5.1*): Only build mips-tfile,
	mips-tdump native.
	* mips-tfile.c: Remove CROSS_DIRECTORY_STRUCTURE handling.
	* mips-tdump.c: Likewise.

Patch

diff --git a/gcc/config.gcc b/gcc/config.gcc
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -748,7 +748,9 @@  alpha*-dec-osf5.1*)
 	then
 		tm_file="${tm_file} dbx.h"
 	fi
-	if test x$gas != xyes
+	# mips-tfile and mips-tdump are only used with the native assembler
+	# and require the Tru64 UNIX <a.out.h>, so only build native.
+	if test x$gas != xyes && test x${host} = x${target}
 	then
 		extra_passes="mips-tfile mips-tdump"
 	fi
diff --git a/gcc/mips-tdump.c b/gcc/mips-tdump.c
--- a/gcc/mips-tdump.c
+++ b/gcc/mips-tdump.c
@@ -26,11 +26,7 @@  along with GCC; see the file COPYING3.  
 #ifdef index
 #undef index
 #endif
-#ifndef CROSS_DIRECTORY_STRUCTURE
 #include <a.out.h>
-#else
-#include "mips/a.out.h"
-#endif /* CROSS_DIRECTORY_STRUCTURE */
 
 /* Include getopt.h for the sake of getopt_long.  */
 #include "getopt.h"
diff --git a/gcc/mips-tfile.c b/gcc/mips-tfile.c
--- a/gcc/mips-tfile.c
+++ b/gcc/mips-tfile.c
@@ -1,4 +1,4 @@ 
-/* Update the symbol table (the .T file) in a MIPS object to
+/* Update the symbol table (the .T file) in a ECOFF object to
    contain debugging information specified by the GNU compiler
    in the form of comments (the mips assembler does not support
    assembly access to debug information).
@@ -633,12 +633,7 @@  extern void error (const char *format, .
 
 #undef index
 
-#ifndef CROSS_DIRECTORY_STRUCTURE
 #include <a.out.h>
-#else
-#include "mips/a.out.h"
-#endif /* CROSS_DIRECTORY_STRUCTURE */
-
 #include "gstab.h"
 
 #define IS_ASM_IDENT(ch) \