summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--src/configure.in15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/configure.in b/src/configure.in
index 5e616b62d..b0b6c5add 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