diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/Kconfig.debug | 21 | ||||
-rw-r--r-- | arch/arm/Makefile | 4 | ||||
-rw-r--r-- | arch/arm/kernel/Makefile | 1 |
3 files changed, 21 insertions, 5 deletions
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index 192ee01a9ba2..35f8db35f442 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug | |||
@@ -2,18 +2,29 @@ menu "Kernel hacking" | |||
2 | 2 | ||
3 | source "lib/Kconfig.debug" | 3 | source "lib/Kconfig.debug" |
4 | 4 | ||
5 | # RMK wants arm kernels compiled with frame pointers so hardwire this to y. | 5 | # RMK wants arm kernels compiled with frame pointers or stack unwinding. |
6 | # If you know what you are doing and are willing to live without stack | 6 | # If you know what you are doing and are willing to live without stack |
7 | # traces, you can get a slightly smaller kernel by setting this option to | 7 | # traces, you can get a slightly smaller kernel by setting this option to |
8 | # n, but then RMK will have to kill you ;). | 8 | # n, but then RMK will have to kill you ;). |
9 | config FRAME_POINTER | 9 | config FRAME_POINTER |
10 | bool | 10 | bool |
11 | default y | 11 | default y if !ARM_UNWIND |
12 | help | 12 | help |
13 | If you say N here, the resulting kernel will be slightly smaller and | 13 | If you say N here, the resulting kernel will be slightly smaller and |
14 | faster. However, when a problem occurs with the kernel, the | 14 | faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled, |
15 | information that is reported is severely limited. Most people | 15 | when a problem occurs with the kernel, the information that is |
16 | should say Y here. | 16 | reported is severely limited. |
17 | |||
18 | config ARM_UNWIND | ||
19 | bool "Enable stack unwinding support" | ||
20 | depends on AEABI && EXPERIMENTAL | ||
21 | default y | ||
22 | help | ||
23 | This option enables stack unwinding support in the kernel | ||
24 | using the information automatically generated by the | ||
25 | compiler. The resulting kernel image is slightly bigger but | ||
26 | the performance is not affected. Currently, this feature | ||
27 | only works with EABI compilers. If unsure say Y. | ||
17 | 28 | ||
18 | config DEBUG_USER | 29 | config DEBUG_USER |
19 | bool "Verbose user fault messages" | 30 | bool "Verbose user fault messages" |
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 24e0f0187697..e7ef876e574b 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -85,6 +85,10 @@ else | |||
85 | CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,) | 85 | CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,) |
86 | endif | 86 | endif |
87 | 87 | ||
88 | ifeq ($(CONFIG_ARM_UNWIND),y) | ||
89 | CFLAGS_ABI +=-funwind-tables | ||
90 | endif | ||
91 | |||
88 | # Need -Uarm for gcc < 3.x | 92 | # Need -Uarm for gcc < 3.x |
89 | KBUILD_CFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm | 93 | KBUILD_CFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm |
90 | KBUILD_AFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) -msoft-float | 94 | KBUILD_AFLAGS +=$(CFLAGS_ABI) $(arch-y) $(tune-y) -msoft-float |
diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index 4305345987d3..ca60d335e8fa 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile | |||
@@ -29,6 +29,7 @@ obj-$(CONFIG_ATAGS_PROC) += atags.o | |||
29 | obj-$(CONFIG_OABI_COMPAT) += sys_oabi-compat.o | 29 | obj-$(CONFIG_OABI_COMPAT) += sys_oabi-compat.o |
30 | obj-$(CONFIG_ARM_THUMBEE) += thumbee.o | 30 | obj-$(CONFIG_ARM_THUMBEE) += thumbee.o |
31 | obj-$(CONFIG_KGDB) += kgdb.o | 31 | obj-$(CONFIG_KGDB) += kgdb.o |
32 | obj-$(CONFIG_ARM_UNWIND) += unwind.o | ||
32 | 33 | ||
33 | obj-$(CONFIG_CRUNCH) += crunch.o crunch-bits.o | 34 | obj-$(CONFIG_CRUNCH) += crunch.o crunch-bits.o |
34 | AFLAGS_crunch-bits.o := -Wa,-mcpu=ep9312 | 35 | AFLAGS_crunch-bits.o := -Wa,-mcpu=ep9312 |