linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Sathvika Vasireddy <sv@linux.ibm.com>
To: linuxppc-dev@lists.ozlabs.org
Subject: Re: [RFC PATCH v2 2/3] kbuild: Add objtool integration for PowerPC feature fixups
Date: Mon, 13 Oct 2025 06:37:42 +0530	[thread overview]
Message-ID: <6d8fad66-d3f8-4015-b7ee-5b8ebde44b1c@linux.ibm.com> (raw)
In-Reply-To: <aOF4223Q5egUS_in@levanger>

[-- Attachment #1: Type: text/plain, Size: 3140 bytes --]

Hi Nicolas,

Thank you for the review and suggestions!

On 10/5/25 1:13 AM, Nicolas Schier wrote:
> On Mon, Sep 29, 2025 at 01:34:55PM +0530, Sathvika Vasireddy wrote:
>> Add build system support for PowerPC feature fixup processing:
>>
>> - Add HAVE_OBJTOOL_FTR_FIXUP config option for architectures that support
>>    build-time feature fixup processing
>> - Integrate objtool feature fixup processing into vmlinux build
>>
>> Suggested-by: Masahiro Yamada<masahiroy@kernel.org>
>> Signed-off-by: Sathvika Vasireddy<sv@linux.ibm.com>
>> ---
>>   Makefile                 |  7 +++++++
>>   arch/Kconfig             |  3 +++
>>   scripts/Makefile.lib     |  5 +++--
>>   scripts/Makefile.vmlinux | 13 ++++++++++++-
>>   4 files changed, 25 insertions(+), 3 deletions(-)
>>
> ...
>> diff --git a/arch/Kconfig b/arch/Kconfig
>> index d1b4ffd6e085..d870aab17cba 100644
>> --- a/arch/Kconfig
>> +++ b/arch/Kconfig
>> @@ -1334,6 +1334,9 @@ config HAVE_UACCESS_VALIDATION
>>   	bool
>>   	select OBJTOOL
>>   
>> +config HAVE_OBJTOOL_FTR_FIXUP
> For me, FTR is not that natural to parse.  Is there a reason for using
> FTR instead of FEATURE?

The naming comes from the PowerPC-specific section names (__ftr_alt_*) , 
and (*ftr_fixup) in vmlinux. However, I agree that FEATURE is more 
readable and I'll update all references to use FEATURE_FIXUP instead.

Also, on a second thought, since feature fixup is PowerPC-specific and 
no other architecture has this mechanism (please correct me if I am 
wrong), I will move HAVE_OBJTOOL_FEATURE_FIXUP from arch/Kconfig to 
arch/powerpc/Kconfig in the next version.

>
> ...
>> diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux
>> index b64862dc6f08..94cc2bba929a 100644
>> --- a/scripts/Makefile.vmlinux
>> +++ b/scripts/Makefile.vmlinux
>> @@ -84,7 +84,8 @@ ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
>>   # Final link of vmlinux with optional arch pass after final link
>>   cmd_link_vmlinux =							\
>>   	$< "$(LD)" "$(KBUILD_LDFLAGS)" "$(LDFLAGS_vmlinux)" "$@";	\
>> -	$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
>> +	$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)	\
>> +	$(cmd_objtool_vmlinux)
>>   
>>   targets += $(vmlinux-final)
>>   $(vmlinux-final): scripts/link-vmlinux.sh vmlinux.o $(KBUILD_LDS) FORCE
>> @@ -131,3 +132,13 @@ existing-targets := $(wildcard $(sort $(targets)))
>>   -include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
>>   
>>   .PHONY: $(PHONY)
>> +
>> +# objtool for vmlinux
>> +# ----------------------------------
>> +#
>> +#  For feature fixup, objtool does not run on individual
>> +#  translation units. Run this on vmlinux instead.
>> +
>> +ifdef CONFIG_HAVE_OBJTOOL_FTR_FIXUP
>> +cmd_objtool_vmlinux = ; $(objtool) --ftr-fixup --link $@
> This cmd_* definition is broken as $(call cmd,objtool_vmlinux) would be
> evaluated to '... ; ; ...' (shell syntax error).
>
> What about putting the objtool call right into cmd_link_vmlinux?

Sure, I will include the changes to put the objtool call into 
cmd_link_vmlinux as suggested, in the next version.

Thanks, Sathvika

[-- Attachment #2: Type: text/html, Size: 4512 bytes --]

  reply	other threads:[~2025-10-13  1:07 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-29  8:04 [RFC PATCH v2 0/3] objtool: Fixup alternate feature relative addresses Sathvika Vasireddy
2025-09-29  8:04 ` [RFC PATCH v2 1/3] objtool/powerpc: Enhance objtool to fixup " Sathvika Vasireddy
2025-09-29 10:49   ` Peter Zijlstra
2025-09-29 16:59     ` Sathvika Vasireddy
2025-09-29  8:04 ` [RFC PATCH v2 2/3] kbuild: Add objtool integration for PowerPC feature fixups Sathvika Vasireddy
2025-10-04 19:43   ` Nicolas Schier
2025-10-13  1:07     ` Sathvika Vasireddy [this message]
2025-09-29  8:04 ` [RFC PATCH v2 3/3] powerpc: Enable build-time feature fixup processing by default Sathvika Vasireddy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6d8fad66-d3f8-4015-b7ee-5b8ebde44b1c@linux.ibm.com \
    --to=sv@linux.ibm.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).