[RFC PATCH v1 2/3] powerpc: Mark all .S files invalid for objtool
Naveen N Rao
naveen at kernel.org
Tue Jun 20 16:04:34 AEST 2023
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 <christophe.leroy at csgroup.eu>
> ---
> 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
More information about the Linuxppc-dev
mailing list