2714. [port] aix/powerpc: 'asm("ics");' needs non standard assembler

flags.
This commit is contained in:
Mark Andrews
2009-10-16 04:23:41 +00:00
parent 77d2bb78af
commit 64ebbbcbb1
2 changed files with 35 additions and 2 deletions

View File

@@ -1,3 +1,6 @@
2714. [port] aix/powerpc: 'asm("ics");' needs non standard assembler
flags.
2713. [bug] powerpc: atomic operations missing asm("ics") /
__isync() calls.

View File

@@ -18,7 +18,7 @@ AC_DIVERT_PUSH(1)dnl
esyscmd([sed "s/^/# /" COPYRIGHT])dnl
AC_DIVERT_POP()dnl
AC_REVISION($Revision: 1.457.26.12 $)
AC_REVISION($Revision: 1.457.26.13 $)
AC_INIT(lib/dns/name.c)
AC_PREREQ(2.59)
@@ -2223,7 +2223,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