diff options
author | Andi Kleen <ak@suse.de> | 2006-09-26 10:52:30 +0200 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-09-26 10:52:30 +0200 |
commit | e2414910f212c52d9d7c64c99a22863488ac5b48 (patch) | |
tree | 5a7e55191ace4aa755c0684bcefc9cf1b124128c /scripts | |
parent | fe7414a2882c953788af13a7f2c9d570ed8f71c5 (diff) | |
download | lwn-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.include | 7 |
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) |