mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-30 22:11:59 -09:00
package/libopenssl: fix performance issue in static build
Revert commit8c2c959b02as no-dso has been added back to openssl since version 1.1.1e and8dcd574619and because gcc no-asm has performance issue Fixes: - https://bugs.buildroot.org/show_bug.cgi?id=13751 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
committed by
Yann E. MORIN
parent
cadb8f2f31
commit
67d19f6014
@@ -14,10 +14,6 @@ config BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH_LINUX_PPC
|
|||||||
|
|
||||||
config BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH
|
config BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH
|
||||||
string
|
string
|
||||||
# Use "gcc" minimalistic target to disable DSO
|
|
||||||
# no-asm is needed with generic architectures such as gcc, see
|
|
||||||
# https://github.com/openssl/openssl/issues/9839
|
|
||||||
default "gcc no-asm" if BR2_STATIC_LIBS
|
|
||||||
# Doesn't work for thumb-only (Cortex-M?)
|
# Doesn't work for thumb-only (Cortex-M?)
|
||||||
default "linux-armv4" if BR2_ARM_CPU_HAS_ARM
|
default "linux-armv4" if BR2_ARM_CPU_HAS_ARM
|
||||||
default "linux-aarch64" if BR2_aarch64
|
default "linux-aarch64" if BR2_aarch64
|
||||||
|
|||||||
@@ -25,10 +25,6 @@ LIBOPENSSL_CFLAGS += -mxgot
|
|||||||
LIBOPENSSL_CFLAGS += -DOPENSSL_SMALL_FOOTPRINT
|
LIBOPENSSL_CFLAGS += -DOPENSSL_SMALL_FOOTPRINT
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
|
|
||||||
LIBOPENSSL_CFLAGS += -DOPENSSL_THREADS
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(BR2_USE_MMU),)
|
ifeq ($(BR2_USE_MMU),)
|
||||||
LIBOPENSSL_CFLAGS += -DHAVE_FORK=0 -DOPENSSL_NO_MADVISE
|
LIBOPENSSL_CFLAGS += -DHAVE_FORK=0 -DOPENSSL_NO_MADVISE
|
||||||
endif
|
endif
|
||||||
@@ -79,7 +75,7 @@ define LIBOPENSSL_CONFIGURE_CMDS
|
|||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
--openssldir=/etc/ssl \
|
--openssldir=/etc/ssl \
|
||||||
$(if $(BR2_TOOLCHAIN_HAS_LIBATOMIC),-latomic) \
|
$(if $(BR2_TOOLCHAIN_HAS_LIBATOMIC),-latomic) \
|
||||||
$(if $(BR2_TOOLCHAIN_HAS_THREADS),-lpthread threads, no-threads) \
|
$(if $(BR2_TOOLCHAIN_HAS_THREADS),threads,no-threads) \
|
||||||
$(if $(BR2_STATIC_LIBS),no-shared,shared) \
|
$(if $(BR2_STATIC_LIBS),no-shared,shared) \
|
||||||
$(if $(BR2_PACKAGE_HAS_CRYPTODEV),enable-devcryptoeng) \
|
$(if $(BR2_PACKAGE_HAS_CRYPTODEV),enable-devcryptoeng) \
|
||||||
no-rc5 \
|
no-rc5 \
|
||||||
@@ -89,12 +85,21 @@ define LIBOPENSSL_CONFIGURE_CMDS
|
|||||||
no-fuzz-libfuzzer \
|
no-fuzz-libfuzzer \
|
||||||
no-fuzz-afl \
|
no-fuzz-afl \
|
||||||
$(if $(BR2_STATIC_LIBS),zlib,zlib-dynamic) \
|
$(if $(BR2_STATIC_LIBS),zlib,zlib-dynamic) \
|
||||||
|
$(if $(BR2_STATIC_LIBS),no-dso) \
|
||||||
)
|
)
|
||||||
$(SED) "s#-march=[-a-z0-9] ##" -e "s#-mcpu=[-a-z0-9] ##g" $(@D)/Makefile
|
$(SED) "s#-march=[-a-z0-9] ##" -e "s#-mcpu=[-a-z0-9] ##g" $(@D)/Makefile
|
||||||
$(SED) "s#-O[0-9sg]#$(LIBOPENSSL_CFLAGS)#" $(@D)/Makefile
|
$(SED) "s#-O[0-9sg]#$(LIBOPENSSL_CFLAGS)#" $(@D)/Makefile
|
||||||
$(SED) "s# build_tests##" $(@D)/Makefile
|
$(SED) "s# build_tests##" $(@D)/Makefile
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
# libdl is not available in a static build, and this is not implied by no-dso
|
||||||
|
ifeq ($(BR2_STATIC_LIBS),y)
|
||||||
|
define LIBOPENSSL_FIXUP_STATIC_MAKEFILE
|
||||||
|
$(SED) 's#-ldl##g' $(@D)/Makefile
|
||||||
|
endef
|
||||||
|
LIBOPENSSL_POST_CONFIGURE_HOOKS += LIBOPENSSL_FIXUP_STATIC_MAKEFILE
|
||||||
|
endif
|
||||||
|
|
||||||
define HOST_LIBOPENSSL_BUILD_CMDS
|
define HOST_LIBOPENSSL_BUILD_CMDS
|
||||||
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)
|
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)
|
||||||
endef
|
endef
|
||||||
@@ -117,6 +122,16 @@ define LIBOPENSSL_INSTALL_TARGET_CMDS
|
|||||||
rm -f $(TARGET_DIR)/usr/bin/c_rehash
|
rm -f $(TARGET_DIR)/usr/bin/c_rehash
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
# libdl has no business in a static build
|
||||||
|
ifeq ($(BR2_STATIC_LIBS),y)
|
||||||
|
define LIBOPENSSL_FIXUP_STATIC_PKGCONFIG
|
||||||
|
$(SED) 's#-ldl##' $(STAGING_DIR)/usr/lib/pkgconfig/libcrypto.pc
|
||||||
|
$(SED) 's#-ldl##' $(STAGING_DIR)/usr/lib/pkgconfig/libssl.pc
|
||||||
|
$(SED) 's#-ldl##' $(STAGING_DIR)/usr/lib/pkgconfig/openssl.pc
|
||||||
|
endef
|
||||||
|
LIBOPENSSL_POST_INSTALL_STAGING_HOOKS += LIBOPENSSL_FIXUP_STATIC_PKGCONFIG
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_PERL),)
|
ifeq ($(BR2_PACKAGE_PERL),)
|
||||||
define LIBOPENSSL_REMOVE_PERL_SCRIPTS
|
define LIBOPENSSL_REMOVE_PERL_SCRIPTS
|
||||||
$(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.pl,tsget}
|
$(RM) -f $(TARGET_DIR)/etc/ssl/misc/{CA.pl,tsget}
|
||||||
|
|||||||
Reference in New Issue
Block a user