Re: [PATCH] arm64: remove redundant FRAME_POINTER kconfig option

From: Shi, Yang
Date: Fri Nov 06 2015 - 12:56:01 EST


On 11/6/2015 9:51 AM, Catalin Marinas wrote:
On Fri, Nov 06, 2015 at 09:39:07AM -0800, Shi, Yang wrote:
On 11/6/2015 9:35 AM, Catalin Marinas wrote:
On Fri, Nov 06, 2015 at 09:23:38AM -0800, Shi, Yang wrote:
On 11/6/2015 8:25 AM, Will Deacon wrote:
However, the patch would allow one to
disable FRAME_POINTERS (not sure it has any effect on the aarch64 gcc
though).

No, it doesn't. Actually, FRAME_POINTER could be disabled regardless of the
patch.

In which case I suggest that we always select it just as a clearer
statement that the feature cannot be disabled (and you never know what
the compiler people decide to do in the future).

Do you mean select FRAME_POINTER in ARCH_WANT_FRAME_POINTERS?

Yes, we could, but this may cause other architectures which select
ARCH_WANT_FRAME_POINTERS to have FRAME_POINTER selected too.

This would have been the ideal option, something like:

--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -322,7 +322,7 @@ config ARCH_WANT_FRAME_POINTERS
help

config FRAME_POINTER
- bool "Compile the kernel with frame pointers"
+ bool "Compile the kernel with frame pointers" if !ARCH_WANT_FRAME_POINTERS
depends on DEBUG_KERNEL && \
(CRIS || M68K || FRV || UML || \
AVR32 || SUPERH || BLACKFIN || MN10300 || METAG) || \

But, as you said, we would need to check the other architectures
selecting ARCH_WANT_FRAME_POINTERS.

How about:

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 1d1521c..709255a 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -319,6 +319,7 @@ config DEBUG_SECTION_MISMATCH
#
config ARCH_WANT_FRAME_POINTERS
bool
+ select FRAME_POINTER if ARM64
help

config FRAME_POINTER

If other architectures want the same behavior, they could easily append to the is statement. If all arches which selects ARCH_WANT_FRAME_POINTERS, the if statement could be just removed.

Yang


In the meantime:

--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -27,6 +27,7 @@ config ARM64
select CPU_PM if (SUSPEND || CPU_IDLE)
select DCACHE_WORD_ACCESS
select EDAC_SUPPORT
+ select FRAME_POINTER
select GENERIC_ALLOCATOR
select GENERIC_CLOCKEVENTS
select GENERIC_CLOCKEVENTS_BROADCAST


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/