summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-09-26 10:52:30 +0200
committerAndi Kleen <andi@basil.nowhere.org>2006-09-26 10:52:30 +0200
commite2414910f212c52d9d7c64c99a22863488ac5b48 (patch)
tree5a7e55191ace4aa755c0684bcefc9cf1b124128c /scripts
parentfe7414a2882c953788af13a7f2c9d570ed8f71c5 (diff)
downloadlwn-e2414910f212c52d9d7c64c99a22863488ac5b48.tar.gz
lwn-e2414910f212c52d9d7c64c99a22863488ac5b48.zip
[PATCH] x86: Detect CFI support in the assembler at runtime
... instead of using a CONFIG option. The config option still controls if the resulting executable actually has unwind information. This is useful to prevent compilation errors when users select CONFIG_STACK_UNWIND on old binutils and also allows to use CFI in the future for non kernel debugging applications. Cc: jbeulich@novell.com Cc: sam@ravnborg.org Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Kbuild.include7
1 files changed, 7 insertions, 0 deletions
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index 3d523899fdc0..7adef12a0c26 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -63,6 +63,13 @@ as-option = $(shell if $(CC) $(CFLAGS) $(1) -Wa,-Z -c -o /dev/null \
-xassembler /dev/null > /dev/null 2>&1; then echo "$(1)"; \
else echo "$(2)"; fi ;)
+# as-instr
+# Usage: cflags-y += $(call as-instr, instr, option1, option2)
+
+as-instr = $(shell if echo -e "$(1)" | $(AS) -Z -o astest$$$$.out \
+ 2>&1 >/dev/null ; then echo "$(2)"; else echo "$(3)"; fi; \
+ rm -f astest$$$$.out)
+
# cc-option
# Usage: cflags-y += $(call cc-option, -march=winchip-c6, -march=i586)