diff options
author | Anton Blanchard <anton@samba.org> | 2005-05-05 19:15:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-05 19:36:32 -0400 |
commit | 7d12e522ba13ce718b7ec32b75803dece8adb072 (patch) | |
tree | 80282ac789c1d48202a570b5828b024f39e63761 | |
parent | 696c2b9f97c2439e9fb299650041ec750df46865 (diff) |
[PATCH] ppc64: remove hidden -fno-omit-frame-pointer for schedule.c
While looking at code generated by gcc4.0 I noticed some functions still
had frame pointers, even after we stopped ppc64 from defining
CONFIG_FRAME_POINTER. It turns out kernel/Makefile hardwires
-fno-omit-frame-pointer on when compiling schedule.c.
Create CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER and define it on architectures
that dont require frame pointers in sched.c code.
(akpm: blame me for the name)
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | arch/ia64/Kconfig | 4 | ||||
-rw-r--r-- | arch/ppc/Kconfig | 4 | ||||
-rw-r--r-- | arch/ppc64/Kconfig | 4 | ||||
-rw-r--r-- | kernel/Makefile | 2 |
4 files changed, 13 insertions, 1 deletions
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index ce13ad689d19..3ad2c4af099c 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -46,6 +46,10 @@ config GENERIC_IOMAP | |||
46 | bool | 46 | bool |
47 | default y | 47 | default y |
48 | 48 | ||
49 | config SCHED_NO_NO_OMIT_FRAME_POINTER | ||
50 | bool | ||
51 | default y | ||
52 | |||
49 | choice | 53 | choice |
50 | prompt "System type" | 54 | prompt "System type" |
51 | default IA64_GENERIC | 55 | default IA64_GENERIC |
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig index ff04dcd30200..d0d94e56b90b 100644 --- a/arch/ppc/Kconfig +++ b/arch/ppc/Kconfig | |||
@@ -43,6 +43,10 @@ config GENERIC_NVRAM | |||
43 | bool | 43 | bool |
44 | default y | 44 | default y |
45 | 45 | ||
46 | config SCHED_NO_NO_OMIT_FRAME_POINTER | ||
47 | bool | ||
48 | default y | ||
49 | |||
46 | source "init/Kconfig" | 50 | source "init/Kconfig" |
47 | 51 | ||
48 | menu "Processor" | 52 | menu "Processor" |
diff --git a/arch/ppc64/Kconfig b/arch/ppc64/Kconfig index f5508abf1188..257ff66d83cf 100644 --- a/arch/ppc64/Kconfig +++ b/arch/ppc64/Kconfig | |||
@@ -40,6 +40,10 @@ config COMPAT | |||
40 | bool | 40 | bool |
41 | default y | 41 | default y |
42 | 42 | ||
43 | config SCHED_NO_NO_OMIT_FRAME_POINTER | ||
44 | bool | ||
45 | default y | ||
46 | |||
43 | # We optimistically allocate largepages from the VM, so make the limit | 47 | # We optimistically allocate largepages from the VM, so make the limit |
44 | # large enough (16MB). This badly named config option is actually | 48 | # large enough (16MB). This badly named config option is actually |
45 | # max order + 1 | 49 | # max order + 1 |
diff --git a/kernel/Makefile b/kernel/Makefile index eb88b446c2cc..b01d26fe8db7 100644 --- a/kernel/Makefile +++ b/kernel/Makefile | |||
@@ -29,7 +29,7 @@ obj-$(CONFIG_SYSFS) += ksysfs.o | |||
29 | obj-$(CONFIG_GENERIC_HARDIRQS) += irq/ | 29 | obj-$(CONFIG_GENERIC_HARDIRQS) += irq/ |
30 | obj-$(CONFIG_SECCOMP) += seccomp.o | 30 | obj-$(CONFIG_SECCOMP) += seccomp.o |
31 | 31 | ||
32 | ifneq ($(CONFIG_IA64),y) | 32 | ifneq ($(CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER),y) |
33 | # According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is | 33 | # According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is |
34 | # needed for x86 only. Why this used to be enabled for all architectures is beyond | 34 | # needed for x86 only. Why this used to be enabled for all architectures is beyond |
35 | # me. I suspect most platforms don't need this, but until we know that for sure | 35 | # me. I suspect most platforms don't need this, but until we know that for sure |