Bug 28205

Summary: aarch64: Skip traditional GD/LD TLS tests for Clang and LLD
Product: glibc Reporter: Fangrui Song <i>
Component: dynamic-linkAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target: aarch64-*
Build: Last reconfirmed:

Description Fangrui Song 2021-08-06 22:15:49 UTC
TLSDESC is the default on aarch64.

Clang doesn't support -mtls-dialect=trad.
Its integrated assembler doesn't support the markers.
LLD's doesn't support R_AARCH64_TLSGD_*/R_AARCH64_TLSLD_* relocations.
Supporting the model has nearly zero value.

These tests use TLS_GD/TLS_LD macros:

M       elf/tst-tls1.c
M       elf/tst-tls2.c
M       elf/tst-tls3.c
M       elf/tst-tlsmod1.c
M       elf/tst-tlsmod2.c
M       elf/tst-tlsmod3.c
M       elf/tst-tlsmod4.c

They can be disabled when CC is Clang or LD is LLD.
Comment 1 Fangrui Song 2021-08-06 22:42:22 UTC
https://sourceware.org/pipermail/libc-alpha/2021-August/129912.html
[PATCH] aarch64: Skip traditional GD/LD TLS which are unsupported by Clang and LLD [BZ #28205]

can skip these tests if either CC or LD doesn't support traditional GD/LD.
Comment 2 Fangrui Song 2021-08-16 17:08:54 UTC
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=33c50ef42878b07ee6ead8b3f1a81d8c2c74697c
(elf: Drop elf/tls-macros.h in favor of __thread and tls_model attributes [BZ #28152] [BZ #28205])

Fixed for 2.35.