Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
30b9339
linuxkm/Kbuild: fix+improve handling for CONFIG_MITIGATION_RETPOLINE,
douzzer Oct 30, 2026
24e6f6a
wolfcrypt/benchmark/benchmark.c: refactor key init/free in
douzzer Oct 30, 2026
847da6f
wolfssl/wolfcrypt/wc_compat.h, wolfssl/wolfcrypt/memory.h: in
douzzer Oct 30, 2026
bb0805a
wolfcrypt/test/test.c: don't define SLHDSA_TEST_CERT if WOLFSSL_NO_MA…
douzzer Oct 30, 2026
748c3d4
wolfcrypt/src/rng_bank.c: fix error-path memory leak in wc_rng_bank_i…
douzzer Nov 2, 2026
69aa86b
src/pk.c, wolfcrypt/src/evp.c, wolfssl/internal.h: rename
douzzer Nov 2, 2026
688ca85
wolfssl/wolfcrypt/error-crypt.h: add
douzzer Nov 2, 2026
5f4cbd2
wolfssl/wolfcrypt/wc_compat.h, : add suppression for readability-redu…
douzzer Nov 2, 2026
764875a
tests/api/test_aes.c: add old-FIPS gating to test_wc_AesGcm_Primitive…
douzzer Nov 2, 2026
65e9392
tests/api/test_ossl_rand.c: in test_wolfSSL_RAND_bytes(), use _exit()…
douzzer Nov 2, 2026
bb8dcb7
tests/api/test_sha512.c: add WC_MAYBE_UNUSED attribute to sha512_dev_…
douzzer Nov 2, 2026
fe708cd
tests/api/test_kdf.c: add !old-FIPS gate to test_wc_SshKdfReuse() (tr…
douzzer Nov 2, 2026
97b3bef
tests/api/test_ossl_x509_str.c: add missing OPENSSL_ALL gating to tes…
douzzer Nov 2, 2026
77a77f3
wolfcrypt/test/test.c:
douzzer Nov 2, 2026
aaaa956
wolfssl/wolfcrypt/types.h: assert "CHAR_BIT must be a positive multip…
douzzer Nov 2, 2026
7fe0a06
wolfcrypt/test/test.c: PRIVATE_KEY_{UNLOCK,LOCK} wraps for private ke…
douzzer Nov 2, 2026
5266c5c
wolfssl/wolfcrypt/wc_compat.h: add a prototype for ForceZero() in WOL…
douzzer Nov 2, 2026
18cccae
wolfcrypt/test/test.c: fix refactor flub (PRIVATE_KEY_LOCK() placemen…
douzzer Nov 2, 2026
95e484a
wolfcrypt/test/test.c: in mlkem_asn1_test(), fix calculation of wrong…
douzzer Nov 3, 2026
784db73
wolfcrypt/src/pkcs7.c and wolfcrypt/src/hpke.c: add internal
douzzer Nov 3, 2026
b5296c4
.wolfssl_known_macro_extras: garbage collect and fix lexical order.
douzzer Nov 3, 2026
66336a9
wolfcrypt/test/test.c: add several missing PRIVATE_KEY_{UNLOCK,LOCK}(…
douzzer Nov 3, 2026
42f245b
wolfcrypt/src/rng_bank.c: error handling fixes:
douzzer Nov 3, 2026
88e9b9b
wolfssl/wolfcrypt/memory.h: add prototype for WOLFSSL_NO_FORCE_ZERO F…
douzzer Nov 3, 2026
ddd69f2
tests/api/test_ossl_rand.c: in test_wolfSSL_RAND_bytes() in child pro…
douzzer Nov 3, 2026
588d881
wolfcrypt/test/test.c: in FIPS v6, call PRIVATE_KEY_UNLOCK() for wc_e…
douzzer Nov 3, 2026
3ad471c
wolfcrypt/src/hpke.c: in wc_HpkeSerializePublicKey(), on FIPS v6, cal…
douzzer Nov 4, 2026
1b6fa87
wolfssl/wolfcrypt/wc_compat.h: in wc_AesGcmEncrypt_compat_shim(), don…
douzzer Nov 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 5 additions & 42 deletions .wolfssl_known_macro_extras
Original file line number Diff line number Diff line change
Expand Up @@ -574,8 +574,6 @@ NO_TLSX_PSKKEM_PLAIN_ANNOUNCE
NO_VAES_SUPPORT
NO_VERIFY_OID
NO_WC_DHGENERATEPUBLIC
NO_WC_SHE_GETUID
NO_WC_SHE_IMPORT_M123
NO_WC_SHE_LOADKEY
NO_WC_SSIZE_TYPE
NO_WOLFSSL_ALLOC_ALIGN
Expand Down Expand Up @@ -846,11 +844,11 @@ WC_HASH_CUSTOM_MAX_DIGEST_SIZE
WC_HASH_CUSTOM_MIN_DIGEST_SIZE
WC_HAVE_FIPS_INDICATOR
WC_INIT_ERROR_WHEN_CONTENDED
WC_LINUXKM_FORCE_SVR_DYNAMIC_AUDITING
WC_LINUXKM_NO_ENTROPY_DAEMON
WC_LINUXKM_NO_SVR_DYNAMIC_AUDITING
WC_LINUXKM_NO_USE_HEAP_WRAPPERS
WC_LINUXKM_SPIN_IN_ATOMIC
WC_LINUXKM_FORCE_SVR_DYNAMIC_AUDITING
WC_MLDSA_NO_ASM
WC_MLKEM_KERNEL_ASM
WC_MPFS_ATHENA_NO_BASE_ADDR
Expand All @@ -861,8 +859,6 @@ WC_NO_RNG_SIMPLE
WC_NO_STATIC_ASSERT
WC_NO_VERBOSE_RNG
WC_PKCS11_FIND_WITH_ID_ONLY
WC_PKCS12_PBKDF_USING_MP_API
WC_PUF_HELPER_COMPACT
WC_PUF_SHA3
WC_RNG_BANK_NO_DAEMON_SUPPORT
WC_RNG_BANK_NO_DEFAULT_SUPPORT
Expand All @@ -889,7 +885,6 @@ WC_RSA_NO_FERMAT_CHECK
WC_RTL8735B_NO_DERIVE_CACHE
WC_RWLOCK_OPS_INLINE
WC_SHA2_SMALL_STACK
WC_SHE_SW_DEFAULT
WC_SKIP_INCLUDED_C_FILES
WC_SLHDSA_KERNEL_ASM
WC_SLHDSA_NO_ASM
Expand Down Expand Up @@ -935,12 +930,8 @@ WOLFSSL_ALTERNATIVE_DOWNGRADE
WOLFSSL_ALT_NAMES_NO_REV
WOLFSSL_APACHE_MYNEWT
WOLFSSL_ARM32_BUILD
WOLFSSL_ARM32_PRIVILEGE_MODE
WOLFSSL_ARMASM_NEON_NO_TABLE_LOOKUP
WOLFSSL_ARMASM_SHA3_NO_NEON
WOLFSSL_ARMASM_SHA512_NO_NEON
WOLFSSL_ARM_ARCH_NEON_64BIT
WOLFSSL_ASCON_UNROLL
WOLFSSL_ASN_EXTRA
WOLFSSL_ATECC508
WOLFSSL_ATECC508A_NOSOFTECC
Expand Down Expand Up @@ -981,18 +972,13 @@ WOLFSSL_CRL_ALLOW_MISSING_CDP
WOLFSSL_CRYPTOCELL
WOLFSSL_CRYPTOCELL_AES
WOLFSSL_DEBUG_TRACE_ERROR_CODES_SUPPORT
WOLFSSL_DILITHIUM_VERIFY_SMALLEST_MEM
WOLFSSL_DISABLE_EARLY_SANITY_CHECKS
WOLFSSL_DRBG_SHA256
WOLFSSL_DTLS13_ECHO_LEGACY_SESSION_ID
WOLFSSL_DTLS13_NO_HRR_ON_RESUME
WOLFSSL_DTLS_DISALLOW_FUTURE
WOLFSSL_DTLS_RECORDS_CAN_SPAN_DATAGRAMS
WOLFSSL_DTLS_RESEND_ONLY_TIMEOUT
WOLFSSL_DUMP_MEMIO_STREAM
WOLFSSL_DUP_CERTPOL
WOLFSSL_EARLY_DATA_NO_ANTI_REPLAY
WOLFSSL_ECC_BLIND_K
WOLFSSL_ECC_GEN_REJECT_SAMPLING
WOLFSSL_ECC_NO_SMALL_STACK
WOLFSSL_ECC_SIGALG_PARAMS_NULL_ALLOWED
Expand All @@ -1007,7 +993,6 @@ WOLFSSL_ESPWROOM32
WOLFSSL_EVP_PRINT
WOLFSSL_EXPORT_INT
WOLFSSL_EXPORT_SPC_SZ
WOLFSSL_EXTRA
WOLFSSL_FALCON_NO_NTT_DSP
WOLFSSL_FALCON_SIGN_STATS
WOLFSSL_FORCE_OCSP_NONCE_CHECK
Expand Down Expand Up @@ -1057,36 +1042,28 @@ WOLFSSL_MANUALLY_SELECT_DEVICE_CONFIG
WOLFSSL_MCDC_ALLOC_SWEEP
WOLFSSL_MDK5
WOLFSSL_MICROCHIP_AESGCM
WOLFSSL_MLDSA_ALLOW_WEAK_PREHASH
WOLFSSL_MLDSA_CHECK_INVNTT_BOUND
WOLFSSL_MLDSA_SIGN_SMALLEST_MEM
WOLFSSL_MLDSA_TEST_REJ_NTT_FAIL
WOLFSSL_MLDSA_VERIFY_ALLOW_MALLOC
WOLFSSL_MLDSA_VERIFY_PRECOMP_A
WOLFSSL_MLKEM_ASM_TEST
WOLFSSL_MLKEM_INVNTT_UNROLL
WOLFSSL_MLKEM_NO_MALLOC
WOLFSSL_MLKEM_NTT_UNROLL
WOLFSSL_ML_KEM_USE_OLD_IDS
WOLFSSL_MONT_RED_CT
WOLFSSL_MP_COND_COPY
WOLFSSL_MP_INVMOD_CONSTANT_TIME
WOLFSSL_MULTICIRCULATE_ALTNAMELIST
WOLFSSL_MX2_CONF_INCLUDE
WOLFSSL_NETX_DUO
WOLFSSL_NEW_PRIME_CHECK
WOLFSSL_NONBLOCK_OCSP
WOLFSSL_NOSHA3_384
WOLFSSL_NOT_WINDOWS_API
WOLFSSL_NO_AES_KEY_SET_CHECK
WOLFSSL_NO_BIO_ADDR_IN
WOLFSSL_NO_CA_NAMES
WOLFSSL_NO_CHACHA20_POLY1305_FUSED
WOLFSSL_NO_CHACHA20_POLY1305_FUSED_IFMA
WOLFSSL_NO_CHACHA20_POLY1305_SHORT
WOLFSSL_NO_CHACHA20_POLY1305_SMALL_ASM
WOLFSSL_NO_CLIENT_CERT_ERROR
WOLFSSL_NO_COPY_CERT
WOLFSSL_NO_COPY_KEY
WOLFSSL_NO_CRL_DATE_CHECK
WOLFSSL_NO_CRL_NEXT_DATE
Expand All @@ -1096,10 +1073,7 @@ WOLFSSL_NO_DECODE_EXTRA
WOLFSSL_NO_DEL_HANDLE
WOLFSSL_NO_DER_TO_PEM
WOLFSSL_NO_DH186
WOLFSSL_NO_DILITHIUM_LEGACY_GATES
WOLFSSL_NO_DILITHIUM_LEGACY_NAMES
WOLFSSL_NO_DTLS_SIZE_CHECK
WOLFSSL_NO_ECC_SW
WOLFSSL_NO_ECDHX_SHARED_ZERO_CHECK
WOLFSSL_NO_ETM_ALERT
WOLFSSL_NO_FCHMOD
Expand All @@ -1117,7 +1091,6 @@ WOLFSSL_NO_LMS_SHAKE256_256
WOLFSSL_NO_OCSP_DATE_CHECK
WOLFSSL_NO_OCSP_OPTIONAL_CERTS
WOLFSSL_NO_RSA_KEY_CHECK
WOLFSSL_NO_RSA_SW
WOLFSSL_NO_SERVER_GROUPS_EXT
WOLFSSL_NO_SESSION_STATS
WOLFSSL_NO_SHA256_N_WAY
Expand All @@ -1128,7 +1101,6 @@ WOLFSSL_NO_SIGALG
WOLFSSL_NO_SIGNER_DER_CERT
WOLFSSL_NO_SOCKADDR_UN
WOLFSSL_NO_STRICT_CIPHER_SUITE
WOLFSSL_NO_TICKET_EXPIRE
WOLFSSL_NO_TRUSTED_CERTS_VERIFY
WOLFSSL_NO_WORD64_OPS
WOLFSSL_NO_XOR_OPS
Expand All @@ -1145,7 +1117,6 @@ WOLFSSL_NXP_ELE_NO_TRNG_CHECK
WOLFSSL_NXP_ELE_USE_DEVID
WOLFSSL_NXP_HWPUF
WOLFSSL_NXP_LPC55S6X
WOLFSSL_OCSP_SCREEN_RESPONDER
WOLFSSL_OLDTLS_AEAD_CIPHERSUITES
WOLFSSL_OLD_SET_CURVES_LIST
WOLFSSL_OLD_TIMINGPADVERIFY
Expand Down Expand Up @@ -1208,7 +1179,6 @@ WOLFSSL_SEC_QORIQ_NO_PKHA
WOLFSSL_SEC_QORIQ_NO_RSA
WOLFSSL_SEC_QORIQ_SWAP_REGS
WOLFSSL_SERVER_EXAMPLE
WOLFSSL_SESSION_CACHE_REF_WARNED
WOLFSSL_SETTINGS_FILE
WOLFSSL_SGX_CPUID_AVX512_VAES
WOLFSSL_SHA256_ALT_CH_MAJ
Expand Down Expand Up @@ -1237,10 +1207,6 @@ WOLFSSL_STSAFE_TAKES_SLOT
WOLFSSL_TELIT_M2MB
WOLFSSL_TEMPLATE_EXAMPLE
WOLFSSL_THREADED_CRYPT
WOLFSSL_TI_AM64X_R5
WOLFSSL_TI_AM64X_RNG_CTR_DRBG
WOLFSSL_TI_AM64X_NO_AES
WOLFSSL_TI_AM64X_NO_SHA
WOLFSSL_TICKET_DECRYPT_NO_CREATE
WOLFSSL_TICKET_ENC_AES128_GCM
WOLFSSL_TICKET_ENC_AES256_CBC
Expand All @@ -1250,11 +1216,13 @@ WOLFSSL_TICKET_ENC_CHACHA20_POLY1305
WOLFSSL_TICKET_ENC_HMAC_SHA384
WOLFSSL_TICKET_ENC_HMAC_SHA512
WOLFSSL_TINY_TLS13_NO_DEFAULT_CURVE
WOLFSSL_TI_AM64X_NO_AES
WOLFSSL_TI_AM64X_NO_SHA
WOLFSSL_TI_AM64X_R5
WOLFSSL_TI_AM64X_RNG_CTR_DRBG
WOLFSSL_TI_CURRTIME
WOLFSSL_TLS13_DRAFT
WOLFSSL_TLS13_IGNORE_AEAD_LIMITS
WOLFSSL_TLS13_IGNORE_PT_ALERT_ON_ENC
WOLFSSL_TLS13_NULL_CIPHER_IN_DEFAULT
WOLFSSL_TLS13_TICKET_BEFORE_FINISHED
WOLFSSL_TLS13_TICKET_CHECK_PSK_MODES
WOLFSSL_TLSX_PQC_MLKEM_STORE_PRIV_KEY
Expand All @@ -1275,7 +1243,6 @@ WOLFSSL_VALIDATE_MLDSA_KEYGEN
WOLFSSL_VALIDATE_MLKEM_KEYGEN
WOLFSSL_VALIDATE_SLHDSA_KEYGEN
WOLFSSL_VAULTIC_DEBUG
WOLFSSL_VERBOSE_LOGGING
WOLFSSL_VERSAL_GEN2_ASU_CCM_ALIGN_DECLINE
WOLFSSL_VERSAL_GEN2_ASU_CTR_WRAP_HW_FIXED
WOLFSSL_VERSAL_GEN2_ASU_DEBUG
Expand All @@ -1300,7 +1267,6 @@ WOLFSSL_X509_KEY_GEN
WOLFSSL_X509_PEM
WOLFSSL_X509_STORE_ALLOW_NON_CA_INTERMEDIATE
WOLFSSL_X509_STORE_CERTS
WOLFSSL_X509_TINY
WOLFSSL_X509_TRUSTED_CERTIFICATE_CALLBACK
WOLFSSL_X509_VERIFY_ONLY
WOLFSSL_XFREE_NO_NULLNESS_CHECK
Expand All @@ -1312,10 +1278,7 @@ WOLFSSL_ZEPHYR_MAIN_ARGS
WOLFSSL_nRF5x_SDK_15_2
WOLF_ALLOW_BUILTIN
WOLF_CONF_ASN_TIME
WOLF_CRYPTO_CB_ASYNC_POLL
WOLF_CRYPTO_CB_KEYGEN_SW_FALLBACK
WOLF_CRYPTO_CB_ONLY_SHA
WOLF_CRYPTO_CB_SHAKE_XOF
WOLF_CRYPTO_DEV
WOLF_NO_TRAILING_ENUM_COMMAS
WindowsCE
Expand Down
103 changes: 78 additions & 25 deletions linuxkm/Kbuild
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,18 @@ endif

ccflags-y = $(WOLFSSL_CFLAGS) $(WOLFSSL_CFLAGS_NO_VECTOR_INSNS)

# Retpoline mitigation for Spectre v2 was added in 4.15, but under knob
# CONFIG_RETPOLINE, and return thunk mitigation for retbleed was added
# in 5.19, but under knob CONFIG_RETHUNK. The current knob names were
# merged in 6.9; alias to current names so one set of conditionals
# serves both.
CONFIG_MITIGATION_RETPOLINE ?= $(CONFIG_RETPOLINE)
CONFIG_MITIGATION_RETHUNK ?= $(CONFIG_RETHUNK)

ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
ifdef CONFIG_CFI_CLANG
$(error CONFIG_CFI_CLANG is not compatible with ENABLED_LINUXKM_PIE.)
endif
# note, we need -fno-stack-protector to avoid references to
# "__stack_chk_fail" from the wolfCrypt container.
PIE_FLAGS := -DWC_CONTAINERIZE_THIS -fno-stack-protector -fno-toplevel-reorder
Expand Down Expand Up @@ -206,44 +217,86 @@ ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
ifeq "$(KERNEL_ARCH_X86)" "yes"
PIE_FLAGS += -mcmodel=small

# eliminate external references to __x86_return_thunk and
# __x86_indirect_thunk_foo implementations. _all_ references must be
# eliminated, not just those in PIE objects, otherwise some kernels will
# eliminate external references to __x86_return_thunk (via
# -mfunction-return=thunk-inline) and __x86_indirect_thunk_foo (via
# -mindirect-branch=thunk-inline). _all_ references must be eliminated,
# not just those in PIE objects, otherwise some kernels will
# false-positively complain about unpatched thunks.
ifeq "$(CONFIG_MITIGATION_RETPOLINE)" "y"
PIE_SUPPORT_FLAGS += -mfunction-return=thunk-inline
else
PIE_SUPPORT_FLAGS += -mfunction-return=keep
endif
ifeq "$(CONFIG_MITIGATION_RETHUNK)" "y"
PIE_SUPPORT_FLAGS += -mindirect-branch=thunk-inline
else
PIE_SUPPORT_FLAGS += -mindirect-branch=keep
endif

NO_EXTERNAL_THUNKS := y

OBJECT_FILES_NON_STANDARD := y
endif
ifeq "$(KERNEL_ARCH)" "arm"
PIE_FLAGS += -fno-unwind-tables
PIE_FLAGS += -fno-unwind-tables
endif
ifeq "$(KERNEL_ARCH)" "mips"
PIE_FLAGS += -mabicalls
PIE_FLAGS += -mabicalls
endif
ccflags-y += $(PIE_SUPPORT_FLAGS)
$(WOLFCRYPT_PIE_FILES): ccflags-y += $(PIE_FLAGS)
$(WOLFCRYPT_PIE_FILES): ccflags-remove-y += -pg \
$(call cc-option,-ftrivial-auto-var-init=zero)
$(call cc-option,-ftrivial-auto-var-init=zero)
endif

# An explicit FORCE_GLOBAL_OBJTOOL_OFF is refused outright with clang -- the
# thunk repair below is gcc-only.
ifdef CONFIG_CC_IS_CLANG
ifdef FORCE_GLOBAL_OBJTOOL_OFF
$(error FORCE_GLOBAL_OBJTOOL_OFF is not supported with clang.)
endif
endif

# On some kernels/configs, objtool runs and warns on the linked libwolfssl.o,
# ignoring the below "OBJECT_FILES_NON_STANDARD := y" annotations. This
# mechanism, activated with "make KBUILD_EXTRA_FLAGS=FORCE_GLOBAL_OBJTOOL_OFF=1",
# inhibits objtool completely. This may be necessary on modules compiled with
# assembly accelerations and/or ENABLED_LINUXKM_PIE.
# Similar to scripts/Makefile.lib delay-objtool: disable objtool on the kernels
# that run it on the linked object, ignoring OBJECT_FILES_NON_STANDARD. (Parse
# order prevents testing delay-objtool itself here: Makefile.build includes this
# file before Makefile.lib.) Auto-disablement is a gcc-only remedy, unavailable
# on clang, and objtool is mandatory to CONFIG_LTO_CLANG in any case.
ifndef CONFIG_CC_IS_CLANG
ifneq ($(or $(CONFIG_X86_KERNEL_IBT),$(CONFIG_KLP_BUILD)),)
ifeq "$(ENABLED_LINUXKM_PIE)" "yes"
FORCE_GLOBAL_OBJTOOL_OFF := y
else ifeq "$(ENABLED_ASM)" "yes"
FORCE_GLOBAL_OBJTOOL_OFF := y
endif
endif
endif

# objtool disablement can be manually activated with "make
# KBUILD_EXTRA_FLAGS=FORCE_GLOBAL_OBJTOOL_OFF=1"
ifdef FORCE_GLOBAL_OBJTOOL_OFF
undefine CONFIG_OBJTOOL
# On <5.19, the knob is named CONFIG_STACK_VALIDATION.
undefine CONFIG_STACK_VALIDATION
NO_EXTERNAL_THUNKS := y
endif

ifdef NO_EXTERNAL_THUNKS
ifeq "$(KERNEL_ARCH_X86)" "yes"
ifdef CONFIG_CC_IS_CLANG
# clang has no inline-thunk codegen (-mfunction-return accepts
# only keep/thunk-extern, and -mindirect-branch is a gcc-only
# spelling), so external thunk references are ineliminable when
# the mitigations are configured.
ifneq "$(CONFIG_MITIGATION_RETHUNK)$(CONFIG_MITIGATION_RETPOLINE)" ""
$(error NO_EXTERNAL_THUNKS requires gcc when retpoline/rethunk is configured.)
endif
else
ifeq "$(CONFIG_MITIGATION_RETHUNK)" "y"
PIE_SUPPORT_FLAGS += -mfunction-return=thunk-inline
else
PIE_SUPPORT_FLAGS += -mfunction-return=keep
endif
ifeq "$(CONFIG_MITIGATION_RETPOLINE)" "y"
PIE_SUPPORT_FLAGS += -mindirect-branch=thunk-inline -mindirect-branch-register
else
PIE_SUPPORT_FLAGS += -mindirect-branch=keep
endif
endif
endif
endif

ccflags-y += $(PIE_SUPPORT_FLAGS)

ifdef KERNEL_EXTRA_CFLAGS_REMOVE
ccflags-remove-y += $(KERNEL_EXTRA_CFLAGS_REMOVE)
endif
Expand Down Expand Up @@ -354,9 +407,9 @@ RENAME_PIE_TEXT_AND_DATA_SECTIONS := \
cd "$(obj)" || exit $$?; \
for file in $(WOLFCRYPT_PIE_FILES); do \
$(OBJCOPY) $$($(READELF) --sections --wide "$$file" | \
$(AWK) ' \
$(AWK) ' \
{ \
if (match($$0, "^ *\\[ *[0-9]+\\] +\\.(text|rodata|data|bss)(\\.[^ ]+)? ", a)) \
if (match($$0, "^ *\\[ *[0-9]+\\] +\\.(text|rodata|data|bss)(\\.[^ ]+)? ", a)) \
{ \
printf("--rename-section .%s%s=.%s_wolfcrypt ", \
a[1], a[2], a[1]); \
Expand All @@ -366,7 +419,7 @@ RENAME_PIE_TEXT_AND_DATA_SECTIONS := \
printf("--rename-section .%s.%s=.%s_wolfcrypt ", a[1], a[2], a[2]); \
} \
}') "$$file" || exit $$?; \
done; \
done; \
{ $(READELF) --sections --syms --wide $(WOLFCRYPT_PIE_FILES) | \
$(AWK) -v obj="$(obj)" ' \
/^File:/ { \
Expand Down
Loading
Loading