diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 32976762b7eb9457cfe974ac026342fa71c5bdd0..8ad5361bfc3c843b059a1d2799fa6130f40bb6fc 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,10 @@
+2007-04-16  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.
+
 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
 
 	* Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
diff --git a/libgomp/configure.tgt b/libgomp/configure.tgt
index 89bae02e80a75614f03b0003cd55f4f6c1526e9a..4790d66d8c63bfd4faac8eb8ff13607853bfbab5 100644
--- a/libgomp/configure.tgt
+++ b/libgomp/configure.tgt
@@ -49,9 +49,14 @@ if test $enable_linux_futex = yes; then
     # 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