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: libgomp bootstrap failure on i486-linux with --enable-targets=all


Matthias Klose writes:
> Jakub Jelinek writes:
> > On Tue, Dec 12, 2006 at 03:29:04PM +0100, Matthias Klose wrote:
> > > current trunk, configured for --enable-targets=all i486-linux-gnu
> > > fails to build in libgomp, calling -m64 -arch=i486.  The applied patch
> > > only adds these flags when not building for -m64.
> > > 
> > > Are the i486 specific flags needed at all now that the default is to
> > > tune for generic?
> > 
> > The important part is -march=i486 and that is needed.  Without that cmpxchg
> > can't be used.
> > 

updated patch attached (keeping the -mtune settings). libgomp
testsuite shows no failures with
RUNTESTFLAGS='--target_board=unix\{-m64,\}' make check. ok to checkin?

2006-12-17  Matthias Klose  <doko@debian.org>

	* configure.tgt (i[456]86-*-linux*): Only add ia32 specific
	flags if not building with -m64.
	* testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
	flag for i?86-*-* targets, if current target matches -m64.

Index: libgomp/configure.tgt
===================================================================
--- libgomp/configure.tgt	(revision 119985)
+++ libgomp/configure.tgt	(working copy)
@@ -49,9 +49,14 @@
     # Note that bare i386 is not included here.  We need cmpxchg.
     i[456]86-*-linux*)
 	config_path="linux/x86 linux posix"
-	if test -z "$with_arch"; then
-	  XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
-	fi
+	case " ${CC} ${CFLAGS} " in
+	  *" -m64 "*)
+	    ;;
+	  *)
+	    if test -z "$with_arch"; then
+	      XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
+	    fi
+	esac
 	;;
 
     # Similar jiggery-pokery for x86_64 multilibs, except here we
Index: libgomp/testsuite/lib/libgomp-dg.exp
===================================================================
--- libgomp/testsuite/lib/libgomp-dg.exp	(revision 119985)
+++ libgomp/testsuite/lib/libgomp-dg.exp	(working copy)
@@ -57,6 +57,7 @@
     global lang_test_file
     global lang_library_path
     global lang_link_flags
+    global current_target_name
 
     set blddir [lookfor_file [get_multilibs] libgomp]
 
@@ -130,7 +131,7 @@
     }
 
     # We use atomic operations in the testcases to validate results.
-    if [istarget i?86-*-*] {
+    if { [istarget i?86-*-*] && [string match *-m64* $current_target_name] == -1} {
 	lappend ALWAYS_CFLAGS "additional_flags=-march=i486"
     }
     if [istarget sparc*-*-*] {


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