Re: [PATCH] objtool: move libelf detection to Kconfig from Makefile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2018-07-10 4:21 GMT+09:00 Josh Poimboeuf <jpoimboe@xxxxxxxxxx>:
> 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@xxxxxxxxxxxxx>
>
> 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@xxxxxxxxxx>


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux