This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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*-*-*] {