diff --git a/CHANGES b/CHANGES index 0fe450c0d2..bf1fc69412 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +2713. [port] aix/powerpc: 'asm("ics");' needs non standard assembler + flags. + --- 9.7.0b1 released --- 2713. [bug] powerpc: atomic operations missing asm("ics") / diff --git a/configure.in b/configure.in index 27e0d87524..6d116c4eae 100644 --- a/configure.in +++ b/configure.in @@ -18,7 +18,7 @@ AC_DIVERT_PUSH(1)dnl esyscmd([sed "s/^/# /" COPYRIGHT])dnl AC_DIVERT_POP()dnl -AC_REVISION($Revision: 1.483 $) +AC_REVISION($Revision: 1.484 $) AC_INIT(lib/dns/name.c) AC_PREREQ(2.59) @@ -2431,7 +2431,37 @@ AC_ARG_ENABLE(atomic, enable_atomic="autodetect") case "$enable_atomic" in yes|''|autodetect) - use_atomic=yes + case "$host" in + powerpc-ibm-aix*) + if test "X$GCC" = "Xyes"; then + AC_MSG_CHECKING([if asm("isc"); works]) + AC_TRY_COMPILE(,[ + main() { asm("ics"); exit(0); } + ], + [AC_MSG_RESULT(yes) + use_atomic=yes], + [ + saved_cflags="$CFLAGS" + CFLAGS="$CFLAGS -Wa,-many" + AC_TRY_RUN([ + main() { asm("ics"); exit(0); } + ], + [AC_MSG_RESULT([yes, required -Wa,-many]) + use_atomic=yes], + [AC_MSG_RESULT([no, use_atomic disabled]) + CFLAGS="$saved_cflags" + use_atomic=no], + [AC_MSG_RESULT([cross compile, assume yes]) + CFLAGS="$saved_cflags" + use_atomic=yes]) + ] + ) + fi + ;; + *) + use_atomic=yes + ;; + esac ;; no) use_atomic=no @@ -2896,7 +2926,7 @@ AC_SUBST_FILE(BIND9_MAKE_RULES) BIND9_MAKE_RULES=$BIND9_TOP_BUILDDIR/make/rules . $srcdir/version -BIND9_VERSION="VERSION=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}" +BIND9_VERSION="VERSION=${MAJORVER}.${MINORVER}${PATCHVER:+.}${PATCHVER}${RELEASETYPE}${RELEASEVER}" AC_SUBST(BIND9_VERSION) if test -z "$ac_configure_args"; then