summaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorNick Desaulniers <ndesaulniers@google.com>2020-02-14 14:18:11 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2020-06-04 19:28:07 -0700
commit587f17018a2c6c414e41a312b002faaef60cf423 (patch)
tree881d00bb7269848b4601dd62baf5186e819e52de /init
parent886d7de631da71e30909980fdbf318f7caade262 (diff)
downloadlwn-587f17018a2c6c414e41a312b002faaef60cf423.tar.gz
lwn-587f17018a2c6c414e41a312b002faaef60cf423.zip
Kconfig: add config option for asm goto w/ outputs
This allows C code to make use of compilers with support for output variables along the fallthrough path via preprocessor define: CONFIG_CC_HAS_ASM_GOTO_OUTPUT [ This is not used anywhere yet, and currently released compilers don't support this yet, but it's coming, and I have some local experimental patches to take advantage of it when it does - Linus ] Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'init')
-rw-r--r--init/Kconfig4
1 files changed, 4 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 2d12d38cdd88..b5294bcba61d 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -36,6 +36,10 @@ config CC_CAN_LINK
config CC_HAS_ASM_GOTO
def_bool $(success,$(srctree)/scripts/gcc-goto.sh $(CC))
+config CC_HAS_ASM_GOTO_OUTPUT
+ depends on CC_HAS_ASM_GOTO
+ def_bool $(success,echo 'int foo(int x) { asm goto ("": "=r"(x) ::: bar); return x; bar: return 0; }' | $(CC) -x c - -c -o /dev/null)
+
config TOOLS_SUPPORT_RELR
def_bool $(success,env "CC=$(CC)" "LD=$(LD)" "NM=$(NM)" "OBJCOPY=$(OBJCOPY)" $(srctree)/scripts/tools-support-relr.sh)