On Mon, Apr 25, 2016 at 1:36 PM, H.J. Lu <hongjiu...@intel.com> wrote: > If x86 libgomp isn't compiled with -march=i486 or better, append > -march=i486 XCFLAGS for x86 libgomp build. > > Tested on i686 with and without --with-arch=i386. Tested on > x86-64 with and without --with-arch_32=i386. OK for trunk? > > > H.J. > --- > PR target/70454 > * configure.tgt (XCFLAGS): Append -march=i486 to compile x86 > libgomp if needed. > --- > libgomp/configure.tgt | 36 ++++++++++++++++-------------------- > 1 file changed, 16 insertions(+), 20 deletions(-) > > diff --git a/libgomp/configure.tgt b/libgomp/configure.tgt > index 77e73f0..c876e80 100644 > --- a/libgomp/configure.tgt > +++ b/libgomp/configure.tgt > @@ -67,28 +67,24 @@ if test x$enable_linux_futex = xyes; then > ;; > > # Note that bare i386 is not included here. We need cmpxchg. > - i[456]86-*-linux*) > + i[456]86-*-linux* | x86_64-*-linux*) > config_path="linux/x86 linux posix" > - case " ${CC} ${CFLAGS} " in > - *" -m64 "*|*" -mx32 "*) > - ;; > - *) > - if test -z "$with_arch"; then > - XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" > + # Need i486 or better. > + cat > conftestx.c <<EOF > +#if defined __x86_64__ || defined __i486__ || defined __pentium__ \ > + || defined __pentiumpro__ || defined __pentium4__ \ > + || defined __geode__ || defined __SSE__ > +# error Need i486 or better > +#endif > +EOF > + if ${CC} ${CFLAGS} -c -o conftestx.o conftestx.c > /dev/null 2>&1; > then > + if test "${target_cpu}" = x86_64; then > + XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic" > + else > + XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}" > fi > - esac > - ;; > - > - # Similar jiggery-pokery for x86_64 multilibs, except here we > - # can't rely on the --with-arch configure option, since that > - # applies to the 64-bit side. > - x86_64-*-linux*) > - config_path="linux/x86 linux posix" > - case " ${CC} ${CFLAGS} " in > - *" -m32 "*) > - XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic" > - ;; > - esac > + fi > + rm -f conftestx.c conftestx.o > ;; > > # Note that sparcv7 and sparcv8 is not included here. We need cas. > -- > 2.5.5 >
PING. -- H.J.