diff options
author | Brian Gerst <brgerst@gmail.com> | 2009-02-10 09:51:47 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-02-11 06:40:45 -0500 |
commit | 9c8bb6b534d1c89a20bf9bb45e1471cf8f4747c0 (patch) | |
tree | 7584daacae9325b1694468467f607ada11573186 | |
parent | 253f29a4ae9cc6cdc7b94f96517f27a93885a6ce (diff) |
x86: drop -fno-stack-protector annotations after pt_regs fixes
Now that no functions rely on struct pt_regs being passed by value,
various "no stack protector" annotations can be dropped.
Signed-off-by: Brian Gerst <brgerst@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/kernel/Makefile | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index b1f8be33300d..37fa30bada17 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile | |||
@@ -24,24 +24,6 @@ CFLAGS_vsyscall_64.o := $(PROFILING) -g0 $(nostackp) | |||
24 | CFLAGS_hpet.o := $(nostackp) | 24 | CFLAGS_hpet.o := $(nostackp) |
25 | CFLAGS_tsc.o := $(nostackp) | 25 | CFLAGS_tsc.o := $(nostackp) |
26 | CFLAGS_paravirt.o := $(nostackp) | 26 | CFLAGS_paravirt.o := $(nostackp) |
27 | # | ||
28 | # On x86_32, register frame is passed verbatim on stack as struct | ||
29 | # pt_regs. gcc considers the parameter to belong to the callee and | ||
30 | # with -fstack-protector it copies pt_regs to the callee's stack frame | ||
31 | # to put the structure after the stack canary causing changes made by | ||
32 | # the exception handlers to be lost. Turn off stack protector for all | ||
33 | # files containing functions which take struct pt_regs from register | ||
34 | # frame. | ||
35 | # | ||
36 | # The proper way to fix this is to teach gcc that the argument belongs | ||
37 | # to the caller for these functions, oh well... | ||
38 | # | ||
39 | ifdef CONFIG_X86_32 | ||
40 | CFLAGS_process_32.o := $(nostackp) | ||
41 | CFLAGS_vm86_32.o := $(nostackp) | ||
42 | CFLAGS_signal.o := $(nostackp) | ||
43 | CFLAGS_traps.o := $(nostackp) | ||
44 | endif | ||
45 | 27 | ||
46 | obj-y := process_$(BITS).o signal.o entry_$(BITS).o | 28 | obj-y := process_$(BITS).o signal.o entry_$(BITS).o |
47 | obj-y += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o | 29 | obj-y += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o |