lkml.org 
[lkml]   [2018]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH] objtool: move libelf detection to Kconfig from Makefile
2018-07-10 4:21 GMT+09:00 Josh Poimboeuf <jpoimboe@redhat.com>:
> On Sun, Jul 08, 2018 at 06:59:42PM +0900, Masahiro Yamada wrote:
>> Currently, users are allowed to enable STACK_VALIDATION regardless
>> of the compiler capability. The top-level Makefile warns or breaks
>> the build if it turns out that the host compiler cannot link libelf.
>>
>> Move the libelf test to Kconfig so that users can enable the feature
>> only when the host compiler can build the objtool. The ugly check
>> in the Makefile will go away.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>
> Thanks for cleaning this up!
>
>> I am sure about this patch only from the build system point of view.
>>
>> Please review this from x86 and objtool point of view.
>>
>> In my understanding:
>>
>> - UNWINDER_ORC _requires_ objtool,
>> so I added 'depends on STACK_VALIDATION'.
>> ('select' would end up with unmet depenency)
>
> Correct.
>
>> - RETPOLINE _wants_ objtool, so I added 'imply'
>
> Yeah, I think this is fine.
>
> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>


Thanks for your review!


I have one question.


The package information is contained in the warning/error message.
Is it better to keep this?

If so, I will send v2
to move the information to the help, like this:



config STACK_VALIDATION
bool "Compile-time stack metadata validation"
depends on HAVE_STACK_VALIDATION
depends on $(success,echo "int main() {}" | $(HOSTCC) -xc -o
/dev/null -lelf -)
help
Add compile-time checks to validate stack metadata, including frame
pointers (if CONFIG_FRAME_POINTER is enabled). This helps ensure
that runtime stack traces are more reliable.

This is also a prerequisite for generation of ORC unwind data, which
is needed for CONFIG_UNWINDER_ORC.

+ To enable this, the host compiler needs to be able to link libelf.
+ If it is missing, please install libelf-dev, libelf-devel or
+ elfutils-libelf-devel.

For more information, see
tools/objtool/Documentation/stack-validation.txt.


--
Best Regards
Masahiro Yamada

\
 
 \ /
  Last update: 2018-07-10 01:18    [W:0.061 / U:0.260 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site