Thread (10 messages) 10 messages, 3 authors, 2023-06-20

Re: [RFC PATCH v1 2/3] powerpc: Mark all .S files invalid for objtool

From: Naveen N Rao <naveen@kernel.org>
Date: 2023-06-20 06:06:21
Also in: lkml
Subsystem: kernel build + files below scripts/ (unless maintained elsewhere), the rest · Maintainers: Nathan Chancellor, Nicolas Schier, Linus Torvalds

Christophe Leroy wrote:
A lot of work is required in .S files in order to get them ready
for objtool checks.

For the time being, exclude them from the checks.

This is done with the script below:

	#!/bin/sh
	DIRS=`find arch/powerpc -name "*.S" -exec dirname {} \; | sort | uniq`
	for d in $DIRS
	do
		pushd $d
		echo >> Makefile
		for f in *.S
		do
			echo "OBJECT_FILES_NON_STANDARD_$f := y" | sed s/"\.S"/".o"/g
		done >> Makefile
		popd
	done

Signed-off-by: Christophe Leroy <redacted>
---
 arch/powerpc/boot/Makefile                 | 17 +++++++++
 arch/powerpc/crypto/Makefile               | 13 +++++++
 arch/powerpc/kernel/Makefile               | 44 ++++++++++++++++++++++
 arch/powerpc/kernel/trace/Makefile         |  4 ++
 arch/powerpc/kernel/vdso/Makefile          | 11 ++++++
 arch/powerpc/kexec/Makefile                |  2 +
 arch/powerpc/kvm/Makefile                  | 13 +++++++
 arch/powerpc/lib/Makefile                  | 25 ++++++++++++
 arch/powerpc/mm/book3s32/Makefile          |  3 ++
 arch/powerpc/mm/nohash/Makefile            |  3 ++
 arch/powerpc/perf/Makefile                 |  2 +
 arch/powerpc/platforms/44x/Makefile        |  2 +
 arch/powerpc/platforms/52xx/Makefile       |  3 ++
 arch/powerpc/platforms/83xx/Makefile       |  2 +
 arch/powerpc/platforms/cell/spufs/Makefile |  3 ++
 arch/powerpc/platforms/pasemi/Makefile     |  2 +
 arch/powerpc/platforms/powermac/Makefile   |  3 ++
 arch/powerpc/platforms/powernv/Makefile    |  3 ++
 arch/powerpc/platforms/ps3/Makefile        |  2 +
 arch/powerpc/platforms/pseries/Makefile    |  2 +
 arch/powerpc/purgatory/Makefile            |  3 ++
 arch/powerpc/sysdev/Makefile               |  3 ++
 arch/powerpc/xmon/Makefile                 |  3 ++
 23 files changed, 168 insertions(+)
I think it might be better to have a config option so that architectures 
can opt-in to skip objtool on asm files. We can then do:
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 9f94fc83f08652..878027cf4faf37 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -359,7 +359,11 @@ $(obj)/%.s: $(src)/%.S FORCE
        $(call if_changed_dep,cpp_s_S)
 
 quiet_cmd_as_o_S = AS $(quiet_modtag)  $@
+ifndef CONFIG_ARCH_OBJTOOL_SKIP_ASM
       cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $< $(cmd_objtool)
+else
+      cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $<
+endif
 
 ifdef CONFIG_ASM_MODVERSIONS
 


- Naveen
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help