From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id 9218F385841F; Tue, 4 Oct 2022 13:03:24 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9218F385841F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1664888604; bh=cLnAh0PD0Oxvrr1Mxvbkbr4nhBk2HK27Kc0DezHhGTM=; h=From:To:Subject:Date:From; b=OIYckLbiHcwIJL56LebQpwTGn6rfEmbJR2hfE/tsT60QykO3OMfH10Zj1UecPjG1F LAWw73yVmSB+pOL6/L10/KQEujIr4psdJ0/qZGWz3T/M2y7sM5j+FKZ59tCeRP2TIu SOUjcgO4g1UHBWGYg9u86q5C9Bgmo/MrpcSatROE= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Adhemerval Zanella To: glibc-cvs@sourceware.org Subject: [glibc/azanella/clang] elf: Do not cast TLS_DTV_UNALLOCATED to void X-Act-Checkin: glibc X-Git-Author: Adhemerval Zanella X-Git-Refname: refs/heads/azanella/clang X-Git-Oldrev: cb006c9f944444fd4e83d89163aed96d5746acd2 X-Git-Newrev: 8d62a70716961de1f1032849e6cd92ef1a9d1c63 Message-Id: <20221004130324.9218F385841F@sourceware.org> Date: Tue, 4 Oct 2022 13:03:24 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8d62a70716961de1f1032849e6cd92ef1a9d1c63 commit 8d62a70716961de1f1032849e6cd92ef1a9d1c63 Author: Adhemerval Zanella Date: Fri Mar 25 15:46:10 2022 -0300 elf: Do not cast TLS_DTV_UNALLOCATED to void The test-as-const-tlsdesc uses _Static_assert to verify the constants generated and clang warns the expression is not an integral constant expression because the cast performs a conversion (and it is no allowed). Diff: --- elf/dl-tls.c | 2 ++ sysdeps/aarch64/tlsdesc.sym | 2 +- sysdeps/arc/dl-tls.h | 2 +- sysdeps/generic/dl-dtv.h | 2 +- sysdeps/loongarch/dl-tls.h | 3 --- sysdeps/riscv/dl-tls.h | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/elf/dl-tls.c b/elf/dl-tls.c index 093cdddb7e..5c80122c3e 100644 --- a/elf/dl-tls.c +++ b/elf/dl-tls.c @@ -75,6 +75,8 @@ /* Default for dl_tls_static_optional. */ #define OPTIONAL_TLS 512 +#define TLS_DTV_UNALLOCATED ((void *) TLS_DTV_UNALLOCATED_VALUE) + /* Compute the static TLS surplus based on the namespace count and the TLS space that can be used for optimizations. */ static inline int diff --git a/sysdeps/aarch64/tlsdesc.sym b/sysdeps/aarch64/tlsdesc.sym index a06a719779..477585bdcb 100644 --- a/sysdeps/aarch64/tlsdesc.sym +++ b/sysdeps/aarch64/tlsdesc.sym @@ -15,4 +15,4 @@ TLSDESC_MODID offsetof(struct tlsdesc_dynamic_arg, tlsinfo.ti_module) TLSDESC_MODOFF offsetof(struct tlsdesc_dynamic_arg, tlsinfo.ti_offset) TCBHEAD_DTV offsetof(tcbhead_t, dtv) DTV_COUNTER offsetof(dtv_t, counter) -TLS_DTV_UNALLOCATED TLS_DTV_UNALLOCATED +TLS_DTV_UNALLOCATED TLS_DTV_UNALLOCATED_VALUE diff --git a/sysdeps/arc/dl-tls.h b/sysdeps/arc/dl-tls.h index 56ed58fdbb..a6d652dfde 100644 --- a/sysdeps/arc/dl-tls.h +++ b/sysdeps/arc/dl-tls.h @@ -27,4 +27,4 @@ typedef struct extern void *__tls_get_addr (tls_index *ti); /* Value used for dtv entries for which the allocation is delayed. */ -#define TLS_DTV_UNALLOCATED ((void *) -1l) +#define TLS_DTV_UNALLOCATED_VALE -1l diff --git a/sysdeps/generic/dl-dtv.h b/sysdeps/generic/dl-dtv.h index 3fa85badb3..82aa3cafd4 100644 --- a/sysdeps/generic/dl-dtv.h +++ b/sysdeps/generic/dl-dtv.h @@ -33,6 +33,6 @@ typedef union dtv } dtv_t; /* Value used for dtv entries for which the allocation is delayed. */ -#define TLS_DTV_UNALLOCATED ((void *) -1l) +#define TLS_DTV_UNALLOCATED_VALUE -1l #endif /* _DLT_DTV_H */ diff --git a/sysdeps/loongarch/dl-tls.h b/sysdeps/loongarch/dl-tls.h index f82edcae76..e463e030ee 100644 --- a/sysdeps/loongarch/dl-tls.h +++ b/sysdeps/loongarch/dl-tls.h @@ -41,6 +41,3 @@ extern void *__tls_get_addr (tls_index *ti); #define GET_ADDR_OFFSET (ti->ti_offset + TLS_DTV_OFFSET) #define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET) - -/* Value used for dtv entries for which the allocation is delayed. */ -#define TLS_DTV_UNALLOCATED ((void *) -1l) diff --git a/sysdeps/riscv/dl-tls.h b/sysdeps/riscv/dl-tls.h index e5768347ca..f430b20b3b 100644 --- a/sysdeps/riscv/dl-tls.h +++ b/sysdeps/riscv/dl-tls.h @@ -45,4 +45,4 @@ extern void *__tls_get_addr (tls_index *ti); #define __TLS_GET_ADDR(__ti) (__tls_get_addr (__ti) - TLS_DTV_OFFSET) /* Value used for dtv entries for which the allocation is delayed. */ -#define TLS_DTV_UNALLOCATED ((void *) -1l) +#define TLS_DTV_UNALLOCATED_VALUE -1l