diff mbox series

[1/7] toolchain/clang-native: Set BUILD_LDFLAGS instead of LDFLAGS

Message ID 20250801042242.3076232-1-raj.khem@gmail.com
State New
Headers show
Series [1/7] toolchain/clang-native: Set BUILD_LDFLAGS instead of LDFLAGS | expand

Commit Message

Khem Raj Aug. 1, 2025, 4:22 a.m. UTC
BUILD_LDFLAGS is used by other recipes to emit native LDFLAGS
into their cmake toolchain files especially in QT layers. it
will usually be inherited by recipes wanting clang provide
BUILD_* variables so this is more appropriate than LDFLAGS to
pass these options.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/toolchain/clang-native.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Mathieu Dubois-Briand Aug. 1, 2025, 12:54 p.m. UTC | #1
On Fri Aug 1, 2025 at 6:22 AM CEST, Khem Raj via lists.openembedded.org wrote:
> BUILD_LDFLAGS is used by other recipes to emit native LDFLAGS
> into their cmake toolchain files especially in QT layers. it
> will usually be inherited by recipes wanting clang provide
> BUILD_* variables so this is more appropriate than LDFLAGS to
> pass these options.
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---

Hi Khem,

It looks like something in there is breaking the reproducibility:

AssertionError: The following deb packages are different and not in exclusion list:
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./core2-64/clang-dev_20.1.8-r0_amd64.deb
The following ipk packages are different and not in exclusion list:
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/ipk/./core2-64/clang-dev_20.1.8-r0_core2-64.ipk
The following rpm packages are different and not in exclusion list:
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./core2_64/clang-dev-20.1.8-r0.core2_64.rpm


https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/2205
https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20250801-t697t4fj/packages/diff-html/

Can you have a look at this?
Mathieu Dubois-Briand Aug. 1, 2025, 4:13 p.m. UTC | #2
On Fri Aug 1, 2025 at 2:54 PM CEST, Mathieu Dubois-Briand wrote:
> On Fri Aug 1, 2025 at 6:22 AM CEST, Khem Raj via lists.openembedded.org wrote:
>> BUILD_LDFLAGS is used by other recipes to emit native LDFLAGS
>> into their cmake toolchain files especially in QT layers. it
>> will usually be inherited by recipes wanting clang provide
>> BUILD_* variables so this is more appropriate than LDFLAGS to
>> pass these options.
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>
> Hi Khem,
>
> It looks like something in there is breaking the reproducibility:
>
> AssertionError: The following deb packages are different and not in exclusion list:
> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./core2-64/clang-dev_20.1.8-r0_amd64.deb
> The following ipk packages are different and not in exclusion list:
> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/ipk/./core2-64/clang-dev_20.1.8-r0_core2-64.ipk
> The following rpm packages are different and not in exclusion list:
> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./core2_64/clang-dev-20.1.8-r0.core2_64.rpm
>
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/2205
> https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20250801-t697t4fj/packages/diff-html/
>
> Can you have a look at this?

I did a rebuild of this one and is succeed. So either we have an
intermittent fail or some cache issue, not really sure...

https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/2210
Khem Raj Aug. 1, 2025, 4:24 p.m. UTC | #3
On Fri, Aug 1, 2025 at 9:13 AM Mathieu Dubois-Briand
<mathieu.dubois-briand@bootlin.com> wrote:
>
> On Fri Aug 1, 2025 at 2:54 PM CEST, Mathieu Dubois-Briand wrote:
> > On Fri Aug 1, 2025 at 6:22 AM CEST, Khem Raj via lists.openembedded.org wrote:
> >> BUILD_LDFLAGS is used by other recipes to emit native LDFLAGS
> >> into their cmake toolchain files especially in QT layers. it
> >> will usually be inherited by recipes wanting clang provide
> >> BUILD_* variables so this is more appropriate than LDFLAGS to
> >> pass these options.
> >>
> >> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> ---
> >
> > Hi Khem,
> >
> > It looks like something in there is breaking the reproducibility:
> >
> > AssertionError: The following deb packages are different and not in exclusion list:
> > /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./core2-64/clang-dev_20.1.8-r0_amd64.deb
> > The following ipk packages are different and not in exclusion list:
> > /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/ipk/./core2-64/clang-dev_20.1.8-r0_core2-64.ipk
> > The following rpm packages are different and not in exclusion list:
> > /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./core2_64/clang-dev-20.1.8-r0.core2_64.rpm
> >
> >
> > https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/2205
> > https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20250801-t697t4fj/packages/diff-html/
> >
> > Can you have a look at this?
>
> I did a rebuild of this one and is succeed. So either we have an
> intermittent fail or some cache issue, not really sure...
>

Possible, I was wondering how build linker flags would insert into
target builds, it's quite unlikely
but still a case. I have dumped the binaries ( strings ) and tried to
catch absolute build path and
did not catch it so far.

> https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/2210
>
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
diff mbox series

Patch

diff --git a/meta/classes/toolchain/clang-native.bbclass b/meta/classes/toolchain/clang-native.bbclass
index 4de491a1cb5..006be9fadd6 100644
--- a/meta/classes/toolchain/clang-native.bbclass
+++ b/meta/classes/toolchain/clang-native.bbclass
@@ -15,4 +15,4 @@  BUILD_READELF = "${BUILD_PREFIX}llvm-readelf"
 
 DEPENDS += "clang-native libcxx-native compiler-rt-native"
 
-LDFLAGS += " --rtlib=libgcc --unwindlib=libgcc"
+BUILD_LDFLAGS += " --rtlib=libgcc --unwindlib=libgcc"