tst-dso-ordering* failing on aarch64 with --enable-static-pie
Adhemerval Zanella
adhemerval.zanella@linaro.org
Tue Nov 16 18:13:58 GMT 2021
On 16/11/2021 11:23, Adhemerval Zanella wrote:
>
>
> On 16/11/2021 11:11, H.J. Lu wrote:
>> On Tue, Nov 16, 2021 at 5:50 AM Adhemerval Zanella via Libc-alpha
>> <libc-alpha@sourceware.org> wrote:
>>>
>>>
>>>
>>> On 16/11/2021 10:47, Siddhesh Poyarekar wrote:
>>>> Hello,
>>>>
>>>> It looks like ordering related tests are failing on aarch64 with glibc built with --enable-static-pie. Anyone wants to take a look at this?
>>>>
>>>> The full build log is here:
>>>> https://kojipkgs.fedoraproject.org//work/tasks/6697/78946697/build.log
>>>>
>>>> Thanks,
>>>> Siddhesh
>>>>
>>>>
>>>> =====FAIL: elf/tst-bz15311.out=====
>>>> FAIL: tst-bz15311(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=1) execution test
>>>> FAIL: tst-bz15311(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=2) execution test
>>>> =====FAIL: elf/tst-bz15311.test-result=====
>>>> FAIL: elf/tst-bz15311
>>>> original exit status 1
>>>> =====FAIL: elf/tst-dso-ordering1.out=====
>>>> FAIL: tst-dso-ordering1(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=1) execution test
>>>> FAIL: tst-dso-ordering1(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=2) execution test
>>>> =====FAIL: elf/tst-dso-ordering1.test-result=====
>>>> FAIL: elf/tst-dso-ordering1
>>>> original exit status 1
>>>> =====FAIL: elf/tst-dso-ordering10.out=====
>>>> FAIL: tst-dso-ordering10(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=1) execution test
>>>> FAIL: tst-dso-ordering10(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=2) execution test
>>>> =====FAIL: elf/tst-dso-ordering10.test-result=====
>>>> FAIL: elf/tst-dso-ordering10
>>>> original exit status 1
>>>> =====FAIL: elf/tst-dso-ordering2.out=====
>>>> FAIL: tst-dso-ordering2(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=1) execution test
>>>> FAIL: tst-dso-ordering2(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=2) execution test
>>>> =====FAIL: elf/tst-dso-ordering2.test-result=====
>>>> FAIL: elf/tst-dso-ordering2
>>>> original exit status 1
>>>> =====FAIL: elf/tst-dso-ordering3.out=====
>>>> FAIL: tst-dso-ordering3(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=1) execution test
>>>> FAIL: tst-dso-ordering3(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=2) execution test
>>>> =====FAIL: elf/tst-dso-ordering3.test-result=====
>>>> FAIL: elf/tst-dso-ordering3
>>>> original exit status 1
>>>> =====FAIL: elf/tst-dso-ordering4.out=====
>>>> FAIL: tst-dso-ordering4(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=1) execution test
>>>> FAIL: tst-dso-ordering4(GLIBC_TUNABLES=glibc.rtld.dynamic_sort=2) execution test
>>>
>>> I will take a look. It is strange that the GLIBC_TUNABLES=glibc.rtld.dynamic_sort=
>>> is also failing because it is the previous algorithm.
>>
>> Please try the current master. It may have been fixed.
>
> Yes, that's my first though about this report. I am running make check on 128 core
> aarch64 machine.
>
It is due my dl-minimal-malloc change (b05fae4d8e34), which requires the same
fixed done by 47618209d05a:
diff --git a/elf/dl-minimal-malloc.c b/elf/dl-minimal-malloc.c
index 939b5271ca..ea9bca26cf 100644
--- a/elf/dl-minimal-malloc.c
+++ b/elf/dl-minimal-malloc.c
@@ -17,6 +17,11 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
+/* Mark symbols hidden in static PIE for early self relocation to work.
+ Note: string.h may have ifuncs which cannot be hidden on i686. */
+#if BUILD_PIE_DEFAULT
+# pragma GCC visibility push(hidden)
+#endif
#include <assert.h>
#include <string.h>
#include <ldsodefs.h>
I will run a make check on aarch64 and x86_64 and push the fix.
More information about the Libc-alpha
mailing list