This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] ld: amend "ld: Skip unsupported static executable tests"
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Jan Beulich <JBeulich at suse dot com>
- Cc: Binutils <binutils at sourceware dot org>, Alan Modra <amodra at gmail dot com>
- Date: Thu, 2 Aug 2018 05:08:15 -0700
- Subject: Re: [PATCH] ld: amend "ld: Skip unsupported static executable tests"
- References: <5B62BD5E02000078001DA2DE@prv1-mh.provo.novell.com>
On Thu, Aug 2, 2018 at 1:14 AM, Jan Beulich <JBeulich@suse.com> wrote:
> Said commit (98d72909f8) made the building of static_prog and
> static_nonifunc_prog conditional, but then only added conditionals to
> the tests involving the former. Also conditionalize the ones involving
> the latter.
>
> ld/
> 2018-08-02 Jan Beulich <jbeulich@suse.com>
>
> * testsuite/ld-ifunc/ifunc.exp: Also skip tests involving
> static_nonifunc_prog when static builds are not possible.
>
> --- a/ld/testsuite/ld-ifunc/ifunc.exp
> +++ b/ld/testsuite/ld-ifunc/ifunc.exp
> @@ -284,7 +284,8 @@ if {! [check_osabi tmpdir/dynamic_prog $
> fail "Dynamic ifunc-using executable does not have an OS/ABI field of $expected_none"
> set fails [expr $fails + 1]
> }
> -if {! [check_osabi tmpdir/static_nonifunc_prog $expected_none]} {
> +if { ![string match "" $STATIC_LDFLAGS] \
> + && ! [check_osabi tmpdir/static_nonifunc_prog $expected_none]} {
> fail "Static non-ifunc-using executable does not have an OS/ABI field of $expected_none"
> set fails [expr $fails + 1]
> }
> @@ -310,7 +311,8 @@ if {[contains_ifunc_symbol tmpdir/dynami
> fail "Dynamic ifunc-using executable contains an IFUNC symbol"
> set fails [expr $fails + 1]
> }
> -if {[contains_ifunc_symbol tmpdir/static_nonifunc_prog] != 0} {
> +if { ![string match "" $STATIC_LDFLAGS] \
> + && [contains_ifunc_symbol tmpdir/static_nonifunc_prog] != 0} {
> fail "Static non-ifunc-using executable contains an IFUNC symbol"
> set fails [expr $fails + 1]
> }
> @@ -349,7 +351,8 @@ if {[contains_ifunc_reloc tmpdir/dynamic
> fail "Dynamic ifunc-using executable contains a reloc against an IFUNC symbol"
> set fails [expr $fails + 1]
> }
> -if {[contains_ifunc_reloc tmpdir/static_nonifunc_prog] == 1} {
> +if { ![string match "" $STATIC_LDFLAGS] \
> + && [contains_ifunc_reloc tmpdir/static_nonifunc_prog] == 1} {
> fail "Static non-ifunc-using executable contains a reloc against an IFUNC symbol!"
> set fails [expr $fails + 1]
> }
>
STATIC_LDFLAGS only applies to tests which are linked against libc.a.
Are the above tests linked against libc.a?
--
H.J.