[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