public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
@ 2020-05-04 10:27 Kyrylo Tkachov
  2020-05-04 10:39 ` Florian Weimer
  0 siblings, 1 reply; 19+ messages in thread
From: Kyrylo Tkachov @ 2020-05-04 10:27 UTC (permalink / raw)
  To: gcc-patches; +Cc: Florian Weimer, Joseph Myers

[-- Attachment #1: Type: text/plain, Size: 592 bytes --]

Hi all,

This patch fixes https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545004.html by using __getauxval in the libgcc code.
Bootstrap and testing on aarch64-none-linux-gnu shows no problem.
From what I could gather from my glibc testing the elf/check-localplt test passes.

Joseph, Florian, does this fix look like what you had in mind?
If I commit it to trunk and the branches will glibc be fine with it?

Thanks,
Kyrill

2020-05-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/aarch64/lse-init.c (init_have_lse_atomics): Use __getauxval
	instead of getauxval.

[-- Attachment #2: ool-auxval.patch --]
[-- Type: application/octet-stream, Size: 478 bytes --]

diff --git a/libgcc/config/aarch64/lse-init.c b/libgcc/config/aarch64/lse-init.c
index 74acef2..ea4ea3f 100644
--- a/libgcc/config/aarch64/lse-init.c
+++ b/libgcc/config/aarch64/lse-init.c
@@ -39,7 +39,7 @@ _Bool __aarch64_have_lse_atomics
 static void __attribute__((constructor))
 init_have_lse_atomics (void)
 {
-  unsigned long hwcap = getauxval (AT_HWCAP);
+  unsigned long hwcap = __getauxval (AT_HWCAP);
   __aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0;
 }
 

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

* Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-04 10:27 [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc Kyrylo Tkachov
@ 2020-05-04 10:39 ` Florian Weimer
  2020-05-04 11:34   ` Kyrylo Tkachov
  0 siblings, 1 reply; 19+ messages in thread
From: Florian Weimer @ 2020-05-04 10:39 UTC (permalink / raw)
  To: Kyrylo Tkachov; +Cc: gcc-patches, Joseph Myers

* Kyrylo Tkachov:

> This patch fixes https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545004.html by using __getauxval in the libgcc code.
> Bootstrap and testing on aarch64-none-linux-gnu shows no problem.
> From what I could gather from my glibc testing the elf/check-localplt test passes.
>
> Joseph, Florian, does this fix look like what you had in mind?
> If I commit it to trunk and the branches will glibc be fine with it?

Doesn't this cause an implicit function declaration warning?

Thanks,
Florian


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

* RE: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-04 10:39 ` Florian Weimer
@ 2020-05-04 11:34   ` Kyrylo Tkachov
  2020-05-04 15:16     ` Szabolcs Nagy
  0 siblings, 1 reply; 19+ messages in thread
From: Kyrylo Tkachov @ 2020-05-04 11:34 UTC (permalink / raw)
  To: Florian Weimer; +Cc: gcc-patches, Joseph Myers



> -----Original Message-----
> From: Florian Weimer <fweimer@redhat.com>
> Sent: 04 May 2020 11:40
> To: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>
> Cc: gcc-patches@gcc.gnu.org; Joseph Myers <joseph@codesourcery.com>
> Subject: Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE
> detection code in libgcc
> 
> * Kyrylo Tkachov:
> 
> > This patch fixes https://gcc.gnu.org/pipermail/gcc-patches/2020-
> May/545004.html by using __getauxval in the libgcc code.
> > Bootstrap and testing on aarch64-none-linux-gnu shows no problem.
> > From what I could gather from my glibc testing the elf/check-localplt test
> passes.
> >
> > Joseph, Florian, does this fix look like what you had in mind?
> > If I commit it to trunk and the branches will glibc be fine with it?
> 
> Doesn't this cause an implicit function declaration warning?

I don't get such a warning during bootstrap.
Thanks,
Kyrill

> 
> Thanks,
> Florian


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

* Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-04 11:34   ` Kyrylo Tkachov
@ 2020-05-04 15:16     ` Szabolcs Nagy
  2020-05-04 20:02       ` Joseph Myers
  0 siblings, 1 reply; 19+ messages in thread
From: Szabolcs Nagy @ 2020-05-04 15:16 UTC (permalink / raw)
  To: Kyrylo Tkachov; +Cc: Florian Weimer, gcc-patches, Joseph Myers

The 05/04/2020 11:34, Kyrylo Tkachov wrote:
> > -----Original Message-----
> > From: Florian Weimer <fweimer@redhat.com>
> > Sent: 04 May 2020 11:40
> > To: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>
> > Cc: gcc-patches@gcc.gnu.org; Joseph Myers <joseph@codesourcery.com>
> > Subject: Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE
> > detection code in libgcc
> > 
> > * Kyrylo Tkachov:
> > 
> > > This patch fixes https://gcc.gnu.org/pipermail/gcc-patches/2020-
> > May/545004.html by using __getauxval in the libgcc code.
> > > Bootstrap and testing on aarch64-none-linux-gnu shows no problem.
> > > From what I could gather from my glibc testing the elf/check-localplt test
> > passes.
> > >
> > > Joseph, Florian, does this fix look like what you had in mind?
> > > If I commit it to trunk and the branches will glibc be fine with it?
> > 
> > Doesn't this cause an implicit function declaration warning?
> 
> I don't get such a warning during bootstrap.

i think __getauxval needs to be declared where it is used.

and libgcc should do a link test in configure becasuse a
libc may provide sys/auxv.h but not have __getauxval e.g.
musl libc does not export __getauxval, only getauxval.

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

* Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-04 15:16     ` Szabolcs Nagy
@ 2020-05-04 20:02       ` Joseph Myers
  2020-05-05  9:19         ` Szabolcs Nagy
  2020-05-05 13:27         ` Kyrylo Tkachov
  0 siblings, 2 replies; 19+ messages in thread
From: Joseph Myers @ 2020-05-04 20:02 UTC (permalink / raw)
  To: Szabolcs Nagy; +Cc: Kyrylo Tkachov, Florian Weimer, gcc-patches

On Mon, 4 May 2020, Szabolcs Nagy wrote:

> i think __getauxval needs to be declared where it is used.

Yes.

> and libgcc should do a link test in configure becasuse a
> libc may provide sys/auxv.h but not have __getauxval e.g.
> musl libc does not export __getauxval, only getauxval.

libgcc can't do link tests, since it's built before libc.  It can use the 
glibc version number ($glibc_version_major and $glibc_version_minor) 
already computed in libgcc/configure.ac, which uses --with-glibc-version 
or target headers if available and otherwise defaults to 0.0.

A design principle is that glibc built with libgcc configured without 
glibc headers but with --with-glibc-version should produce an identical 
stripped binary to the glibc resulting from a longer alternating sequence 
of GCC and glibc builds.  So it is not correct for any libgcc 
functionality that would end up being linked into glibc binaries to depend 
on glibc headers or libraries being available when libgcc is configured.

Thus, this libgcc code should not actually be conditional on 
!inhibit_libc, without a fallback when configured using 
--with-glibc-version to specify a glibc version with __getauxval, because 
that would mean the modern process for bootstrapping a cross glibc build 
produces a glibc binary that quietly differs from one produced by a longer 
alternating sequence of builds (missing this constructor).

-- 
Joseph S. Myers
joseph@codesourcery.com

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

* Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-04 20:02       ` Joseph Myers
@ 2020-05-05  9:19         ` Szabolcs Nagy
  2020-05-05 21:26           ` Joseph Myers
  2020-05-05 13:27         ` Kyrylo Tkachov
  1 sibling, 1 reply; 19+ messages in thread
From: Szabolcs Nagy @ 2020-05-05  9:19 UTC (permalink / raw)
  To: Joseph Myers; +Cc: Kyrylo Tkachov, Florian Weimer, gcc-patches

The 05/04/2020 20:02, Joseph Myers wrote:
> On Mon, 4 May 2020, Szabolcs Nagy wrote:
> > i think __getauxval needs to be declared where it is used.
> 
> Yes.
> 
> > and libgcc should do a link test in configure becasuse a
> > libc may provide sys/auxv.h but not have __getauxval e.g.
> > musl libc does not export __getauxval, only getauxval.
> 
> libgcc can't do link tests, since it's built before libc.  It can use the 
> glibc version number ($glibc_version_major and $glibc_version_minor) 
> already computed in libgcc/configure.ac, which uses --with-glibc-version 
> or target headers if available and otherwise defaults to 0.0.
> 
> A design principle is that glibc built with libgcc configured without 
> glibc headers but with --with-glibc-version should produce an identical 
> stripped binary to the glibc resulting from a longer alternating sequence 
> of GCC and glibc builds.  So it is not correct for any libgcc 
> functionality that would end up being linked into glibc binaries to depend 
> on glibc headers or libraries being available when libgcc is configured.
> 
> Thus, this libgcc code should not actually be conditional on 
> !inhibit_libc, without a fallback when configured using 
> --with-glibc-version to specify a glibc version with __getauxval, because 
> that would mean the modern process for bootstrapping a cross glibc build 
> produces a glibc binary that quietly differs from one produced by a longer 
> alternating sequence of builds (missing this constructor).

i.e. libgcc needs to replicate definitions from sys/auxv.h?
like

_Bool flag = 0;

#if GLIBC_VERSION_OK
# define AT_HWCAP ...
# define HWCAP_ATOMICS ...
unsigned long __getauxval (unsigned long);

__attribute__ ((constructor)) static void
init ()
{
  flag = (__getauxval(AT_HWCAP) & HWCAP_ATOMICS) != 0;
}
#endif

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

* RE: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-04 20:02       ` Joseph Myers
  2020-05-05  9:19         ` Szabolcs Nagy
@ 2020-05-05 13:27         ` Kyrylo Tkachov
  2020-05-05 21:30           ` Joseph Myers
  1 sibling, 1 reply; 19+ messages in thread
From: Kyrylo Tkachov @ 2020-05-05 13:27 UTC (permalink / raw)
  To: Joseph Myers, Szabolcs Nagy; +Cc: Florian Weimer, gcc-patches

[-- Attachment #1: Type: text/plain, Size: 2544 bytes --]



> -----Original Message-----
> From: Joseph Myers <joseph@codesourcery.com>
> Sent: 04 May 2020 21:03
> To: Szabolcs Nagy <Szabolcs.Nagy@arm.com>
> Cc: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>; Florian Weimer
> <fweimer@redhat.com>; gcc-patches@gcc.gnu.org
> Subject: Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE
> detection code in libgcc
> 
> On Mon, 4 May 2020, Szabolcs Nagy wrote:
> 
> > i think __getauxval needs to be declared where it is used.
> 
> Yes.
> 
> > and libgcc should do a link test in configure becasuse a
> > libc may provide sys/auxv.h but not have __getauxval e.g.
> > musl libc does not export __getauxval, only getauxval.
> 
> libgcc can't do link tests, since it's built before libc.  It can use the
> glibc version number ($glibc_version_major and $glibc_version_minor)
> already computed in libgcc/configure.ac, which uses --with-glibc-version
> or target headers if available and otherwise defaults to 0.0.
> 
> A design principle is that glibc built with libgcc configured without
> glibc headers but with --with-glibc-version should produce an identical
> stripped binary to the glibc resulting from a longer alternating sequence
> of GCC and glibc builds.  So it is not correct for any libgcc
> functionality that would end up being linked into glibc binaries to depend
> on glibc headers or libraries being available when libgcc is configured.
> 
> Thus, this libgcc code should not actually be conditional on
> !inhibit_libc, without a fallback when configured using
> --with-glibc-version to specify a glibc version with __getauxval, because
> that would mean the modern process for bootstrapping a cross glibc build
> produces a glibc binary that quietly differs from one produced by a longer
> alternating sequence of builds (missing this constructor).

This version of the fix uses __getauxval instead of getauxval.
The whole thing is guarded simply on __GLIBC__ >= 2.
__getauxval was introduced in 2.16 but the aarch64 port was added in 2.17 so in practice I expect all aarch64 glibcs to support __getauxval.

Bootstrapped and tested on aarch64-none-linux-gnu.
Also tested on aarch64-none-elf and ran the glibc testsuite.

Thanks,
Kyrill

2020-05-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/aarch64/lse-init.c (init_have_lse_atomics): Use __getauxval
	instead of getauxval.
	(AT_HWCAP): Define.
	(HWCAP_ATOMICS): Define.
	Guard detection on __GLIBC__ >= 2.

> 
> --
> Joseph S. Myers
> joseph@codesourcery.com

[-- Attachment #2: ool-glibc.patch --]
[-- Type: application/octet-stream, Size: 1090 bytes --]

diff --git a/libgcc/config/aarch64/lse-init.c b/libgcc/config/aarch64/lse-init.c
index 74acef25cce..423db5be0b7 100644
--- a/libgcc/config/aarch64/lse-init.c
+++ b/libgcc/config/aarch64/lse-init.c
@@ -29,19 +29,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 _Bool __aarch64_have_lse_atomics
   __attribute__((visibility("hidden"), nocommon));
 
-/* Disable initialization of __aarch64_have_lse_atomics during bootstrap.  */
-#if !defined(inhibit_libc) && defined(HAVE_SYS_AUXV_H)
-# include <sys/auxv.h>
+#if defined __GLIBC__ && __GLIBC__ >= 2
 
-/* Disable initialization if the system headers are too old.  */
-# if defined(AT_HWCAP) && defined(HWCAP_ATOMICS)
+# define AT_HWCAP	16
+# define HWCAP_ATOMICS	(1 << 8)
+
+unsigned long __getauxval (unsigned long);
 
 static void __attribute__((constructor))
 init_have_lse_atomics (void)
 {
-  unsigned long hwcap = getauxval (AT_HWCAP);
+  unsigned long hwcap = __getauxval (AT_HWCAP);
   __aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0;
 }
 
-# endif /* HWCAP */
-#endif /* inhibit_libc */
+#endif

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

* Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-05  9:19         ` Szabolcs Nagy
@ 2020-05-05 21:26           ` Joseph Myers
  0 siblings, 0 replies; 19+ messages in thread
From: Joseph Myers @ 2020-05-05 21:26 UTC (permalink / raw)
  To: Szabolcs Nagy; +Cc: Florian Weimer, gcc-patches

On Tue, 5 May 2020, Szabolcs Nagy wrote:

> > A design principle is that glibc built with libgcc configured without 
> > glibc headers but with --with-glibc-version should produce an identical 
> > stripped binary to the glibc resulting from a longer alternating sequence 
> > of GCC and glibc builds.  So it is not correct for any libgcc 
> > functionality that would end up being linked into glibc binaries to depend 
> > on glibc headers or libraries being available when libgcc is configured.
> > 
> > Thus, this libgcc code should not actually be conditional on 
> > !inhibit_libc, without a fallback when configured using 
> > --with-glibc-version to specify a glibc version with __getauxval, because 
> > that would mean the modern process for bootstrapping a cross glibc build 
> > produces a glibc binary that quietly differs from one produced by a longer 
> > alternating sequence of builds (missing this constructor).
> 
> i.e. libgcc needs to replicate definitions from sys/auxv.h?

Yes.  (This doesn't arise for unwind code, which has rather larger blocks 
of code disabled for inhibit_libc, because that doesn't get statically 
linked into libc.so so it's not a problem for that code to be missing 
from the bootstrap libgcc.)

-- 
Joseph S. Myers
joseph@codesourcery.com

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

* RE: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-05 13:27         ` Kyrylo Tkachov
@ 2020-05-05 21:30           ` Joseph Myers
  2020-05-06  9:51             ` Kyrylo Tkachov
  0 siblings, 1 reply; 19+ messages in thread
From: Joseph Myers @ 2020-05-05 21:30 UTC (permalink / raw)
  To: Kyrylo Tkachov; +Cc: Szabolcs Nagy, Florian Weimer, gcc-patches

On Tue, 5 May 2020, Kyrylo Tkachov wrote:

> This version of the fix uses __getauxval instead of getauxval.
> The whole thing is guarded simply on __GLIBC__ >= 2.
> __getauxval was introduced in 2.16 but the aarch64 port was added in 2.17 so in practice I expect all aarch64 glibcs to support __getauxval.

Testing __GLIBC__ doesn't work because that's only defined in headers and 
the point of duplicating definitions here is to avoid libgcc and thus libc 
contents depending on whether headers were available when libgcc was 
built.  However, given your point that the AArch64 glibc port postdates 
the addition of __getauxval to glibc, you can test __gnu_linux__ instead, 
as a macro GCC predefines only when configured to use glibc on the target, 
and don't need a version test after all.

-- 
Joseph S. Myers
joseph@codesourcery.com

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

* RE: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-05 21:30           ` Joseph Myers
@ 2020-05-06  9:51             ` Kyrylo Tkachov
  2020-05-06 10:27               ` Florian Weimer
  0 siblings, 1 reply; 19+ messages in thread
From: Kyrylo Tkachov @ 2020-05-06  9:51 UTC (permalink / raw)
  To: Joseph Myers
  Cc: Szabolcs Nagy, Florian Weimer, gcc-patches, Jakub Jelinek,
	Richard Biener

[-- Attachment #1: Type: text/plain, Size: 2095 bytes --]



> -----Original Message-----
> From: Joseph Myers <joseph@codesourcery.com>
> Sent: 05 May 2020 22:30
> To: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>
> Cc: Szabolcs Nagy <Szabolcs.Nagy@arm.com>; Florian Weimer
> <fweimer@redhat.com>; gcc-patches@gcc.gnu.org
> Subject: RE: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE
> detection code in libgcc
> 
> On Tue, 5 May 2020, Kyrylo Tkachov wrote:
> 
> > This version of the fix uses __getauxval instead of getauxval.
> > The whole thing is guarded simply on __GLIBC__ >= 2.
> > __getauxval was introduced in 2.16 but the aarch64 port was added in 2.17
> so in practice I expect all aarch64 glibcs to support __getauxval.
> 
> Testing __GLIBC__ doesn't work because that's only defined in headers and
> the point of duplicating definitions here is to avoid libgcc and thus libc
> contents depending on whether headers were available when libgcc was
> built.  However, given your point that the AArch64 glibc port postdates
> the addition of __getauxval to glibc, you can test __gnu_linux__ instead,
> as a macro GCC predefines only when configured to use glibc on the target,
> and don't need a version test after all.

Right, thanks for the pointer.
This version of the fix uses __getauxval instead of getauxval.
The whole thing is guarded simply on __gnu_linux__.
__getauxval was introduced in 2.16 but the aarch64 port was added in 2.17 so in practice I expect all aarch64 glibcs to support __getauxval.

Bootstrapped and tested on aarch64-none-linux-gnu.
Also tested on aarch64-none-elf.

Checked that the lse-init.o binary contains the __getauxval call for aarch64-none-linux-gnu and is empty for aarch64-none-elf (a newlib target).
Is this okay for trunk and the GCC 10 branch?

Thanks,
Kyrill

2020-05-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/aarch64/lse-init.c (init_have_lse_atomics): Use __getauxval
	instead of getauxval.
	(AT_HWCAP): Define.
	(HWCAP_ATOMICS): Define.
	Guard detection on __gnu_linux__.

> 
> --
> Joseph S. Myers
> joseph@codesourcery.com

[-- Attachment #2: ool-glibc.patch --]
[-- Type: application/octet-stream, Size: 1198 bytes --]

diff --git a/libgcc/config/aarch64/lse-init.c b/libgcc/config/aarch64/lse-init.c
index 74acef25cce..57236610468 100644
--- a/libgcc/config/aarch64/lse-init.c
+++ b/libgcc/config/aarch64/lse-init.c
@@ -29,19 +29,20 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 _Bool __aarch64_have_lse_atomics
   __attribute__((visibility("hidden"), nocommon));
 
-/* Disable initialization of __aarch64_have_lse_atomics during bootstrap.  */
-#if !defined(inhibit_libc) && defined(HAVE_SYS_AUXV_H)
-# include <sys/auxv.h>
+/* Gate availability of __getauxval on glibc.  All AArch64-supporting glibc
+   versions support it.  */
+#ifdef __gnu_linux__
 
-/* Disable initialization if the system headers are too old.  */
-# if defined(AT_HWCAP) && defined(HWCAP_ATOMICS)
+# define AT_HWCAP	16
+# define HWCAP_ATOMICS	(1 << 8)
+
+unsigned long __getauxval (unsigned long);
 
 static void __attribute__((constructor))
 init_have_lse_atomics (void)
 {
-  unsigned long hwcap = getauxval (AT_HWCAP);
+  unsigned long hwcap = __getauxval (AT_HWCAP);
   __aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0;
 }
 
-# endif /* HWCAP */
-#endif /* inhibit_libc */
+#endif /* __gnu_linux__  */

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

* Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-06  9:51             ` Kyrylo Tkachov
@ 2020-05-06 10:27               ` Florian Weimer
  2020-05-06 10:39                 ` Kyrylo Tkachov
  0 siblings, 1 reply; 19+ messages in thread
From: Florian Weimer @ 2020-05-06 10:27 UTC (permalink / raw)
  To: Kyrylo Tkachov
  Cc: Joseph Myers, Szabolcs Nagy, gcc-patches, Jakub Jelinek, Richard Biener

* Kyrylo Tkachov:

> diff --git a/libgcc/config/aarch64/lse-init.c b/libgcc/config/aarch64/lse-init.c
> index 74acef25cce..57236610468 100644
> --- a/libgcc/config/aarch64/lse-init.c
> +++ b/libgcc/config/aarch64/lse-init.c
> @@ -29,19 +29,20 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
>  _Bool __aarch64_have_lse_atomics
>    __attribute__((visibility("hidden"), nocommon));
>  
> -/* Disable initialization of __aarch64_have_lse_atomics during bootstrap.  */
> -#if !defined(inhibit_libc) && defined(HAVE_SYS_AUXV_H)
> -# include <sys/auxv.h>
> +/* Gate availability of __getauxval on glibc.  All AArch64-supporting glibc
> +   versions support it.  */
> +#ifdef __gnu_linux__
>  
> -/* Disable initialization if the system headers are too old.  */
> -# if defined(AT_HWCAP) && defined(HWCAP_ATOMICS)
> +# define AT_HWCAP	16
> +# define HWCAP_ATOMICS	(1 << 8)
> +
> +unsigned long __getauxval (unsigned long);
>  
>  static void __attribute__((constructor))
>  init_have_lse_atomics (void)
>  {
> -  unsigned long hwcap = getauxval (AT_HWCAP);
> +  unsigned long hwcap = __getauxval (AT_HWCAP);
>    __aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0;
>  }
>  
> -# endif /* HWCAP */
> -#endif /* inhibit_libc */
> +#endif /* __gnu_linux__  */

GNU style is unsigned long int.

Is __gnu_linux__ defined with musl?  It's not really GNU/Linux, after
all.  musl doesn't have __getauxval IIRC, so it would break the build
there.

(This is not a review of the patch. 8-)

Thanks,
Florian


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

* RE: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-06 10:27               ` Florian Weimer
@ 2020-05-06 10:39                 ` Kyrylo Tkachov
  2020-05-06 11:56                   ` Kyrylo Tkachov
  2020-05-06 13:22                   ` [PATCH][AArch64] " Szabolcs Nagy
  0 siblings, 2 replies; 19+ messages in thread
From: Kyrylo Tkachov @ 2020-05-06 10:39 UTC (permalink / raw)
  To: Florian Weimer
  Cc: Joseph Myers, Szabolcs Nagy, gcc-patches, Jakub Jelinek, Richard Biener



> -----Original Message-----
> From: Florian Weimer <fweimer@redhat.com>
> Sent: 06 May 2020 11:28
> To: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>
> Cc: Joseph Myers <joseph@codesourcery.com>; Szabolcs Nagy
> <Szabolcs.Nagy@arm.com>; gcc-patches@gcc.gnu.org; Jakub Jelinek
> <jakub@redhat.com>; Richard Biener <richard.guenther@gmail.com>
> Subject: Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE
> detection code in libgcc
> 
> * Kyrylo Tkachov:
> 
> > diff --git a/libgcc/config/aarch64/lse-init.c b/libgcc/config/aarch64/lse-init.c
> > index 74acef25cce..57236610468 100644
> > --- a/libgcc/config/aarch64/lse-init.c
> > +++ b/libgcc/config/aarch64/lse-init.c
> > @@ -29,19 +29,20 @@ see the files COPYING3 and COPYING.RUNTIME
> respectively.  If not, see
> >  _Bool __aarch64_have_lse_atomics
> >    __attribute__((visibility("hidden"), nocommon));
> >
> > -/* Disable initialization of __aarch64_have_lse_atomics during bootstrap.
> */
> > -#if !defined(inhibit_libc) && defined(HAVE_SYS_AUXV_H)
> > -# include <sys/auxv.h>
> > +/* Gate availability of __getauxval on glibc.  All AArch64-supporting glibc
> > +   versions support it.  */
> > +#ifdef __gnu_linux__
> >
> > -/* Disable initialization if the system headers are too old.  */
> > -# if defined(AT_HWCAP) && defined(HWCAP_ATOMICS)
> > +# define AT_HWCAP	16
> > +# define HWCAP_ATOMICS	(1 << 8)
> > +
> > +unsigned long __getauxval (unsigned long);
> >
> >  static void __attribute__((constructor))
> >  init_have_lse_atomics (void)
> >  {
> > -  unsigned long hwcap = getauxval (AT_HWCAP);
> > +  unsigned long hwcap = __getauxval (AT_HWCAP);
> >    __aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0;
> >  }
> >
> > -# endif /* HWCAP */
> > -#endif /* inhibit_libc */
> > +#endif /* __gnu_linux__  */
> 
> GNU style is unsigned long int.

Thanks, I'll fix that.

> 
> Is __gnu_linux__ defined with musl?  It's not really GNU/Linux, after
> all.  musl doesn't have __getauxval IIRC, so it would break the build
> there.

I don't think it does (at least not with a git grep for it in the musl code).
GCC doesn't define it for musl targets either. I see it defined for uclinux for arm, not aarch64 though.

Thanks,
Kyrill

> 
> (This is not a review of the patch. 8-)
> 
> Thanks,
> Florian


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

* RE: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-06 10:39                 ` Kyrylo Tkachov
@ 2020-05-06 11:56                   ` Kyrylo Tkachov
  2020-05-06 12:00                     ` Richard Biener
  2020-05-06 13:22                   ` [PATCH][AArch64] " Szabolcs Nagy
  1 sibling, 1 reply; 19+ messages in thread
From: Kyrylo Tkachov @ 2020-05-06 11:56 UTC (permalink / raw)
  To: Florian Weimer
  Cc: Joseph Myers, Szabolcs Nagy, gcc-patches, Jakub Jelinek, Richard Biener

[-- Attachment #1: Type: text/plain, Size: 3039 bytes --]



> -----Original Message-----
> From: Kyrylo Tkachov
> Sent: 06 May 2020 11:40
> To: Florian Weimer <fweimer@redhat.com>
> Cc: Joseph Myers <joseph@codesourcery.com>; Szabolcs Nagy
> <Szabolcs.Nagy@arm.com>; gcc-patches@gcc.gnu.org; Jakub Jelinek
> <jakub@redhat.com>; Richard Biener <richard.guenther@gmail.com>
> Subject: RE: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE
> detection code in libgcc
> 
> 
> 
> > -----Original Message-----
> > From: Florian Weimer <fweimer@redhat.com>
> > Sent: 06 May 2020 11:28
> > To: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>
> > Cc: Joseph Myers <joseph@codesourcery.com>; Szabolcs Nagy
> > <Szabolcs.Nagy@arm.com>; gcc-patches@gcc.gnu.org; Jakub Jelinek
> > <jakub@redhat.com>; Richard Biener <richard.guenther@gmail.com>
> > Subject: Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE
> > detection code in libgcc
> >
> > * Kyrylo Tkachov:
> >
> > > diff --git a/libgcc/config/aarch64/lse-init.c b/libgcc/config/aarch64/lse-
> init.c
> > > index 74acef25cce..57236610468 100644
> > > --- a/libgcc/config/aarch64/lse-init.c
> > > +++ b/libgcc/config/aarch64/lse-init.c
> > > @@ -29,19 +29,20 @@ see the files COPYING3 and COPYING.RUNTIME
> > respectively.  If not, see
> > >  _Bool __aarch64_have_lse_atomics
> > >    __attribute__((visibility("hidden"), nocommon));
> > >
> > > -/* Disable initialization of __aarch64_have_lse_atomics during bootstrap.
> > */
> > > -#if !defined(inhibit_libc) && defined(HAVE_SYS_AUXV_H)
> > > -# include <sys/auxv.h>
> > > +/* Gate availability of __getauxval on glibc.  All AArch64-supporting glibc
> > > +   versions support it.  */
> > > +#ifdef __gnu_linux__
> > >
> > > -/* Disable initialization if the system headers are too old.  */
> > > -# if defined(AT_HWCAP) && defined(HWCAP_ATOMICS)
> > > +# define AT_HWCAP	16
> > > +# define HWCAP_ATOMICS	(1 << 8)
> > > +
> > > +unsigned long __getauxval (unsigned long);
> > >
> > >  static void __attribute__((constructor))
> > >  init_have_lse_atomics (void)
> > >  {
> > > -  unsigned long hwcap = getauxval (AT_HWCAP);
> > > +  unsigned long hwcap = __getauxval (AT_HWCAP);
> > >    __aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0;
> > >  }
> > >
> > > -# endif /* HWCAP */
> > > -#endif /* inhibit_libc */
> > > +#endif /* __gnu_linux__  */
> >
> > GNU style is unsigned long int.
> 
> Thanks, I'll fix that.

Here is the updated patch for the record.
Jakub, richi, is this ok for the GCC 10 branch? 
Thanks,
Kyrill

> 
> >
> > Is __gnu_linux__ defined with musl?  It's not really GNU/Linux, after
> > all.  musl doesn't have __getauxval IIRC, so it would break the build
> > there.
> 
> I don't think it does (at least not with a git grep for it in the musl code).
> GCC doesn't define it for musl targets either. I see it defined for uclinux for
> arm, not aarch64 though.
> 
> Thanks,
> Kyrill
> 
> >
> > (This is not a review of the patch. 8-)
> >
> > Thanks,
> > Florian


[-- Attachment #2: ool-glibc.patch --]
[-- Type: application/octet-stream, Size: 1382 bytes --]

commit a9b5cab9535e591ca5543ca6f9c3306197cd842f
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date:   Wed May 6 08:09:38 2020 +0100

    [AArch64] fix OOL atomics for glibc

diff --git a/libgcc/config/aarch64/lse-init.c b/libgcc/config/aarch64/lse-init.c
index 74acef25cce..00e9ab8cd1c 100644
--- a/libgcc/config/aarch64/lse-init.c
+++ b/libgcc/config/aarch64/lse-init.c
@@ -29,19 +29,20 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 _Bool __aarch64_have_lse_atomics
   __attribute__((visibility("hidden"), nocommon));
 
-/* Disable initialization of __aarch64_have_lse_atomics during bootstrap.  */
-#if !defined(inhibit_libc) && defined(HAVE_SYS_AUXV_H)
-# include <sys/auxv.h>
+/* Gate availability of __getauxval on glibc.  All AArch64-supporting glibc
+   versions support it.  */
+#ifdef __gnu_linux__
 
-/* Disable initialization if the system headers are too old.  */
-# if defined(AT_HWCAP) && defined(HWCAP_ATOMICS)
+# define AT_HWCAP	16
+# define HWCAP_ATOMICS	(1 << 8)
+
+unsigned long int __getauxval (unsigned long int);
 
 static void __attribute__((constructor))
 init_have_lse_atomics (void)
 {
-  unsigned long hwcap = getauxval (AT_HWCAP);
+  unsigned long hwcap = __getauxval (AT_HWCAP);
   __aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0;
 }
 
-# endif /* HWCAP */
-#endif /* inhibit_libc */
+#endif /* __gnu_linux__  */

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

* Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-06 11:56                   ` Kyrylo Tkachov
@ 2020-05-06 12:00                     ` Richard Biener
  2020-05-06 14:45                       ` Joseph Myers
  0 siblings, 1 reply; 19+ messages in thread
From: Richard Biener @ 2020-05-06 12:00 UTC (permalink / raw)
  To: Kyrylo Tkachov
  Cc: Florian Weimer, Joseph Myers, Szabolcs Nagy, gcc-patches, Jakub Jelinek

On Wed, May 6, 2020 at 1:56 PM Kyrylo Tkachov <Kyrylo.Tkachov@arm.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Kyrylo Tkachov
> > Sent: 06 May 2020 11:40
> > To: Florian Weimer <fweimer@redhat.com>
> > Cc: Joseph Myers <joseph@codesourcery.com>; Szabolcs Nagy
> > <Szabolcs.Nagy@arm.com>; gcc-patches@gcc.gnu.org; Jakub Jelinek
> > <jakub@redhat.com>; Richard Biener <richard.guenther@gmail.com>
> > Subject: RE: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE
> > detection code in libgcc
> >
> >
> >
> > > -----Original Message-----
> > > From: Florian Weimer <fweimer@redhat.com>
> > > Sent: 06 May 2020 11:28
> > > To: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>
> > > Cc: Joseph Myers <joseph@codesourcery.com>; Szabolcs Nagy
> > > <Szabolcs.Nagy@arm.com>; gcc-patches@gcc.gnu.org; Jakub Jelinek
> > > <jakub@redhat.com>; Richard Biener <richard.guenther@gmail.com>
> > > Subject: Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE
> > > detection code in libgcc
> > >
> > > * Kyrylo Tkachov:
> > >
> > > > diff --git a/libgcc/config/aarch64/lse-init.c b/libgcc/config/aarch64/lse-
> > init.c
> > > > index 74acef25cce..57236610468 100644
> > > > --- a/libgcc/config/aarch64/lse-init.c
> > > > +++ b/libgcc/config/aarch64/lse-init.c
> > > > @@ -29,19 +29,20 @@ see the files COPYING3 and COPYING.RUNTIME
> > > respectively.  If not, see
> > > >  _Bool __aarch64_have_lse_atomics
> > > >    __attribute__((visibility("hidden"), nocommon));
> > > >
> > > > -/* Disable initialization of __aarch64_have_lse_atomics during bootstrap.
> > > */
> > > > -#if !defined(inhibit_libc) && defined(HAVE_SYS_AUXV_H)
> > > > -# include <sys/auxv.h>
> > > > +/* Gate availability of __getauxval on glibc.  All AArch64-supporting glibc
> > > > +   versions support it.  */
> > > > +#ifdef __gnu_linux__
> > > >
> > > > -/* Disable initialization if the system headers are too old.  */
> > > > -# if defined(AT_HWCAP) && defined(HWCAP_ATOMICS)
> > > > +# define AT_HWCAP        16
> > > > +# define HWCAP_ATOMICS   (1 << 8)
> > > > +
> > > > +unsigned long __getauxval (unsigned long);
> > > >
> > > >  static void __attribute__((constructor))
> > > >  init_have_lse_atomics (void)
> > > >  {
> > > > -  unsigned long hwcap = getauxval (AT_HWCAP);
> > > > +  unsigned long hwcap = __getauxval (AT_HWCAP);
> > > >    __aarch64_have_lse_atomics = (hwcap & HWCAP_ATOMICS) != 0;
> > > >  }
> > > >
> > > > -# endif /* HWCAP */
> > > > -#endif /* inhibit_libc */
> > > > +#endif /* __gnu_linux__  */
> > >
> > > GNU style is unsigned long int.
> >
> > Thanks, I'll fix that.
>
> Here is the updated patch for the record.
> Jakub, richi, is this ok for the GCC 10 branch?

I'll defer to Joseph who is release manager as well.

Thanks,
Richard.

> Thanks,
> Kyrill
>
> >
> > >
> > > Is __gnu_linux__ defined with musl?  It's not really GNU/Linux, after
> > > all.  musl doesn't have __getauxval IIRC, so it would break the build
> > > there.
> >
> > I don't think it does (at least not with a git grep for it in the musl code).
> > GCC doesn't define it for musl targets either. I see it defined for uclinux for
> > arm, not aarch64 though.
> >
> > Thanks,
> > Kyrill
> >
> > >
> > > (This is not a review of the patch. 8-)
> > >
> > > Thanks,
> > > Florian
>

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

* Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-06 10:39                 ` Kyrylo Tkachov
  2020-05-06 11:56                   ` Kyrylo Tkachov
@ 2020-05-06 13:22                   ` Szabolcs Nagy
  1 sibling, 0 replies; 19+ messages in thread
From: Szabolcs Nagy @ 2020-05-06 13:22 UTC (permalink / raw)
  To: Kyrylo Tkachov
  Cc: Florian Weimer, Joseph Myers, gcc-patches, Jakub Jelinek, Richard Biener

The 05/06/2020 11:39, Kyrylo Tkachov wrote:
> > -----Original Message-----
> > From: Florian Weimer <fweimer@redhat.com>
> > Sent: 06 May 2020 11:28
> >
> > Is __gnu_linux__ defined with musl?  It's not really GNU/Linux, after
> > all.  musl doesn't have __getauxval IIRC, so it would break the build
> > there.
> 
> I don't think it does (at least not with a git grep for it in the musl code).
> GCC doesn't define it for musl targets either. I see it defined for uclinux for arm, not aarch64 though.

__gnu_linux__ is not defined on musl.

it would be better if there was a mechanism to
introduce namespace clean abi symbols across libc
implementations that a compiler can use, instead
of tying it to the glibc version, but currently
there is no such mechanism and only glibc has this
particular symbol, so the patch looks ok to me.

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

* Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-06 12:00                     ` Richard Biener
@ 2020-05-06 14:45                       ` Joseph Myers
  2020-05-06 15:24                         ` Kyrylo Tkachov
  0 siblings, 1 reply; 19+ messages in thread
From: Joseph Myers @ 2020-05-06 14:45 UTC (permalink / raw)
  To: Richard Biener
  Cc: Kyrylo Tkachov, Florian Weimer, Szabolcs Nagy, gcc-patches,
	Jakub Jelinek

On Wed, 6 May 2020, Richard Biener wrote:

> > Here is the updated patch for the record.
> > Jakub, richi, is this ok for the GCC 10 branch?
> 
> I'll defer to Joseph who is release manager as well.

This version is OK with me.

-- 
Joseph S. Myers
joseph@codesourcery.com

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

* RE: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-06 14:45                       ` Joseph Myers
@ 2020-05-06 15:24                         ` Kyrylo Tkachov
  2020-05-28 14:42                           ` [AArch64][GCC-8][GCC-9] " Andre Vieira (lists)
  0 siblings, 1 reply; 19+ messages in thread
From: Kyrylo Tkachov @ 2020-05-06 15:24 UTC (permalink / raw)
  To: Joseph Myers, Richard Biener
  Cc: Florian Weimer, Szabolcs Nagy, gcc-patches, Jakub Jelinek



> -----Original Message-----
> From: Joseph Myers <joseph@codesourcery.com>
> Sent: 06 May 2020 15:46
> To: Richard Biener <richard.guenther@gmail.com>
> Cc: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>; Florian Weimer
> <fweimer@redhat.com>; Szabolcs Nagy <Szabolcs.Nagy@arm.com>; gcc-
> patches@gcc.gnu.org; Jakub Jelinek <jakub@redhat.com>
> Subject: Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE
> detection code in libgcc
> 
> On Wed, 6 May 2020, Richard Biener wrote:
> 
> > > Here is the updated patch for the record.
> > > Jakub, richi, is this ok for the GCC 10 branch?
> >
> > I'll defer to Joseph who is release manager as well.
> 
> This version is OK with me.

Thank you Joseph,
I've committed this version to trunk and the gcc-10 branch.
Kyrill

> 
> --
> Joseph S. Myers
> joseph@codesourcery.com

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

* [AArch64][GCC-8][GCC-9] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-06 15:24                         ` Kyrylo Tkachov
@ 2020-05-28 14:42                           ` Andre Vieira (lists)
  2020-05-28 14:44                             ` Kyrylo Tkachov
  0 siblings, 1 reply; 19+ messages in thread
From: Andre Vieira (lists) @ 2020-05-28 14:42 UTC (permalink / raw)
  To: gcc-patches

The patch applies cleanly on gcc-9 and gcc-8.
I bootstrapped this on aarch64-none-linux-gnu and tested 
aarch64-none-elf for both.

Is this OK for those backports?

libgcc/ChangeLog:
2020-05-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>

     Backport from mainline.
     2020-05-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

     * config/aarch64/lse-init.c (init_have_lse_atomics): Use __getauxval
     instead of getauxval.
     (AT_HWCAP): Define.
     (HWCAP_ATOMICS): Define.
     Guard detection on __gnu_linux__.

On 06/05/2020 16:24, Kyrylo Tkachov wrote:
>
>> -----Original Message-----
>> From: Joseph Myers <joseph@codesourcery.com>
>> Sent: 06 May 2020 15:46
>> To: Richard Biener <richard.guenther@gmail.com>
>> Cc: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>; Florian Weimer
>> <fweimer@redhat.com>; Szabolcs Nagy <Szabolcs.Nagy@arm.com>; gcc-
>> patches@gcc.gnu.org; Jakub Jelinek <jakub@redhat.com>
>> Subject: Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE
>> detection code in libgcc
>>
>> On Wed, 6 May 2020, Richard Biener wrote:
>>
>>>> Here is the updated patch for the record.
>>>> Jakub, richi, is this ok for the GCC 10 branch?
>>> I'll defer to Joseph who is release manager as well.
>> This version is OK with me.
> Thank you Joseph,
> I've committed this version to trunk and the gcc-10 branch.
> Kyrill
>
>> --
>> Joseph S. Myers
>> joseph@codesourcery.com

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

* RE: [AArch64][GCC-8][GCC-9] Use __getauxval instead of getauxval in LSE detection code in libgcc
  2020-05-28 14:42                           ` [AArch64][GCC-8][GCC-9] " Andre Vieira (lists)
@ 2020-05-28 14:44                             ` Kyrylo Tkachov
  0 siblings, 0 replies; 19+ messages in thread
From: Kyrylo Tkachov @ 2020-05-28 14:44 UTC (permalink / raw)
  To: Andre Simoes Dias Vieira, gcc-patches

Hi Andre,

> -----Original Message-----
> From: Andre Vieira (lists) <andre.simoesdiasvieira@arm.com>
> Sent: 28 May 2020 15:42
> To: gcc-patches@gcc.gnu.org
> Cc: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>
> Subject: [AArch64][GCC-8][GCC-9] Use __getauxval instead of getauxval in
> LSE detection code in libgcc
> 
> The patch applies cleanly on gcc-9 and gcc-8.
> I bootstrapped this on aarch64-none-linux-gnu and tested
> aarch64-none-elf for both.
> 
> Is this OK for those backports?

Yes, thanks for testing this.
Kyrill

> 
> libgcc/ChangeLog:
> 2020-05-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
> 
>      Backport from mainline.
>      2020-05-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
> 
>      * config/aarch64/lse-init.c (init_have_lse_atomics): Use __getauxval
>      instead of getauxval.
>      (AT_HWCAP): Define.
>      (HWCAP_ATOMICS): Define.
>      Guard detection on __gnu_linux__.
> 
> On 06/05/2020 16:24, Kyrylo Tkachov wrote:
> >
> >> -----Original Message-----
> >> From: Joseph Myers <joseph@codesourcery.com>
> >> Sent: 06 May 2020 15:46
> >> To: Richard Biener <richard.guenther@gmail.com>
> >> Cc: Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>; Florian Weimer
> >> <fweimer@redhat.com>; Szabolcs Nagy <Szabolcs.Nagy@arm.com>; gcc-
> >> patches@gcc.gnu.org; Jakub Jelinek <jakub@redhat.com>
> >> Subject: Re: [PATCH][AArch64] Use __getauxval instead of getauxval in LSE
> >> detection code in libgcc
> >>
> >> On Wed, 6 May 2020, Richard Biener wrote:
> >>
> >>>> Here is the updated patch for the record.
> >>>> Jakub, richi, is this ok for the GCC 10 branch?
> >>> I'll defer to Joseph who is release manager as well.
> >> This version is OK with me.
> > Thank you Joseph,
> > I've committed this version to trunk and the gcc-10 branch.
> > Kyrill
> >
> >> --
> >> Joseph S. Myers
> >> joseph@codesourcery.com

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

end of thread, other threads:[~2020-05-28 14:44 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-04 10:27 [PATCH][AArch64] Use __getauxval instead of getauxval in LSE detection code in libgcc Kyrylo Tkachov
2020-05-04 10:39 ` Florian Weimer
2020-05-04 11:34   ` Kyrylo Tkachov
2020-05-04 15:16     ` Szabolcs Nagy
2020-05-04 20:02       ` Joseph Myers
2020-05-05  9:19         ` Szabolcs Nagy
2020-05-05 21:26           ` Joseph Myers
2020-05-05 13:27         ` Kyrylo Tkachov
2020-05-05 21:30           ` Joseph Myers
2020-05-06  9:51             ` Kyrylo Tkachov
2020-05-06 10:27               ` Florian Weimer
2020-05-06 10:39                 ` Kyrylo Tkachov
2020-05-06 11:56                   ` Kyrylo Tkachov
2020-05-06 12:00                     ` Richard Biener
2020-05-06 14:45                       ` Joseph Myers
2020-05-06 15:24                         ` Kyrylo Tkachov
2020-05-28 14:42                           ` [AArch64][GCC-8][GCC-9] " Andre Vieira (lists)
2020-05-28 14:44                             ` Kyrylo Tkachov
2020-05-06 13:22                   ` [PATCH][AArch64] " Szabolcs Nagy

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).