elf: Fix _dl_close_worker compile error with -Werror and -DNDEBUG

Message ID 54ddeeeb-6c27-0a55-1ebb-d52f2c1ad935@huawei.com
State Superseded
Headers
Series elf: Fix _dl_close_worker compile error with -Werror and -DNDEBUG |

Checks

Context Check Description
redhat-pt-bot/TryBot-apply_patch success Patch applied to master at the time it was sent
redhat-pt-bot/TryBot-32bit success Build for i686
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_glibc_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_glibc_check--master-arm success Testing passed

Commit Message

Qingqing Li Sept. 15, 2023, 7:21 a.m. UTC
  here is the error:
dl-close.c: In function ‘_dl_close_worker’:
dl-close.c:140:22: error: unused variable ‘nloaded’ [-Werror=unused-variable]
  140 |   const unsigned int nloaded = ns->_ns_nloaded;
---
 elf/dl-close.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Adhemerval Zanella Sept. 19, 2023, 1:52 p.m. UTC | #1
Unaddressed
On 15/09/23 04:21, Qingqing Li wrote:
> here is the error:
> dl-close.c: In function ‘_dl_close_worker’:
> dl-close.c:140:22: error: unused variable ‘nloaded’ [-Werror=unused-variable]
>   140 |   const unsigned int nloaded = ns->_ns_nloaded;

Please add that this failure happens with -DNDEBUG on commit message
and also reference the bug 18755 on title (it is closed, but it is
good to track the build failures with -DNDEBUG).

> ---
>  elf/dl-close.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/elf/dl-close.c b/elf/dl-close.c
> index c9a7d06577..a0bddb583d 100644
> --- a/elf/dl-close.c
> +++ b/elf/dl-close.c
> @@ -137,7 +137,7 @@ _dl_close_worker (struct link_map *map, bool force)
>    dl_close_state = pending;
> 
>    bool any_tls = false;
> -  const unsigned int nloaded = ns->_ns_nloaded;
> +  __attribute__ ((unused)) const unsigned int nloaded = ns->_ns_nloaded;

We already have __attribute_maybe_unused__ and usually attribute are
added after variable definition:

  const unsigned int nloaded __attribute_maybe_unused__ = ns->_ns_nloaded;

> 
>    /* Run over the list and assign indexes to the link maps.  */
>    int idx = 0;
  

Patch

diff --git a/elf/dl-close.c b/elf/dl-close.c
index c9a7d06577..a0bddb583d 100644
--- a/elf/dl-close.c
+++ b/elf/dl-close.c
@@ -137,7 +137,7 @@  _dl_close_worker (struct link_map *map, bool force)
   dl_close_state = pending;

   bool any_tls = false;
-  const unsigned int nloaded = ns->_ns_nloaded;
+  __attribute__ ((unused)) const unsigned int nloaded = ns->_ns_nloaded;

   /* Run over the list and assign indexes to the link maps.  */
   int idx = 0;