This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Run more ld tests when not native
On Tue, Jan 10, 2017 at 4:56 PM, Alan Modra <amodra@gmail.com> wrote:
> On Tue, Jan 10, 2017 at 02:06:36PM -0800, H.J. Lu wrote:
>> On Tue, Jan 10, 2017 at 1:50 PM, Alan Modra <amodra@gmail.com> wrote:
>> > On Tue, Jan 10, 2017 at 11:00:51AM -0800, H.J. Lu wrote:
>> >> I checked in this patch to fix i386 ld tests.
>> >
>> > Sorry, and thanks for cleaning up after me. I didn't modify the
>> > x86_64 and i386 tests to run when non-native, thinking there were
>> > plenty of people running native tests. Perhaps the i386 tests at
>> > least should be run non-native?
>> >
>>
>> Some i386 tests are run-time tests. I build and test i386 binutils on
>> x86-64 with
>
> I understand. What I was suggesting is that those run-time tests be
> compiled and linked if you have $CC available, eg. i686-linux-gnu-gcc
> installed on your x86_64-linux-gnu system. run_ld_link_exec_tests now
> tests isnative itself before running a test binary.
>
> The downside of making a change like the following is that if your
> system does have i686-linux-gnu-gcc available but not the
> corresponding C library then you'll get more linker testsuite
> failures.
Sure.
> diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
> index 973a110..2c54552 100644
> --- a/ld/testsuite/ld-i386/i386.exp
> +++ b/ld/testsuite/ld-i386/i386.exp
> @@ -494,9 +494,8 @@ proc undefined_weak {cflags ldflags} {
> # Add $PLT_CFLAGS if PLT is expected.
> global PLT_CFLAGS
>
> -# Must be Linux native with the C compiler
> -if { [isnative]
> - && [istarget "i?86-*-linux*"]
> +# Must be Linux with the C compiler
> +if { [istarget "i?86-*-linux*"]
> && [which $CC] != 0 } {
> run_cc_link_tests [list \
> [list \
> @@ -820,9 +819,8 @@ if { [isnative]
> undefined_weak "-fPIE" "-pie -z nodynamic-undefined-weak"
> }
>
> -# Must be native with the C compiler and working IFUNC support,
> -if { [isnative]
> - && [check_ifunc_available]
> +# Must have a compiler and working IFUNC support,
> +if { [check_ifunc_available]
> && [istarget "i?86-*-*"]
> && [which $CC] != 0 } {
> run_cc_link_tests [list \
>
> --
> Alan Modra
> Australia Development Lab, IBM
--
H.J.