Re: [PATCH][RE-SUBMIT] Default setting of the ARM_UNWIND option

From: Claudio Scordino
Date: Wed Oct 28 2009 - 07:37:49 EST


Catalin Marinas ha scritto:
On Mon, 2009-10-26 at 09:27 +0100, Claudio Scordino wrote:
My ARM board hanged at the initial "Calibrating delay loop" message.

After some inspection, I found out the problem to be with commit
adf8b37bafc1495393201a2ae4235846371870d0. This commit introduces stack
unwinding for ARM, and set it enabled by default. However, it seems to
not work with buggy or not-EABI compilers.

My suggestion is to keep the feature (which is fine) but change the
default setting of the option (see the attached patch).

The option still depends on EXPERIMENTAL, so you get ARM_UNWIND on when
enabling that.

I'm more in favour of a #warning on #error in the unwind.c file based on
the compiler version rather than not having it on by default. The reason
is that people reported performance improvements when compiling the
kernel without frame pointers.
This solution is fine too (even if I still think that changing the default setting is better).

Please, consider the patch in attachment: is it like you would have it ?

BTW, do we have any list of buggy or not-EABI versions of the gcc compiler ?

Many thanks,

Claudio

From: Claudio Scordino <claudio@xxxxxxxxxxxxxxx>
Date: Mon, 19 Oct 2009 11:59:16 +0200
Subject: [PATCH 1/1] Disable stack unwinding support by default, since it does not work on some buggy or not-EABI compilers.

Disable stack unwinding support by default, since it does not work on some
buggy or not-EABI compilers.

Signed-off-by: Claudio Scordino <claudio@xxxxxxxxxxxxxxx>
---
arch/arm/Kconfig.debug | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 1a6f70e..925e3fd 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -19,13 +19,13 @@ config FRAME_POINTER
config ARM_UNWIND
bool "Enable stack unwinding support"
depends on AEABI && EXPERIMENTAL
- default y
+ default n
help
This option enables stack unwinding support in the kernel
using the information automatically generated by the
compiler. The resulting kernel image is slightly bigger but
the performance is not affected. Currently, this feature
- only works with EABI compilers. If unsure say Y.
+ only works with EABI compilers. If unsure say N.

config DEBUG_USER
bool "Verbose user fault messages"
--
1.6.0.4