From: Randolph Sapp <rs@ti.com>
To: Tony Battersby <tonyb@cybernetics.com>,
Changqing Li <changqing.li@windriver.com>, <rs@ti.com>,
<richard.purdie@linuxfoundation.org>,
<mathieu.dubois-briand@bootlin.com>, <alex@linutronix.de>,
<otavio@ossystems.com.br>, <kexin.hao@windriver.com>
Cc: <afd@ti.com>, <detheridge@ti.com>, <denis@denix.org>,
<reatmon@ti.com>, <openembedded-core@lists.openembedded.org>,
<vijayp@ti.com>
Subject: Re: [oe-core][PATCH] bitbake.conf: remove DEBUG_PREFIX_MAP from TARGET_LDFLAGS
Date: Mon, 26 Jan 2026 14:50:07 -0600 [thread overview]
Message-ID: <DFYTFOYS891P.2A5CKLOKP5KGI@ti.com> (raw)
In-Reply-To: <0387b4a0-1457-4de6-9571-022b997199e4@cybernetics.com>
On Mon Jan 26, 2026 at 9:04 AM CST, Tony Battersby wrote:
> On 1/26/26 03:39, Changqing Li wrote:
>>
>>
>> On 1/23/26 03:50, Randolph Sapp via lists.openembedded.org wrote:
>>> CAUTION: This email comes from a non Wind River email account!
>>> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>>>
>>> From: Randolph Sapp <rs@ti.com>
>>>
>>> Now that the previous bug affecting binary reproducibility has been
>>> addressed [1], we can revert this patch. This will resolve issues with
>>> cgo applications becoming unreprodcible.
>>>
>>> Currently go considers link arguments to be sacred, meaning any change
>>> should produce a different binary output. They ensure this by baking
>>> link arguments into the intermediary output, changing the content ID of
>>> that step. As such, the marco prefixes inadvertently end up adding build
>>> paths to the output binary instead of removing them if they are passed
>>> as link arguments to cgo applications.
>>>
>>> These paths are later stripped out again, but at this point the content
>>> ID of the dependency has changed and thus the build ID of the end
>>> application will be affected by the cascade of hash changes. See the
>>> upstream bug for more information [2].
>>>
>>> This reverts commit fddaecc88979967d0e00e2fafdbaaabec030da9f.
>>>
>>> [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101473
>>> [2] https://github.com/golang/go/issues/77218
>>>
>>> Signed-off-by: Randolph Sapp <rs@ti.com>
>>> ---
>>>
>>> This resolves the previously reported emptty issues:
>>> https://lists.openembedded.org/g/openembedded-core/message/228549
>>>
>>> meta/conf/bitbake.conf | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
>>> index 88f4d0df69..da873c3f4e 100644
>>> --- a/meta/conf/bitbake.conf
>>> +++ b/meta/conf/bitbake.conf
>>> @@ -634,7 +634,7 @@ TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][d.getVar('LINKER_HASH_ ASNEEDED ?= "-Wl,--as-needed"
>>>
>>> export LDFLAGS = "${TARGET_LDFLAGS}"
>>> -TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED} ${DEBUG_PREFIX_MAP}"
>>> +TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE} ${ASNEEDED}"
>>
>> Hi,
>>
>> After check the related gcc bug and yocto bug, gcc bug comments 21
>> ([1]) and yocto bug comments 13 ([2]),
>>
>> my understanding is that, when lto is enabled, even with gcc fix
>> [3], we still need DEBUG_PREFIX_MAP in LDFLAGS
>>
>> to make bin reproducible. Also seems Tony's commit [4] is after gcc
>> fix [3].
>>
>> [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101473#c21
>>
>> [2] https://bugzilla.yoctoproject.org/show_bug.cgi?id=14481#c13
>>
>> [3] https://gcc.gnu.org/g:7cc2df084b7977653a9b59cbc34a9ad500ae619c
>>
>> [4]
>> https://git.openembedded.org/openembedded-core/commit/?id=fddaecc88979967d0e00e2fafdbaaabec030da9f
>>
>>
>> @Tony, @Randolph, Could please correct me if my understanding is not
>> right, Thanks.
>>
>>
> Yes, LDFLAGS needs DEBUG_PREFIX_MAP to make LTO builds reproducible,
> unless something else has changed since 2021 to make it unnecessary. I
> have not kept up with the issue.
>
> Tony
I think there has been some change because I tested this locally with the normal
reproducible builds selftest and no new packages were added to the failing list.
This included oe-core and some layers from meta-openembedded as well.
The example code given in the report is fairly rudimentary, we should have hit
the bug if it was still in effect across a majority of packages if my
understanding is correct.
I'm also curious to see what golang want's to do about this though. Baking build
options into a binary seems a little silly, but I'm sure there was some unusual
behavior that led them to that point.
As indicated on another thread, we could also just remove this string from Go
packages LDFLAGS if that puts everyone at ease.
- Randolph
next prev parent reply other threads:[~2026-01-26 20:50 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-22 19:50 [oe-core][PATCH] bitbake.conf: remove DEBUG_PREFIX_MAP from TARGET_LDFLAGS rs
2026-01-26 8:39 ` Changqing Li
2026-01-26 15:04 ` Tony Battersby
2026-01-26 20:50 ` Randolph Sapp [this message]
2026-01-27 2:49 ` Changqing Li
2026-01-27 6:12 ` Khem Raj
2026-01-27 16:31 ` Randolph Sapp
2026-01-27 16:50 ` Khem Raj
2026-01-29 23:45 ` Ricardo de Araujo (Salveti)
2026-01-30 0:15 ` Randolph Sapp
2026-01-30 15:22 ` Ricardo de Araujo (Salveti)
2026-01-31 1:52 ` Randolph Sapp
2026-02-02 20:10 ` Ricardo de Araujo (Salveti)
2026-02-03 4:46 ` Changqing Li
2026-02-03 20:05 ` Randolph Sapp
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=DFYTFOYS891P.2A5CKLOKP5KGI@ti.com \
--to=rs@ti.com \
--cc=afd@ti.com \
--cc=alex@linutronix.de \
--cc=changqing.li@windriver.com \
--cc=denis@denix.org \
--cc=detheridge@ti.com \
--cc=kexin.hao@windriver.com \
--cc=mathieu.dubois-briand@bootlin.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=otavio@ossystems.com.br \
--cc=reatmon@ti.com \
--cc=richard.purdie@linuxfoundation.org \
--cc=tonyb@cybernetics.com \
--cc=vijayp@ti.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