krb5 commit: Restrict AES-NI support to ELF platforms for now

Greg Hudson ghudson at MIT.EDU
Fri Jan 10 16:53:11 EST 2014


https://github.com/krb5/krb5/commit/220066d9544a1fb1d6100f18f3ada7265799e97b
commit 220066d9544a1fb1d6100f18f3ada7265799e97b
Author: Greg Hudson <ghudson at mit.edu>
Date:   Fri Jan 10 11:54:13 2014 -0500

    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

 src/configure.in |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/configure.in b/src/configure.in
index 5e616b6..b0b6c5a 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


More information about the cvs-krb5 mailing list