Message ID | 20201108225251.3195591-1-samuel.thibault@ens-lyon.org |
---|---|
State | New |
Headers | show |
Series | Hurd: Enable ifunc by default | expand |
Ping? I was able to pass glibc's complete ifunc tests with no problem. Samuel Samuel Thibault, le dim. 08 nov. 2020 23:52:51 +0100, a ecrit: > The binutils bugs seem to have been fixed. > > 2020-11-08 Samuel Thibault <samuel.thibault@ens-lyon.org> > > gcc/ > * config.gcc: Enable default_gnu_indirect_function in *-*-gnu* > target (but not *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu). > --- > gcc/config.gcc | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/gcc/config.gcc b/gcc/config.gcc > index b42ebc4e5be..a347c2cec7c 100644 > --- a/gcc/config.gcc > +++ b/gcc/config.gcc > @@ -3538,7 +3538,9 @@ esac > case ${target} in > *-*-linux*android*|*-*-linux*uclibc*|*-*-linux*musl*) > ;; > -*-*-linux*) > +*-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu) > + ;; > +*-*-linux* | *-*-gnu*) > case ${target} in > aarch64*-* | arm*-* | i[34567]86-* | powerpc*-* | s390*-* | sparc*-* | x86_64-*) > default_gnu_indirect_function=yes > -- > 2.20.1 >
Ping? Samuel Thibault, le dim. 08 nov. 2020 23:52:51 +0100, a ecrit: > The binutils bugs seem to have been fixed. > > 2020-11-08 Samuel Thibault <samuel.thibault@ens-lyon.org> > > gcc/ > * config.gcc: Enable default_gnu_indirect_function in *-*-gnu* > target (but not *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu). > --- > gcc/config.gcc | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/gcc/config.gcc b/gcc/config.gcc > index b42ebc4e5be..a347c2cec7c 100644 > --- a/gcc/config.gcc > +++ b/gcc/config.gcc > @@ -3538,7 +3538,9 @@ esac > case ${target} in > *-*-linux*android*|*-*-linux*uclibc*|*-*-linux*musl*) > ;; > -*-*-linux*) > +*-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu) > + ;; > +*-*-linux* | *-*-gnu*) > case ${target} in > aarch64*-* | arm*-* | i[34567]86-* | powerpc*-* | s390*-* | sparc*-* | x86_64-*) > default_gnu_indirect_function=yes > -- > 2.20.1
Ping? Samuel Thibault, le dim. 08 nov. 2020 23:52:51 +0100, a ecrit: > The binutils bugs seem to have been fixed. > > 2020-11-08 Samuel Thibault <samuel.thibault@ens-lyon.org> > > gcc/ > * config.gcc: Enable default_gnu_indirect_function in *-*-gnu* > target (but not *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu). > --- > gcc/config.gcc | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/gcc/config.gcc b/gcc/config.gcc > index b42ebc4e5be..a347c2cec7c 100644 > --- a/gcc/config.gcc > +++ b/gcc/config.gcc > @@ -3538,7 +3538,9 @@ esac > case ${target} in > *-*-linux*android*|*-*-linux*uclibc*|*-*-linux*musl*) > ;; > -*-*-linux*) > +*-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu) > + ;; > +*-*-linux* | *-*-gnu*) > case ${target} in > aarch64*-* | arm*-* | i[34567]86-* | powerpc*-* | s390*-* | sparc*-* | x86_64-*) > default_gnu_indirect_function=yes > -- > 2.20.1 >
What do you need exactly? How can we test It? El lun, 21 dic 2020 a las 0:11, Samuel Thibault (<samuel.thibault@gnu.org>) escribió: > Ping? > > Samuel Thibault, le dim. 08 nov. 2020 23:52:51 +0100, a ecrit: > > The binutils bugs seem to have been fixed. > > > > 2020-11-08 Samuel Thibault <samuel.thibault@ens-lyon.org> > > > > gcc/ > > * config.gcc: Enable default_gnu_indirect_function in *-*-gnu* > > target (but not *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu). > > --- > > gcc/config.gcc | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/gcc/config.gcc b/gcc/config.gcc > > index b42ebc4e5be..a347c2cec7c 100644 > > --- a/gcc/config.gcc > > +++ b/gcc/config.gcc > > @@ -3538,7 +3538,9 @@ esac > > case ${target} in > > *-*-linux*android*|*-*-linux*uclibc*|*-*-linux*musl*) > > ;; > > -*-*-linux*) > > +*-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu) > > + ;; > > +*-*-linux* | *-*-gnu*) > > case ${target} in > > aarch64*-* | arm*-* | i[34567]86-* | powerpc*-* | s390*-* | > sparc*-* | x86_64-*) > > default_gnu_indirect_function=yes > > -- > > 2.20.1 > > > >
Almudena Garcia, le lun. 21 déc. 2020 01:05:29 +0100, a ecrit: > What do you need exactly? I need gcc people to apply it. > How can we test It? The answer would be lengthy. Basically recompile gcc with it, write or find a program that uses it, and check that it works. But I have already done that simply by letting glibc use ifunc, and it does work, so there is nothing more to be done on the Hurd developers' side. Samuel
Ping? Samuel Thibault, le dim. 08 nov. 2020 23:52:51 +0100, a ecrit: > The binutils bugs seem to have been fixed. > > 2020-11-08 Samuel Thibault <samuel.thibault@ens-lyon.org> > > gcc/ > * config.gcc: Enable default_gnu_indirect_function in *-*-gnu* > target (but not *-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu). > --- > gcc/config.gcc | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/gcc/config.gcc b/gcc/config.gcc > index b42ebc4e5be..a347c2cec7c 100644 > --- a/gcc/config.gcc > +++ b/gcc/config.gcc > @@ -3538,7 +3538,9 @@ esac > case ${target} in > *-*-linux*android*|*-*-linux*uclibc*|*-*-linux*musl*) > ;; > -*-*-linux*) > +*-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu) > + ;; > +*-*-linux* | *-*-gnu*) > case ${target} in > aarch64*-* | arm*-* | i[34567]86-* | powerpc*-* | s390*-* | sparc*-* | x86_64-*) > default_gnu_indirect_function=yes > -- > 2.20.1 >
Hi! Thanks (and sorry for the delay), pushed "Hurd: Enable ifunc by default" to master branch in commit e9cb89b936f831a02318d45fc4ddb06f7be55ae4, and cherry-picked into releases/gcc-10 branch in commit 92b131491c22eb4e4b663d226e9d97f1fd693063, releases/gcc-9 branch in commit 0313ce139f4ca3c96db9dc82125ec9e4a167a224, releases/gcc-8 branch in commit 975b0fa0f43e84bed3cb1b2b593132bc219f962c, see attached. Grüße Thomas ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter
On Wed, 13 Jan 2021, Thomas Schwinge wrote: > Hi! > > Thanks (and sorry for the delay), pushed "Hurd: Enable ifunc by default" > to master branch in commit e9cb89b936f831a02318d45fc4ddb06f7be55ae4, and > cherry-picked into releases/gcc-10 branch in commit > 92b131491c22eb4e4b663d226e9d97f1fd693063, releases/gcc-9 branch in commit > 0313ce139f4ca3c96db9dc82125ec9e4a167a224, releases/gcc-8 branch in commit > 975b0fa0f43e84bed3cb1b2b593132bc219f962c, see attached. I'm not sure what toolchain component the underlying bug is in, but this GCC commit (verified in the releases/gcc-10 case) results in a glibc build failure for i686-gnu with build-many-glibcs.py. https://sourceware.org/pipermail/libc-testresults/2021q1/007378.html The error is: /scratch/jmyers/glibc-bot/install/compilers/i686-gnu/lib/gcc/i686-glibc-gnu/11.0.0/../../../../i686-glibc-gnu/bin/ld: /scratch/jmyers/glibc-bot/build/compilers/i686-gnu/glibc/i686-gnu/elf/librtld.os: in function `hurd_file_name_lookup_retry': (.text+0x1e08e): undefined reference to `strncpy' collect2: error: ld returned 1 exit status Makefile:584: recipe for target '/scratch/jmyers/glibc-bot/build/compilers/i686-gnu/glibc/i686-gnu/elf/ld.so' failed make[3]: *** [/scratch/jmyers/glibc-bot/build/compilers/i686-gnu/glibc/i686-gnu/elf/ld.so] Error 1
Hello, Joseph Myers, le lun. 18 janv. 2021 20:05:44 +0000, a ecrit: > On Wed, 13 Jan 2021, Thomas Schwinge wrote: > > Thanks (and sorry for the delay), pushed "Hurd: Enable ifunc by default" > > to master branch in commit e9cb89b936f831a02318d45fc4ddb06f7be55ae4, and > > cherry-picked into releases/gcc-10 branch in commit > > 92b131491c22eb4e4b663d226e9d97f1fd693063, releases/gcc-9 branch in commit > > 0313ce139f4ca3c96db9dc82125ec9e4a167a224, releases/gcc-8 branch in commit > > 975b0fa0f43e84bed3cb1b2b593132bc219f962c, see attached. > > I'm not sure what toolchain component the underlying bug is in, but this > GCC commit (verified in the releases/gcc-10 case) results in a glibc build > failure for i686-gnu with build-many-glibcs.py. > > https://sourceware.org/pipermail/libc-testresults/2021q1/007378.html > > The error is: > > /scratch/jmyers/glibc-bot/install/compilers/i686-gnu/lib/gcc/i686-glibc-gnu/11.0.0/../../../../i686-glibc-gnu/bin/ld: /scratch/jmyers/glibc-bot/build/compilers/i686-gnu/glibc/i686-gnu/elf/librtld.os: in function `hurd_file_name_lookup_retry': > (.text+0x1e08e): undefined reference to `strncpy' Ah, I believe I had tested that (which is precisely why I asked for that commit to be done in gcc), but I'll have a look, thanks. Samuel
diff --git a/gcc/config.gcc b/gcc/config.gcc index b42ebc4e5be..a347c2cec7c 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -3538,7 +3538,9 @@ esac case ${target} in *-*-linux*android*|*-*-linux*uclibc*|*-*-linux*musl*) ;; -*-*-linux*) +*-*-kfreebsd*-gnu | *-*-kopensolaris*-gnu) + ;; +*-*-linux* | *-*-gnu*) case ${target} in aarch64*-* | arm*-* | i[34567]86-* | powerpc*-* | s390*-* | sparc*-* | x86_64-*) default_gnu_indirect_function=yes