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 |
