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^4

2017-11-03 1:22 GMT+01:00 Romain Geissler <romain.geissler@gmail.com>:
> 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]