sys-libs/glibc: ignore CFLAGS+LDFLAGS in do_run_test for binpkgs

With binpkgs, CFLAGS and LDFLAGS will come from the builder environment
and may not be compatible with an old glibc on the system before a new
one is merged.

In the case reported to me by Kerin, an old glibc was installed w/o
DT_RELR support, and LDFLAGS on the binhost builder had -Wl,-z,pack-relative-relocs,
so the built test binary (which would run against the system's old glibc)
couldn't be executed, meaning the "syscall test" failed.

Set CFLAGS to just -O2 and blank LDFLAGS to avoid this.

It did also wrongly diagnose the failure because the function both
compiles + runs and the error message can't distinguish between those. If
we fail to build it, things are likely fine, there's only a problem if we
fail to run it. I haven't addressed that here.

Bug: https://bugs.gentoo.org/324685
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James 2025-12-18 10:18:07 +00:00
parent cbb0901e15
commit 414f21a6b3
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
2 changed files with 2 additions and 2 deletions

View File

@ -295,7 +295,7 @@ do_run_test() {
if [[ ${MERGE_TYPE} == "binary" ]] ; then
# ignore build failures when installing a binary package #324685
do_compile_test "" "$@" 2>/dev/null || return 0
CFLAGS="-O2" LDFLAGS="" do_compile_test "" "$@" 2>/dev/null || return 0
else
ebegin "Performing simple compile test for ABI=${ABI}"
if ! do_compile_test "" "$@" ; then

View File

@ -295,7 +295,7 @@ do_run_test() {
if [[ ${MERGE_TYPE} == "binary" ]] ; then
# ignore build failures when installing a binary package #324685
do_compile_test "" "$@" 2>/dev/null || return 0
CFLAGS="-O2" LDFLAGS="" do_compile_test "" "$@" 2>/dev/null || return 0
else
ebegin "Performing simple compile test for ABI=${ABI}"
if ! do_compile_test "" "$@" ; then