public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* Fix ifunc-impl-list.c build for s390
@ 2023-02-16 21:39 Joseph Myers
  2023-02-17 13:46 ` Stefan Liebler
  0 siblings, 1 reply; 3+ messages in thread
From: Joseph Myers @ 2023-02-16 21:39 UTC (permalink / raw)
  To: libc-alpha

Builds for s390 recently started failing with:

../sysdeps/s390/multiarch/ifunc-impl-list.c: In function '__libc_ifunc_impl_list':
../sysdeps/s390/multiarch/ifunc-impl-list.c:83:21: error: unused variable 'dl_hwcap' [-Werror=unused-variable]
   83 |   unsigned long int dl_hwcap = features->hwcap;
      |                     ^~~~~~~~

https://sourceware.org/pipermail/libc-testresults/2023q1/010855.html

Add __attribute__ ((unused)) as already done for another variable
there.

Tested with build-many-glibcs.py (compilers and glibcs) for
s390x-linux-gnu and s390-linux-gnu.

Note: s390x-linux-gnu-O3 started failing with a different error
earlier; that problem may still need to be fixed after this fix is in.

https://sourceware.org/pipermail/libc-testresults/2023q1/010829.html

diff --git a/sysdeps/s390/multiarch/ifunc-impl-list.c b/sysdeps/s390/multiarch/ifunc-impl-list.c
index 1532258af2..faa428f9ab 100644
--- a/sysdeps/s390/multiarch/ifunc-impl-list.c
+++ b/sysdeps/s390/multiarch/ifunc-impl-list.c
@@ -80,7 +80,7 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 
   /* Get hardware information.  */
   const struct cpu_features *features = &GLRO(dl_s390_cpu_features);
-  unsigned long int dl_hwcap = features->hwcap;
+  unsigned long int dl_hwcap __attribute__ ((unused)) = features->hwcap;
   const unsigned long long * __attribute__((unused)) stfle_bits
     = features->stfle_bits;
 

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Fix ifunc-impl-list.c build for s390
  2023-02-16 21:39 Fix ifunc-impl-list.c build for s390 Joseph Myers
@ 2023-02-17 13:46 ` Stefan Liebler
  2023-02-28 12:44   ` Stefan Liebler
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Liebler @ 2023-02-17 13:46 UTC (permalink / raw)
  To: libc-alpha

On 16.02.23 22:39, Joseph Myers wrote:
> Builds for s390 recently started failing with:
> 
> ../sysdeps/s390/multiarch/ifunc-impl-list.c: In function '__libc_ifunc_impl_list':
> ../sysdeps/s390/multiarch/ifunc-impl-list.c:83:21: error: unused variable 'dl_hwcap' [-Werror=unused-variable]
>    83 |   unsigned long int dl_hwcap = features->hwcap;
>       |                     ^~~~~~~~
> 
> https://sourceware.org/pipermail/libc-testresults/2023q1/010855.html
> 
> Add __attribute__ ((unused)) as already done for another variable
> there.
> 
> Tested with build-many-glibcs.py (compilers and glibcs) for
> s390x-linux-gnu and s390-linux-gnu.
> 
Thanks Joseph for catching it. In case of building with latest -march
argument, I've removed the last user with my recent commit:
"S390: Influence hwcaps/stfle via GLIBC_TUNABLES."
https://sourceware.org/git/?p=glibc.git;a=commit;h=41f67ccbe92b4fd09e1062b383e55e407ae5bfa1

Reviewed-by: Stefan Liebler <stli@linux.ibm.com>

> Note: s390x-linux-gnu-O3 started failing with a different error
> earlier; that problem may still need to be fixed after this fix is in.
> 
> https://sourceware.org/pipermail/libc-testresults/2023q1/010829.html
> 
I will have a look. Independently I've recognized a fail on x86_64/s390x
with -O3 starting with commit 32c7acd46401530fdbd4e98508c9baaa705f8b53
"Replace rawmemchr (s, '\0') with strchr":
In function ‘nis_local_host’,
    inlined from ‘nis_local_host’ at nis_local_names.c:147:1:
nis_local_names.c:171:11: error: ‘strncpy’ output may be truncated
copying between 0 and 1023 bytes from a string of length 1024
[-Werror=stringop-truncation]
  171 |           strncpy (cp, nis_local_directory (), NIS_MAXNAMELEN -
len -1);

But so far I had no further time to look into it.

> diff --git a/sysdeps/s390/multiarch/ifunc-impl-list.c b/sysdeps/s390/multiarch/ifunc-impl-list.c
> index 1532258af2..faa428f9ab 100644
> --- a/sysdeps/s390/multiarch/ifunc-impl-list.c
> +++ b/sysdeps/s390/multiarch/ifunc-impl-list.c
> @@ -80,7 +80,7 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
> 
>    /* Get hardware information.  */
>    const struct cpu_features *features = &GLRO(dl_s390_cpu_features);
> -  unsigned long int dl_hwcap = features->hwcap;
> +  unsigned long int dl_hwcap __attribute__ ((unused)) = features->hwcap;
>    const unsigned long long * __attribute__((unused)) stfle_bits
>      = features->stfle_bits;
> 
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Fix ifunc-impl-list.c build for s390
  2023-02-17 13:46 ` Stefan Liebler
@ 2023-02-28 12:44   ` Stefan Liebler
  0 siblings, 0 replies; 3+ messages in thread
From: Stefan Liebler @ 2023-02-28 12:44 UTC (permalink / raw)
  To: libc-alpha

On 17.02.23 14:46, Stefan Liebler via Libc-alpha wrote:
>> Note: s390x-linux-gnu-O3 started failing with a different error
>> earlier; that problem may still need to be fixed after this fix is in.
>>
>> https://sourceware.org/pipermail/libc-testresults/2023q1/010829.html
>>
> I will have a look. Independently I've recognized a fail on x86_64/s390x
> with -O3 starting with commit 32c7acd46401530fdbd4e98508c9baaa705f8b53
> "Replace rawmemchr (s, '\0') with strchr":
> In function ‘nis_local_host’,
>     inlined from ‘nis_local_host’ at nis_local_names.c:147:1:
> nis_local_names.c:171:11: error: ‘strncpy’ output may be truncated
> copying between 0 and 1023 bytes from a string of length 1024
> [-Werror=stringop-truncation]
>   171 |           strncpy (cp, nis_local_directory (), NIS_MAXNAMELEN -
> len -1);
> 
> But so far I had no further time to look into it.
Hi Joseph,
I've posted a patch to fix the earlier error with -O3.
The same error is also observable with x86_64 -O3, but s390x is the only
architecture in the build-many-script which also builds with -O3 as gcc
tends to inline more than on other architectures.

Please have a look here:
[PATCH] nis: Fix stringop-truncation warning with -O3 in nis_local_host.
https://sourceware.org/pipermail/libc-alpha/2023-February/145923.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-02-28 12:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-16 21:39 Fix ifunc-impl-list.c build for s390 Joseph Myers
2023-02-17 13:46 ` Stefan Liebler
2023-02-28 12:44   ` Stefan Liebler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).