Message ID | 20230831144224.3566637-1-dilfridge@gentoo.org |
---|---|
State | New |
Headers | show |
Series | [resend] Fix miscompilation and thus build on ia64's gcc-10 and later | expand |
On 8/31/23 10:40, Andreas K. Hüttel via Libc-alpha wrote: > From: Sergei Trofimovich <slyich@gmail.com> > > Needed since gcc-10 enabled -fno-common by default. > > [In use in Gentoo since gcc-10, no problems observed. > Also discussed with and reviewed by Jessica Clarke from > Debian. Andreas] > > Bug: https://bugs.gentoo.org/723268 > Signed-off-by: Sergei Trofimovich <slyich@gmail.com> > Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org> If this fixes the issue downstream we should push it upstream. Reviewed-by: Carlos O'Donell <carlos@redhat.com> > --- > Re-sending this after discussion at the review meeting > and after checking back with Debian (see above). -Andreas > --- > sysdeps/unix/sysv/linux/ia64/dl-sysdep.h | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h b/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h > index 3e4d5da820..eb7681b704 100644 > --- a/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h > +++ b/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h > @@ -32,7 +32,9 @@ > #ifndef __ASSEMBLER__ > /* Don't declare this as a function---we want it's entry-point, not > it's function descriptor... */ > -extern int _dl_sysinfo_break attribute_hidden; > +/* Use section ".text" to force far GPREL64 relocation instead of > + GPREL22 . */ s/GPREL22 ./GPREL22. *//g > +extern int _dl_sysinfo_break attribute_hidden __attribute__((section(".text"))); > # define DL_SYSINFO_DEFAULT ((uintptr_t) &_dl_sysinfo_break) > # define DL_SYSINFO_IMPLEMENTATION \ > asm (".text\n\t" \
diff --git a/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h b/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h index 3e4d5da820..eb7681b704 100644 --- a/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h +++ b/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h @@ -32,7 +32,9 @@ #ifndef __ASSEMBLER__ /* Don't declare this as a function---we want it's entry-point, not it's function descriptor... */ -extern int _dl_sysinfo_break attribute_hidden; +/* Use section ".text" to force far GPREL64 relocation instead of + GPREL22 . */ +extern int _dl_sysinfo_break attribute_hidden __attribute__((section(".text"))); # define DL_SYSINFO_DEFAULT ((uintptr_t) &_dl_sysinfo_break) # define DL_SYSINFO_IMPLEMENTATION \ asm (".text\n\t" \