summaryrefslogtreecommitdiffstats
path: root/src/configure.in
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2014-01-10 11:54:13 -0500
committerGreg Hudson <ghudson@mit.edu>2014-01-10 16:52:08 -0500
commit220066d9544a1fb1d6100f18f3ada7265799e97b (patch)
tree0b30de455840f12da40124666d810de13d80f0d0 /src/configure.in
parentd658d91bb16adb5410ee2b34437630ee43cbd939 (diff)
downloadkrb5-220066d9544a1fb1d6100f18f3ada7265799e97b.tar.gz
krb5-220066d9544a1fb1d6100f18f3ada7265799e97b.tar.xz
krb5-220066d9544a1fb1d6100f18f3ada7265799e97b.zip
Restrict AES-NI support to ELF platforms for now
Since we explicitly specify the ELF object format when building iaesx86.s or iaesx64.s, we need to restrict it to operating systems we know to be ELF platforms. Otherwise we can break the build on OS X, which uses the Mach-O object format. ticket: 7812 target_version: 1.12.1 tags: pullup
Diffstat (limited to 'src/configure.in')
-rw-r--r--src/configure.in15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/configure.in b/src/configure.in
index 5e616b62d7..b0b6c5adda 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -263,17 +263,22 @@ enable_aesni=check)
if test "$CRYPTO_IMPL" = builtin -a "x$enable_aesni" != xno; then
case "$host" in
i686-*)
- aesni_flags="-f elf32"
aesni_obj=iaesx86.o
+ aesni_machine=x86
;;
x86_64-*)
- # All Unix-like platforms need -D__linux__ for iaesx64.s to
- # handle the System V x86-64 calling convention.
- aesni_flags="-D__linux__ -f elf64"
aesni_obj=iaesx64.o
+ aesni_machine=amd64
+ ;;
+ esac
+ case "$host" in
+ *-*-linux* | *-*-gnu* | *-*-*bsd* | *-*-solaris*)
+ # All Unix-like platforms need -D__linux__ for iaesx64.s to
+ # use the System V x86-64 calling convention.
+ aesni_flags="-D__linux__ -f elf -m $aesni_machine"
;;
esac
- if test "x$aesni_obj" != x; then
+ if test "x$aesni_obj" != x && test "x$aesni_flags" != x; then
AC_CHECK_PROG(YASM,yasm,yasm)
AC_CHECK_HEADERS(cpuid.h)
if test x"$YASM" != x -a "x$ac_cv_header_cpuid_h" = xyes; then