aboutsummaryrefslogtreecommitdiffstats
path: root/module/Kbuild.in
diff options
context:
space:
mode:
authorAlexander Lobakin <[email protected]>2022-10-16 23:23:44 +0200
committerBrian Behlendorf <[email protected]>2022-11-04 11:25:51 -0700
commit61cca6fa0506d41e5c794b293bedd982265fc1b2 (patch)
treee924dc09d79fb1f71f5394192a8785a71b7ffe49 /module/Kbuild.in
parentb844489ec0e35b0a9b3cda5ba72bf29334f81081 (diff)
icp: fix rodata being marked as text in x86 Asm code
objtool properly complains that it can't decode some of the instructions from ICP x86 Asm code. As mentioned in the Makefile, where those object files were excluded from objtool check (but they can still be visible under IBT and LTO), those are just constants, not code. In that case, they must be placed in .rodata, so they won't be marked as "allocatable, executable" (ax) in EFL headers and this effectively prevents objtool from trying to decode this data. That reveals a whole bunch of other issues in ICP Asm code, as previously objtool was bailing out after that warning message. Reviewed-by: Attila Fülöp <[email protected]> Reviewed-by: Tino Reichardt <[email protected]> Reviewed-by: Richard Yao <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Alexander Lobakin <[email protected]> Closes #14035
Diffstat (limited to 'module/Kbuild.in')
-rw-r--r--module/Kbuild.in6
1 files changed, 1 insertions, 5 deletions
diff --git a/module/Kbuild.in b/module/Kbuild.in
index 7a20e6ee4..581d50e64 100644
--- a/module/Kbuild.in
+++ b/module/Kbuild.in
@@ -150,12 +150,8 @@ $(addprefix $(obj)/icp/,$(ICP_OBJS) $(ICP_OBJS_X86) $(ICP_OBJS_X86_64) \
$(addprefix $(obj)/icp/,$(ICP_OBJS) $(ICP_OBJS_X86) $(ICP_OBJS_X86_64) \
$(ICP_OBJS_ARM64) $(ICP_OBJS_PPC_PPC64)) : ccflags-y += -I$(icp_include)
-# Suppress objtool "can't find jump dest instruction at" warnings. They
-# are caused by the constants which are defined in the text section of the
-# assembly file using .byte instructions (e.g. bswap_mask). The objtool
-# utility tries to interpret them as opcodes and obviously fails doing so.
+# Suppress objtool "return with modified stack frame" warnings.
OBJECT_FILES_NON_STANDARD_aesni-gcm-x86_64.o := y
-OBJECT_FILES_NON_STANDARD_ghash-x86_64.o := y
# Suppress objtool "unsupported stack pointer realignment" warnings. We are
# not using a DRAP register while aligning the stack to a 64 byte boundary.