Page MenuHomeFreeBSD

D42866.1790159218.diff
No OneTemporary

Size
9 KB
Referenced Files
None
Subscribers
None

D42866.1790159218.diff

diff --git a/secure/lib/libcrypto/Makefile.asm b/secure/lib/libcrypto/Makefile.asm
--- a/secure/lib/libcrypto/Makefile.asm
+++ b/secure/lib/libcrypto/Makefile.asm
@@ -46,7 +46,7 @@
all: ${ASM}
rm -f ${ASM:R:S/$/.s/}
- ${CP} ${LCRYPTO_SRC}/crypto/arm_arch.h arm_arch.h
+ ${CP} ${LCRYPTO_SRC}/crypto/arm_arch.h ../arm_arch.h
CLEANFILES= ${ASM}
.SUFFIXES: .pl
@@ -186,6 +186,7 @@
all: ${ASM}
rm -f ${ASM:R:S/$/.s/}
+ ${CP} ${LCRYPTO_SRC}/crypto/arm_arch.h ../arm_arch.h
CLEANFILES= ${ASM}
.SUFFIXES: .pl
diff --git a/sys/conf/files.arm b/sys/conf/files.arm
--- a/sys/conf/files.arm
+++ b/sys/conf/files.arm
@@ -137,15 +137,22 @@
crypto/openssl/ossl_arm.c optional ossl
crypto/openssl/arm/ossl_aes_gcm.c optional ossl
-crypto/openssl/arm/aes-armv4.S optional ossl
+crypto/openssl/arm/aes-armv4.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
crypto/openssl/arm/bsaes-armv7.S optional ossl \
- compile-with "${CC} -D__KERNEL__ -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC}"
-crypto/openssl/arm/chacha-armv4.S optional ossl
-crypto/openssl/arm/ghash-armv4.S optional ossl
-crypto/openssl/arm/poly1305-armv4.S optional ossl
-crypto/openssl/arm/sha1-armv4-large.S optional ossl
-crypto/openssl/arm/sha256-armv4.S optional ossl
-crypto/openssl/arm/sha512-armv4.S optional ossl
+ compile-with "${CC} -D__KERNEL__ -c ${CFLAGS:N-mgeneral-regs-only} -I${SRCTOP}/sys/crypto/openssl ${WERROR} ${.IMPSRC}"
+crypto/openssl/arm/chacha-armv4.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
+crypto/openssl/arm/ghash-armv4.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
+crypto/openssl/arm/poly1305-armv4.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
+crypto/openssl/arm/sha1-armv4-large.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
+crypto/openssl/arm/sha256-armv4.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
+crypto/openssl/arm/sha512-armv4.S optional ossl \
+ compile-with "${NORMAL_C} -I${SRCTOP}/sys/crypto/openssl"
# Annapurna support
arm/annapurna/alpine/alpine_ccu.c optional al_ccu fdt
diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64
--- a/sys/conf/files.arm64
+++ b/sys/conf/files.arm64
@@ -119,17 +119,17 @@
crypto/armv8/armv8_crypto.c optional armv8crypto
armv8_crypto_wrap.o optional armv8crypto \
dependency "$S/crypto/armv8/armv8_crypto_wrap.c" \
- compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8/ ${WERROR} ${NO_WCAST_QUAL} ${CFLAGS:M-march=*:S/^$/-march=armv8-a/}+crypto ${.IMPSRC}" \
+ compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8 ${WERROR} ${NO_WCAST_QUAL} ${CFLAGS:M-march=*:S/^$/-march=armv8-a/}+crypto ${.IMPSRC}" \
no-implicit-rule \
clean "armv8_crypto_wrap.o"
aesv8-armx.o optional armv8crypto | ossl \
dependency "$S/crypto/openssl/aarch64/aesv8-armx.S" \
- compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8/ ${WERROR} ${NO_WCAST_QUAL} ${CFLAGS:M-march=*:S/^$/-march=armv8-a/}+crypto ${.IMPSRC}" \
+ compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8 -I$S/crypto/openssl ${WERROR} ${NO_WCAST_QUAL} ${CFLAGS:M-march=*:S/^$/-march=armv8-a/}+crypto ${.IMPSRC}" \
no-implicit-rule \
clean "aesv8-armx.o"
ghashv8-armx.o optional armv8crypto \
dependency "$S/crypto/openssl/aarch64/ghashv8-armx.S" \
- compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8/ ${WERROR} ${NO_WCAST_QUAL} ${CFLAGS:M-march=*:S/^$/-march=armv8-a/}+crypto ${.IMPSRC}" \
+ compile-with "${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8 -I$S/crypto/openssl ${WERROR} ${NO_WCAST_QUAL} ${CFLAGS:M-march=*:S/^$/-march=armv8-a/}+crypto ${.IMPSRC}" \
no-implicit-rule \
clean "ghashv8-armx.o"
diff --git a/sys/crypto/openssl/arm/arm_arch.h b/sys/crypto/openssl/arm/arm_arch.h
deleted file mode 100644
--- a/sys/crypto/openssl/arm/arm_arch.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2011-2018 The OpenSSL Project Authors. All Rights Reserved.
- *
- * Licensed under the OpenSSL license (the "License"). You may not use
- * this file except in compliance with the License. You can obtain a copy
- * in the file LICENSE in the source distribution or at
- * https://www.openssl.org/source/license.html
- */
-
-#ifndef OSSL_CRYPTO_ARM_ARCH_H
-# define OSSL_CRYPTO_ARM_ARCH_H
-
-# if !defined(__ARM_ARCH__)
-# if defined(__CC_ARM)
-# define __ARM_ARCH__ __TARGET_ARCH_ARM
-# if defined(__BIG_ENDIAN)
-# define __ARMEB__
-# else
-# define __ARMEL__
-# endif
-# elif defined(__GNUC__)
-# if defined(__aarch64__)
-# define __ARM_ARCH__ 8
-# if __BYTE_ORDER__==__ORDER_BIG_ENDIAN__
-# define __ARMEB__
-# else
-# define __ARMEL__
-# endif
- /*
- * Why doesn't gcc define __ARM_ARCH__? Instead it defines
- * bunch of below macros. See all_architectures[] table in
- * gcc/config/arm/arm.c. On a side note it defines
- * __ARMEL__/__ARMEB__ for little-/big-endian.
- */
-# elif defined(__ARM_ARCH)
-# define __ARM_ARCH__ __ARM_ARCH
-# elif defined(__ARM_ARCH_8A__)
-# define __ARM_ARCH__ 8
-# elif defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \
- defined(__ARM_ARCH_7R__)|| defined(__ARM_ARCH_7M__) || \
- defined(__ARM_ARCH_7EM__)
-# define __ARM_ARCH__ 7
-# elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \
- defined(__ARM_ARCH_6K__)|| defined(__ARM_ARCH_6M__) || \
- defined(__ARM_ARCH_6Z__)|| defined(__ARM_ARCH_6ZK__) || \
- defined(__ARM_ARCH_6T2__)
-# define __ARM_ARCH__ 6
-# elif defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || \
- defined(__ARM_ARCH_5E__)|| defined(__ARM_ARCH_5TE__) || \
- defined(__ARM_ARCH_5TEJ__)
-# define __ARM_ARCH__ 5
-# elif defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__)
-# define __ARM_ARCH__ 4
-# else
-# error "unsupported ARM architecture"
-# endif
-# endif
-# endif
-
-# if !defined(__ARM_MAX_ARCH__)
-# define __ARM_MAX_ARCH__ __ARM_ARCH__
-# endif
-
-# if __ARM_MAX_ARCH__<__ARM_ARCH__
-# error "__ARM_MAX_ARCH__ can't be less than __ARM_ARCH__"
-# elif __ARM_MAX_ARCH__!=__ARM_ARCH__
-# if __ARM_ARCH__<7 && __ARM_MAX_ARCH__>=7 && defined(__ARMEB__)
-# error "can't build universal big-endian binary"
-# endif
-# endif
-
-# ifndef __ASSEMBLER__
-extern unsigned int OPENSSL_armcap_P;
-# endif
-
-# define ARMV7_NEON (1<<0)
-# define ARMV7_TICK (1<<1)
-# define ARMV8_AES (1<<2)
-# define ARMV8_SHA1 (1<<3)
-# define ARMV8_SHA256 (1<<4)
-# define ARMV8_PMULL (1<<5)
-# define ARMV8_SHA512 (1<<6)
-
-#endif
diff --git a/sys/crypto/openssl/arm/ossl_aes_gcm.c b/sys/crypto/openssl/arm/ossl_aes_gcm.c
--- a/sys/crypto/openssl/arm/ossl_aes_gcm.c
+++ b/sys/crypto/openssl/arm/ossl_aes_gcm.c
@@ -15,7 +15,7 @@
#include <crypto/openssl/ossl_arm.h>
#include <crypto/openssl/ossl_aes_gcm.h>
#include <crypto/openssl/ossl_cipher.h>
-#include <crypto/openssl/arm/arm_arch.h>
+#include <crypto/openssl/arm_arch.h>
#include <opencrypto/cryptodev.h>
diff --git a/sys/crypto/openssl/aarch64/arm_arch.h b/sys/crypto/openssl/arm_arch.h
rename from sys/crypto/openssl/aarch64/arm_arch.h
rename to sys/crypto/openssl/arm_arch.h
diff --git a/sys/crypto/openssl/ossl_aarch64.h b/sys/crypto/openssl/ossl_aarch64.h
--- a/sys/crypto/openssl/ossl_aarch64.h
+++ b/sys/crypto/openssl/ossl_aarch64.h
@@ -12,7 +12,7 @@
#include <crypto/openssl/ossl.h>
#include <crypto/openssl/ossl_cipher.h>
-#include <crypto/openssl/aarch64/arm_arch.h>
+#include <crypto/openssl/arm_arch.h>
/* aesv8-armx.S */
ossl_cipher_encrypt_t aes_v8_cbc_encrypt;
diff --git a/sys/crypto/openssl/ossl_aarch64.c b/sys/crypto/openssl/ossl_aarch64.c
--- a/sys/crypto/openssl/ossl_aarch64.c
+++ b/sys/crypto/openssl/ossl_aarch64.c
@@ -35,7 +35,7 @@
#include <crypto/openssl/ossl.h>
#include <crypto/openssl/ossl_cipher.h>
-#include <crypto/openssl/aarch64/arm_arch.h>
+#include <crypto/openssl/arm_arch.h>
/*
* Feature bits defined in arm_arch.h
diff --git a/sys/crypto/openssl/ossl_arm.c b/sys/crypto/openssl/ossl_arm.c
--- a/sys/crypto/openssl/ossl_arm.c
+++ b/sys/crypto/openssl/ossl_arm.c
@@ -39,7 +39,7 @@
#include <crypto/openssl/ossl.h>
#include <crypto/openssl/ossl_cipher.h>
-#include <crypto/openssl/arm/arm_arch.h>
+#include <crypto/openssl/arm_arch.h>
ossl_cipher_setkey_t AES_set_encrypt_key;
ossl_cipher_setkey_t AES_set_decrypt_key;
diff --git a/sys/modules/armv8crypto/Makefile b/sys/modules/armv8crypto/Makefile
--- a/sys/modules/armv8crypto/Makefile
+++ b/sys/modules/armv8crypto/Makefile
@@ -1,4 +1,3 @@
-
.PATH: ${SRCTOP}/sys/crypto/armv8
.PATH: ${SRCTOP}/sys/crypto/openssl/aarch64
@@ -8,6 +7,8 @@
OBJS+= armv8_crypto_wrap.o aesv8-armx.o ghashv8-armx.o
+CFLAGS+=-I${SRCTOP}/sys/crypto/openssl
+
# Remove -nostdinc so we can get the intrinsics.
armv8_crypto_wrap.o: armv8_crypto_wrap.c
${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} \
diff --git a/sys/modules/ossl/Makefile b/sys/modules/ossl/Makefile
--- a/sys/modules/ossl/Makefile
+++ b/sys/modules/ossl/Makefile
@@ -61,6 +61,8 @@
CFLAGS.bsaes-armv7.S+= -D__KERNEL__
+CFLAGS+= -I${SRCTOP}/sys/crypto/openssl
+
# For arm64, we are forced to rewrite the compiler invocation for the assembly
# files, to remove -mgeneral-regs-only.
${SRCS.aarch64:M*.S:S/S/o/}: ${.TARGET:R}.S

File Metadata

Mime Type
text/plain
Expires
Wed, Sep 23, 10:26 AM (5 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29878923
Default Alt Text
D42866.1790159218.diff (9 KB)

Event Timeline