aboutsummaryrefslogtreecommitdiff
path: root/libitm
diff options
context:
space:
mode:
Diffstat (limited to 'libitm')
-rw-r--r--libitm/configure.tgt37
1 files changed, 17 insertions, 20 deletions
diff --git a/libitm/configure.tgt b/libitm/configure.tgt
index 6ac206f..a3d8489 100644
--- a/libitm/configure.tgt
+++ b/libitm/configure.tgt
@@ -59,16 +59,23 @@ case "${target_cpu}" in
arm*) ARCH=arm ;;
- i[3456]86)
- case " ${CC} ${CFLAGS} " in
- *" -m64 "*|*" -mx32 "*)
- ;;
- *)
- if test -z "$with_arch"; then
- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
- XCFLAGS="${XCFLAGS} -fomit-frame-pointer"
- fi
- esac
+ i[3456]86 | x86_64)
+ cat > conftestx.c <<EOF
+#ifndef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4
+#error need -march=i486
+#endif
+EOF
+ if ${CC} ${CFLAGS} -E conftestx.c > /dev/null 2>&1; then
+ :
+ else
+ if test "${target_cpu}" = x86_64; then
+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
+ else
+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
+ fi
+ XCFLAGS="${XCFLAGS} -fomit-frame-pointer"
+ fi
+ rm -f conftestx.c
XCFLAGS="${XCFLAGS} -mrtm"
ARCH=x86
;;
@@ -103,16 +110,6 @@ case "${target_cpu}" in
ARCH=sparc
;;
- x86_64)
- case " ${CC} ${CFLAGS} " in
- *" -m32 "*)
- XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
- XCFLAGS="${XCFLAGS} -fomit-frame-pointer"
- ;;
- esac
- XCFLAGS="${XCFLAGS} -mrtm"
- ARCH=x86
- ;;
s390|s390x)
XCFLAGS="${XCFLAGS} -mzarch -mhtm"
ARCH=s390