[PATCH v2] ld: testsuite: Mark vers26b3 unsupported on x86_64

H.J. Lu hjl.tools@gmail.com
Tue Aug 19 11:41:52 GMT 2025


On Tue, Aug 19, 2025 at 4:33 AM Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote:
>
> After enabling the ld-elfvers tests on Solaris/x86, one of them FAILs on
> Solaris/amd64 only:
>
> FAIL: vers26b3
>
> /ld-new: tmpdir/vers26b3.o: relocation R_X86_64_32 against symbol `foo' can not be used when making a shared object; recompile with -fPIC
> ./ld-new: failed to set dynamic section sizes: bad value
>
> The error is strange: vers26b3.o *was* compiled with -fPIC and repeating
> the link with /bin/ld just works.  However, the resulting vers26b3.so
> fails to load:
>
> $ ldd -r tmpdir/vers26b3.so
> [...]
> ld.so.1: vers26b3.so.ld: fatal: relocation error: R_AMD64_32: file tmpdir/vers26b3.so.ld: symbol foo: value 0x7fff34d00830 does not fit
>
> When running the test on Linux/x86_64, it fails with the same ld message
> as above, so the test is marked unsupported for both Linux/x86_64 and
> Solaris/amd64.
>
> Tested on {amd64,i386}-pc-solaris2.11 and {x86_64,i686}-pc-linux-gnu.

if { [istarget x86_64-*-solaris2*] || [istarget x86_64-*-solaris2*] } then {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Typo.   Should we just do

if [string match "yes" $pic] then {
    unsupported "vers26b3"
}

> Ok for trunk?
>
>         Rainer
>
> --
> -----------------------------------------------------------------------------
> Rainer Orth, Center for Biotechnology, Bielefeld University
>
>
> 2025-07-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
>
>         ld:
>         * testsuite/ld-elfvers/vers.exp (vers26b3): Mark unsupported on
>         Linux/x86_64 and Solaris/amd64.
>


-- 
H.J.


More information about the Binutils mailing list