linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Naveen N Rao <naveen@kernel.org>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: linuxppc-dev@lists.ozlabs.org, Joel Stanley <joel@jms.id.au>,
	Nicholas Piggin <npiggin@gmail.com>
Subject: Re: [PATCH] powerpc: Fail build if using recordmcount with binutils v2.37
Date: Tue, 30 May 2023 11:48:46 +0530	[thread overview]
Message-ID: <1685427286.zhdwej6x5c.naveen@kernel.org> (raw)
In-Reply-To: <877csqu1qe.fsf@mail.lhotse>

Michael Ellerman wrote:
> Naveen N Rao <naveen@kernel.org> writes:
>> binutils v2.37 drops unused section symbols, which prevents recordmcount
>> from capturing mcount locations in sections that have no non-weak
>> symbols. This results in a build failure with a message such as:
>> 	Cannot find symbol for section 12: .text.perf_callchain_kernel.
>> 	kernel/events/callchain.o: failed
>>
>> The change to binutils was reverted for v2.38, so this behavior is
>> specific to binutils v2.37:
>> https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c09c8b42021180eee9495bd50d8b35e683d3901b
>>
>> Objtool is able to cope with such sections, so this issue is specific to
>> recordmcount.
>>
>> Fail the build and print a warning if binutils v2.37 is detected and if
>> we are using recordmcount.
>>
>> Cc: stable@vger.kernel.org
>> Suggested-by: Joel Stanley <joel@jms.id.au>
>> Signed-off-by: Naveen N Rao <naveen@kernel.org>
>> ---
>>  arch/powerpc/Makefile | 8 ++++++++
>>  1 file changed, 8 insertions(+)
>>
>> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
>> index dca73f673d7046..f0540c1f1377c8 100644
>> --- a/arch/powerpc/Makefile
>> +++ b/arch/powerpc/Makefile
>> @@ -409,3 +409,11 @@ checkbin:
>>  		echo -n '*** Please use a different binutils version.' ; \
>>  		false ; \
>>  	fi
>> +	@if test "x${CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT}" = "xy" -a \
>> +		"x${CONFIG_LD_IS_BFD}" = "xy" -a \
>> +		"x$(call ld-ifversion, -eq, 23700, y)" = "xy" ; then \
>> +		echo -n '*** binutils 2.37 drops unused section symbols, which recordmcount ' ; \
>> +		echo 'is unable to handle.' ; \
>> +		echo '*** Please use a different binutils version.' ; \
>> +		false ; \
>> +	fi
> 
> Thanks for doing this.
> 
> Masahiro wanted to remove ld-ifversion, he suggested to just check
> CONFIG_LD_VERSION directly instead. Mind doing a v2 with that change?
> 
> https://lore.kernel.org/all/CAK7LNAQWtDHOs=K+qznt5U1WiDv86tChkj4zOer4wtVRB974OA@mail.gmail.com/

I have posted a v2 with just that change. Let me know if you are 
planning to pick up Masahiro's patch above and if you want me to base my 
changes atop that (just have to add back archprepare/checkbin).


- Naveen


      reply	other threads:[~2023-05-30  6:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-29 13:45 [PATCH] powerpc: Fail build if using recordmcount with binutils v2.37 Naveen N Rao
2023-05-30  0:00 ` Michael Ellerman
2023-05-30  6:18   ` Naveen N Rao [this message]

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=1685427286.zhdwej6x5c.naveen@kernel.org \
    --to=naveen@kernel.org \
    --cc=joel@jms.id.au \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=npiggin@gmail.com \
    /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).