All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
To: Tom Rini <trini@konsulko.com>, Peng Fan <peng.fan@nxp.com>
Cc: "Peng Fan (OSS)" <peng.fan@oss.nxp.com>,
	"sbabic@denx.de" <sbabic@denx.de>,
	"festevam@gmail.com" <festevam@gmail.com>,
	"ariel.dalessandro@collabora.com"
	<ariel.dalessandro@collabora.com>,
	"michael@amarulasolutions.com" <michael@amarulasolutions.com>,
	"tharvey@gateworks.com" <tharvey@gateworks.com>,
	"sjg@chromium.org" <sjg@chromium.org>,
	"marek.behun@nic.cz" <marek.behun@nic.cz>,
	"pali@kernel.org" <pali@kernel.org>, "sr@denx.de" <sr@denx.de>,
	Ricardo Salveti <ricardo@foundries.io>,
	"patrick.delaunay@foss.st.com" <patrick.delaunay@foss.st.com>,
	"u-boot@lists.denx.de" <u-boot@lists.denx.de>
Subject: Re: [PATCH V4 1/8] spl: guard u_boot_any with X86
Date: Sun, 22 May 2022 16:56:08 +0300	[thread overview]
Message-ID: <fad08e73-f437-181b-7098-0a8e88dfd2b0@gmail.com> (raw)
In-Reply-To: <20220521120518.GI13239@bill-the-cat>

On 21/05/2022 15:05, Tom Rini wrote:
> On Sat, May 21, 2022 at 08:33:56AM +0000, Peng Fan wrote:
>>> Subject: Re: [PATCH V4 1/8] spl: guard u_boot_any with X86
>>>
>>> On Fri, May 20, 2022 at 10:10:40PM +0800, Peng Fan (OSS) wrote:
>>>
>>>> From: Peng Fan <peng.fan@nxp.com>
>>>>
>>>> set the symbol as weak not work if LTO is enabled. Since u_boot_any is
>>>> only used on X86 for now, so guard it with X86, otherwise build break
>>>> if we use BINMAN_SYMBOLS on i.MX.
>>>>
>>>> Tested-by: Tim Harvey <tharvey@gateworks.com> #imx8m[m,n,p]-venice
>>>> Signed-off-by: Peng Fan <peng.fan@nxp.com>
>>>> ---
>>>>  common/spl/spl.c     | 8 ++++++--
>>>>  common/spl/spl_ram.c | 4 ++++
>>>>  2 files changed, 10 insertions(+), 2 deletions(-)
>>>
>>> I think we long term need to figure this out and address it so LTO works.  But
>>> for now can you please guard this with a test on LTO instead, so it's clear
>>> where the problem is?
>>
>> Sorry, I could not get your point about guard with a test on LTO.
>>
>> Actually binman weak symbol will report a warning log if there is no u_boot_any
>> binman symbol. Since only X86 use it, I guard with X86.
> 
> Why are you mentioning LTO in the commit message?  When I read the
> commit message it sounds like you're saying the problem is that LTO
> doesn't like how this symbol is handled, but if LTO was disabled,
> everything would be fine.  If it's not LTO-related, please re-word the
> message instead.

It looks like we should be able to change things in common/spl/spl.c to:

    #if CONFIG_IS_ENABLED(BINMAN_SYMBOLS)
    /* See spl.h for information about this */
    binman_sym_declare_optional(ulong, u_boot_any, image_pos);
    binman_sym_declare_optional(ulong, u_boot_any, size);
    #endif

which would mark the symbol as 'weak' and turn the error into a warning
on the binman side. But that is somehow being undone by LTO.

I'm trying to build for imx8mm-beacon with that change instead of this
patch. With CONFIG_LTO=y, build fails and spl/u-boot-spl.sym has:

> 00000000007fbe28 l     O .binman_sym	0000000000000008 _binman_u_boot_any_prop_image_pos

Looks like the size symbol is optimized out. With CONFIG_LTO unset, the
build succeeds and the same file has:

> 00000000007fe90c  w    O .binman_sym	0000000000000008 _binman_u_boot_any_prop_image_pos
> 00000000007fe904  w    O .binman_sym	0000000000000008 _binman_u_boot_any_prop_size

I don't know much about linking stuff, so this is as deep as I could dig...

  reply	other threads:[~2022-05-22 13:58 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-20 14:10 [PATCH V4 0/8] arm64: binman: use binman symbols for imx Peng Fan (OSS)
2022-05-20 14:10 ` [PATCH V4 1/8] spl: guard u_boot_any with X86 Peng Fan (OSS)
2022-05-20 15:21   ` Tom Rini
2022-05-21  8:33     ` Peng Fan
2022-05-21 12:05       ` Tom Rini
2022-05-22 13:56         ` Alper Nebi Yasak [this message]
2022-05-22 14:50           ` Tom Rini
2022-05-23 21:10             ` Alper Nebi Yasak
2022-05-23  6:19           ` Peng Fan (OSS)
2022-05-23  6:28         ` Peng Fan (OSS)
2022-05-23 14:10           ` Tom Rini
2022-05-23 21:10             ` Alper Nebi Yasak
2022-05-22 13:55   ` Alper Nebi Yasak
2022-05-20 14:10 ` [PATCH V4 2/8] arm: dts: imx8m: update binman ddr firmware node name Peng Fan (OSS)
2022-05-22 13:56   ` Alper Nebi Yasak
2022-05-23  7:01     ` Peng Fan (OSS)
2022-05-23 21:11       ` Alper Nebi Yasak
2022-05-20 14:10 ` [PATCH V4 3/8] imx: imx8mm-icore: migrate to use BINMAN Peng Fan (OSS)
2022-05-22 13:56   ` Alper Nebi Yasak
2022-05-23  7:02     ` Peng Fan (OSS)
2022-05-20 14:10 ` [PATCH V4 4/8] armv8: u-boot-spl.lds: mark __image_copy_start as symbol Peng Fan (OSS)
2022-05-20 15:21   ` Tom Rini
2022-05-20 14:10 ` [PATCH V4 5/8] tools: binman: section: replace @ with - Peng Fan (OSS)
2022-05-22 13:57   ` Alper Nebi Yasak
2022-05-23  7:05     ` Peng Fan (OSS)
2022-05-20 14:10 ` [PATCH V4 6/8] ddr: imx8m: helper: load ddr firmware according to binman symbols Peng Fan (OSS)
2022-05-22 13:57   ` Alper Nebi Yasak
2022-05-23  7:08     ` Peng Fan (OSS)
2022-05-20 14:10 ` [PATCH V4 7/8] arm: dts: imx8m: shrink ddr firmware size to actual file size Peng Fan (OSS)
2022-05-23 21:12   ` Alper Nebi Yasak
2022-05-24  5:50     ` Michael Nazzareno Trimarchi
2022-05-20 14:10 ` [PATCH V4 8/8] binman_sym: guard with CONFIG_SPL_BINMAN_SYMBOLS Peng Fan (OSS)
2022-05-22 13:57   ` Alper Nebi Yasak
2022-05-23  7:10     ` Peng Fan (OSS)

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=fad08e73-f437-181b-7098-0a8e88dfd2b0@gmail.com \
    --to=alpernebiyasak@gmail.com \
    --cc=ariel.dalessandro@collabora.com \
    --cc=festevam@gmail.com \
    --cc=marek.behun@nic.cz \
    --cc=michael@amarulasolutions.com \
    --cc=pali@kernel.org \
    --cc=patrick.delaunay@foss.st.com \
    --cc=peng.fan@nxp.com \
    --cc=peng.fan@oss.nxp.com \
    --cc=ricardo@foundries.io \
    --cc=sbabic@denx.de \
    --cc=sjg@chromium.org \
    --cc=sr@denx.de \
    --cc=tharvey@gateworks.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.