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.le...@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

Reply via email to