arch/x86/Kconfig.debug | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
It took me some time to understand the purpose of the tricky code at
the end of arch/x86/Kconfig.debug.
Without it, the following would be shown:
WARNING: unmet direct dependencies detected for FRAME_POINTER
because commit 81d387190039 ("x86/kconfig: Consolidate unwinders into
multiple choice selection") removed 'select ARCH_WANT_FRAME_POINTERS'.
The correct and more straightforward approach should have been to move
it where 'select FRAME_POINTER' is located.
Several architectures properly handle the conditional selection of
ARCH_WANT_FRAME_POINTERS. For example, 'config UNWINDER_FRAME_POINTER'
in arch/arm/Kconfig.debug.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
arch/x86/Kconfig.debug | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index c5d614d28a75..74777a97e394 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -248,6 +248,7 @@ config UNWINDER_ORC
config UNWINDER_FRAME_POINTER
bool "Frame pointer unwinder"
+ select ARCH_WANT_FRAME_POINTERS
select FRAME_POINTER
help
This option enables the frame pointer unwinder for unwinding kernel
@@ -271,7 +272,3 @@ config UNWINDER_GUESS
overhead.
endchoice
-
-config FRAME_POINTER
- depends on !UNWINDER_ORC && !UNWINDER_GUESS
- bool
--
2.40.1
On Sun, Feb 04, 2024 at 09:20:03PM +0900, Masahiro Yamada wrote:
> It took me some time to understand the purpose of the tricky code at
> the end of arch/x86/Kconfig.debug.
>
> Without it, the following would be shown:
>
> WARNING: unmet direct dependencies detected for FRAME_POINTER
>
> because commit 81d387190039 ("x86/kconfig: Consolidate unwinders into
> multiple choice selection") removed 'select ARCH_WANT_FRAME_POINTERS'.
>
> The correct and more straightforward approach should have been to move
> it where 'select FRAME_POINTER' is located.
>
> Several architectures properly handle the conditional selection of
> ARCH_WANT_FRAME_POINTERS. For example, 'config UNWINDER_FRAME_POINTER'
> in arch/arm/Kconfig.debug.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Looks good, thanks for fixing that!
Fixes: 81d387190039 ("x86/kconfig: Consolidate unwinders into multiple choice selection")
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
--
Josh
Ping?
On Sun, Feb 4, 2024 at 9:20 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> It took me some time to understand the purpose of the tricky code at
> the end of arch/x86/Kconfig.debug.
>
> Without it, the following would be shown:
>
> WARNING: unmet direct dependencies detected for FRAME_POINTER
>
> because commit 81d387190039 ("x86/kconfig: Consolidate unwinders into
> multiple choice selection") removed 'select ARCH_WANT_FRAME_POINTERS'.
>
> The correct and more straightforward approach should have been to move
> it where 'select FRAME_POINTER' is located.
>
> Several architectures properly handle the conditional selection of
> ARCH_WANT_FRAME_POINTERS. For example, 'config UNWINDER_FRAME_POINTER'
> in arch/arm/Kconfig.debug.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
>
> arch/x86/Kconfig.debug | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
> index c5d614d28a75..74777a97e394 100644
> --- a/arch/x86/Kconfig.debug
> +++ b/arch/x86/Kconfig.debug
> @@ -248,6 +248,7 @@ config UNWINDER_ORC
>
> config UNWINDER_FRAME_POINTER
> bool "Frame pointer unwinder"
> + select ARCH_WANT_FRAME_POINTERS
> select FRAME_POINTER
> help
> This option enables the frame pointer unwinder for unwinding kernel
> @@ -271,7 +272,3 @@ config UNWINDER_GUESS
> overhead.
>
> endchoice
> -
> -config FRAME_POINTER
> - depends on !UNWINDER_ORC && !UNWINDER_GUESS
> - bool
> --
> 2.40.1
>
--
Best Regards
Masahiro Yamada
Hi, x86 maintainers
Please check this.
And, please also note the current code is incorrect,
and it may get broken with future Kconfig refactoring.
On Thu, Mar 21, 2024 at 12:30 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> Ping?
>
>
> On Sun, Feb 4, 2024 at 9:20 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
> >
> > It took me some time to understand the purpose of the tricky code at
> > the end of arch/x86/Kconfig.debug.
> >
> > Without it, the following would be shown:
> >
> > WARNING: unmet direct dependencies detected for FRAME_POINTER
> >
> > because commit 81d387190039 ("x86/kconfig: Consolidate unwinders into
> > multiple choice selection") removed 'select ARCH_WANT_FRAME_POINTERS'.
> >
> > The correct and more straightforward approach should have been to move
> > it where 'select FRAME_POINTER' is located.
> >
> > Several architectures properly handle the conditional selection of
> > ARCH_WANT_FRAME_POINTERS. For example, 'config UNWINDER_FRAME_POINTER'
> > in arch/arm/Kconfig.debug.
> >
> > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> > ---
> >
> > arch/x86/Kconfig.debug | 5 +----
> > 1 file changed, 1 insertion(+), 4 deletions(-)
> >
> > diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
> > index c5d614d28a75..74777a97e394 100644
> > --- a/arch/x86/Kconfig.debug
> > +++ b/arch/x86/Kconfig.debug
> > @@ -248,6 +248,7 @@ config UNWINDER_ORC
> >
> > config UNWINDER_FRAME_POINTER
> > bool "Frame pointer unwinder"
> > + select ARCH_WANT_FRAME_POINTERS
> > select FRAME_POINTER
> > help
> > This option enables the frame pointer unwinder for unwinding kernel
> > @@ -271,7 +272,3 @@ config UNWINDER_GUESS
> > overhead.
> >
> > endchoice
> > -
> > -config FRAME_POINTER
> > - depends on !UNWINDER_ORC && !UNWINDER_GUESS
> > - bool
> > --
> > 2.40.1
> >
>
>
> --
> Best Regards
> Masahiro Yamada
--
Best Regards
Masahiro Yamada
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: 66ee3636eddcc82ab82b539d08b85fb5ac1dff9b
Gitweb: https://git.kernel.org/tip/66ee3636eddcc82ab82b539d08b85fb5ac1dff9b
Author: Masahiro Yamada <masahiroy@kernel.org>
AuthorDate: Sun, 04 Feb 2024 21:20:03 +09:00
Committer: Borislav Petkov (AMD) <bp@alien8.de>
CommitterDate: Mon, 20 May 2024 11:37:23 +02:00
x86/kconfig: Select ARCH_WANT_FRAME_POINTERS again when UNWINDER_FRAME_POINTER=y
It took me some time to understand the purpose of the tricky code at
the end of arch/x86/Kconfig.debug.
Without it, the following would be shown:
WARNING: unmet direct dependencies detected for FRAME_POINTER
because
81d387190039 ("x86/kconfig: Consolidate unwinders into multiple choice selection")
removed 'select ARCH_WANT_FRAME_POINTERS'.
The correct and more straightforward approach should have been to move
it where 'select FRAME_POINTER' is located.
Several architectures properly handle the conditional selection of
ARCH_WANT_FRAME_POINTERS. For example, 'config UNWINDER_FRAME_POINTER'
in arch/arm/Kconfig.debug.
Fixes: 81d387190039 ("x86/kconfig: Consolidate unwinders into multiple choice selection")
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Link: https://lore.kernel.org/r/20240204122003.53795-1-masahiroy@kernel.org
---
arch/x86/Kconfig.debug | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index c5d614d..74777a9 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -248,6 +248,7 @@ config UNWINDER_ORC
config UNWINDER_FRAME_POINTER
bool "Frame pointer unwinder"
+ select ARCH_WANT_FRAME_POINTERS
select FRAME_POINTER
help
This option enables the frame pointer unwinder for unwinding kernel
@@ -271,7 +272,3 @@ config UNWINDER_GUESS
overhead.
endchoice
-
-config FRAME_POINTER
- depends on !UNWINDER_ORC && !UNWINDER_GUESS
- bool
© 2016 - 2026 Red Hat, Inc.