This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix strong_ref_weak_def.sh and dyn_weak_ref.sh when configured with --enabled-default-hash-style=gnu.


Ping^3

2017-10-22 13:26 GMT+02:00 Romain Geissler <romain.geissler@gmail.com>:
> Ping^2.
>
> 2017-09-25 18:00 GMT+02:00 Romain Geissler <romain.geissler@gmail.com>:
>> Hi,
>>
>> GOLD has the two tests strong_ref_weak_def.sh and dyn_weak_ref.sh failing when
>> configured with the non standard default hash style "gnu". The reason is, the symbol
>> looked by these tests are listed only in the regular hash table, not the GNU one.
>>
>> The attached patch fixes this. Tested on x86_64.
>>
>> Cheers,
>> Romain
>>
>> 2017-09-25  Romain Geissler  <romain.geissler@gmail.com>
>>
>>         * testsuite/Makefile.am (strong_ref_weak_def.sh, dyn_weak_ref.sh):
>>         Link with --hash-stye=sysv.
>>         * testsuite/Makefile.in: Regenerate.
>>
>> ---
>>  gold/testsuite/Makefile.am | 8 ++++----
>>  gold/testsuite/Makefile.in | 8 ++++----
>>  2 files changed, 8 insertions(+), 8 deletions(-)
>>
>> diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
>> index cae47f1e09..0f21109ad2 100644
>> --- a/gold/testsuite/Makefile.am
>> +++ b/gold/testsuite/Makefile.am
>> @@ -2793,12 +2793,12 @@ MOSTLYCLEANFILES += strong_ref_weak_def_1.so strong_ref_weak_def_2.so \
>>  strong_ref_weak_def_2.o: strong_ref_weak_def_2.c
>>         $(COMPILE) -o $@ -c -fPIC $<
>>  strong_ref_weak_def_2.so: strong_ref_weak_def_2.o gcctestdir/ld
>> -       gcctestdir/ld -shared -o $@ strong_ref_weak_def_2.o
>> +       gcctestdir/ld --hash-style=sysv -shared -o $@ strong_ref_weak_def_2.o
>>  strong_ref_weak_def_1.o: strong_ref_weak_def_1.c
>>         $(COMPILE) -o $@ -c -fPIC $<
>>  strong_ref_weak_def_1.so: strong_ref_weak_def_1.o strong_ref_weak_def_2.so \
>>         gcctestdir/ld
>> -       gcctestdir/ld -shared -o $@ strong_ref_weak_def_1.o \
>> +       gcctestdir/ld --hash-style=sysv -shared -o $@ strong_ref_weak_def_1.o \
>>                 strong_ref_weak_def_2.so
>>  strong_ref_weak_def.stdout: strong_ref_weak_def_1.so
>>         $(TEST_READELF) -sWD $< > $@
>> @@ -2812,13 +2812,13 @@ MOSTLYCLEANFILES += dyn_weak_ref_1.so dyn_weak_ref_2.so \
>>  dyn_weak_ref_2.o: dyn_weak_ref_2.c
>>         $(COMPILE) -o $@ -c -fPIC $<
>>  dyn_weak_ref_2.so: dyn_weak_ref_2.o gcctestdir/ld
>> -       gcctestdir/ld -shared -o $@ dyn_weak_ref_2.o
>> +       gcctestdir/ld --hash-style=sysv -shared -o $@ dyn_weak_ref_2.o
>>  dyn_weak_ref_1.o: dyn_weak_ref_1.c
>>         $(COMPILE) -o $@ -c -fPIC $<
>>  # We intentionally put dyn_weak_ref_2.so in front of dyn_weak_ref_1.o
>>  # so that the weak ref there goes to gold's symbol table first.
>>  dyn_weak_ref_1.so: dyn_weak_ref_1.o dyn_weak_ref_2.so gcctestdir/ld
>> -       gcctestdir/ld -shared -o $@ dyn_weak_ref_2.so dyn_weak_ref_1.o
>> +       gcctestdir/ld --hash-style=sysv -shared -o $@ dyn_weak_ref_2.so dyn_weak_ref_1.o
>>  dyn_weak_ref.stdout: dyn_weak_ref_1.so
>>         $(TEST_READELF) -sWD $< > $@
>>
>> diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
>> index 0169fce141..08c086e09a 100644
>> --- a/gold/testsuite/Makefile.in
>> +++ b/gold/testsuite/Makefile.in
>> @@ -7192,25 +7192,25 @@ uninstall-am:
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@strong_ref_weak_def_2.o: strong_ref_weak_def_2.c
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $<
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@strong_ref_weak_def_2.so: strong_ref_weak_def_2.o gcctestdir/ld
>> -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ strong_ref_weak_def_2.o
>> +@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld --hash-style=sysv -shared -o $@ strong_ref_weak_def_2.o
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@strong_ref_weak_def_1.o: strong_ref_weak_def_1.c
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $<
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@strong_ref_weak_def_1.so: strong_ref_weak_def_1.o strong_ref_weak_def_2.so \
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld
>> -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ strong_ref_weak_def_1.o \
>> +@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld --hash-style=sysv -shared -o $@ strong_ref_weak_def_1.o \
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@         strong_ref_weak_def_2.so
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@strong_ref_weak_def.stdout: strong_ref_weak_def_1.so
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -sWD $< > $@
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@dyn_weak_ref_2.o: dyn_weak_ref_2.c
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $<
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@dyn_weak_ref_2.so: dyn_weak_ref_2.o gcctestdir/ld
>> -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ dyn_weak_ref_2.o
>> +@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld --hash-style=sysv -shared -o $@ dyn_weak_ref_2.o
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@dyn_weak_ref_1.o: dyn_weak_ref_1.c
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -o $@ -c -fPIC $<
>>  # We intentionally put dyn_weak_ref_2.so in front of dyn_weak_ref_1.o
>>  # so that the weak ref there goes to gold's symbol table first.
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@dyn_weak_ref_1.so: dyn_weak_ref_1.o dyn_weak_ref_2.so gcctestdir/ld
>> -@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -shared -o $@ dyn_weak_ref_2.so dyn_weak_ref_1.o
>> +@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld --hash-style=sysv -shared -o $@ dyn_weak_ref_2.so dyn_weak_ref_1.o
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@dyn_weak_ref.stdout: dyn_weak_ref_1.so
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) -sWD $< > $@
>>  @GCC_TRUE@@NATIVE_LINKER_TRUE@start_lib_test: start_lib_test_main.o libstart_lib_test.a start_lib_test_2.o start_lib_test_3.o \
>> --
>> 2.11.0
>>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]