* [musl] Re: [PATCH v2] configure: define TARGET_LIBC_GNUSTACK on musl [not found] ` <20211116051323.4900-1-ilya.lipnitskiy@gmail.com> @ 2021-11-16 14:40 ` Dragan Mladjenovic 2021-11-16 16:25 ` Rich Felker 0 siblings, 1 reply; 3+ messages in thread From: Dragan Mladjenovic @ 2021-11-16 14:40 UTC (permalink / raw) To: Ilya Lipnitskiy, gcc-patches, Jeff Law, musl Hi, Looks fine to me. If possible, maybe it should even be back-ported to stable branches. Not sure if MIPS assembly sources (if any) in musl would need explicit .note.GNU-stack to complement this? Best regards, Dragan On 16-Nov-21 06:13, Ilya Lipnitskiy wrote: > musl only uses PT_GNU_STACK to set default thread stack size and has no > executable stack support[0], so there is no reason not to emit the > .note.GNU-stack section on musl builds. > > [0]: https://lore.kernel.org/all/20190423192534.GN23599@brightrain.aerifal.cx/T/#u > > gcc/ChangeLog: > > * configure: Regenerate. > * configure.ac: define TARGET_LIBC_GNUSTACK on musl > > Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> > --- > gcc/configure | 3 +++ > gcc/configure.ac | 3 +++ > 2 files changed, 6 insertions(+) > > diff --git a/gcc/configure b/gcc/configure > index 74b9d9be4c85..7091a838aefa 100755 > --- a/gcc/configure > +++ b/gcc/configure > @@ -31275,6 +31275,9 @@ fi > # Check if the target LIBC handles PT_GNU_STACK. > gcc_cv_libc_gnustack=unknown > case "$target" in > + mips*-*-linux-musl*) > + gcc_cv_libc_gnustack=yes > + ;; > mips*-*-linux*) > > if test $glibc_version_major -gt 2 \ > diff --git a/gcc/configure.ac b/gcc/configure.ac > index c9ee1fb8919e..8a2d34179a75 100644 > --- a/gcc/configure.ac > +++ b/gcc/configure.ac > @@ -6961,6 +6961,9 @@ fi > # Check if the target LIBC handles PT_GNU_STACK. > gcc_cv_libc_gnustack=unknown > case "$target" in > + mips*-*-linux-musl*) > + gcc_cv_libc_gnustack=yes > + ;; > mips*-*-linux*) > GCC_GLIBC_VERSION_GTE_IFELSE([2], [31], [gcc_cv_libc_gnustack=yes], ) > ;; ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [musl] Re: [PATCH v2] configure: define TARGET_LIBC_GNUSTACK on musl 2021-11-16 14:40 ` [musl] Re: [PATCH v2] configure: define TARGET_LIBC_GNUSTACK on musl Dragan Mladjenovic @ 2021-11-16 16:25 ` Rich Felker 2021-11-16 17:49 ` Ilya Lipnitskiy 0 siblings, 1 reply; 3+ messages in thread From: Rich Felker @ 2021-11-16 16:25 UTC (permalink / raw) To: Dragan Mladjenovic; +Cc: Ilya Lipnitskiy, gcc-patches, Jeff Law, musl On Tue, Nov 16, 2021 at 03:40:00PM +0100, Dragan Mladjenovic wrote: > Hi, > > Looks fine to me. If possible, maybe it should even be back-ported > to stable branches. > > Not sure if MIPS assembly sources (if any) in musl would need > explicit ..note.GNU-stack > > to complement this? What are the actual consequences of making this change, and what is the goal? I'm concerned that it might produce object files which don't include annotation that they don't need executable stack, in which case the final executable file will be marked as executable-stack and the kernel will load it as such. That would be very bad. Rich > On 16-Nov-21 06:13, Ilya Lipnitskiy wrote: > >musl only uses PT_GNU_STACK to set default thread stack size and has no > >executable stack support[0], so there is no reason not to emit the > >.note.GNU-stack section on musl builds. > > > >[0]: https://lore.kernel.org/all/20190423192534.GN23599@brightrain.aerifal.cx/T/#u > > > >gcc/ChangeLog: > > > > * configure: Regenerate. > > * configure.ac: define TARGET_LIBC_GNUSTACK on musl > > > >Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> > >--- > > gcc/configure | 3 +++ > > gcc/configure.ac | 3 +++ > > 2 files changed, 6 insertions(+) > > > >diff --git a/gcc/configure b/gcc/configure > >index 74b9d9be4c85..7091a838aefa 100755 > >--- a/gcc/configure > >+++ b/gcc/configure > >@@ -31275,6 +31275,9 @@ fi > > # Check if the target LIBC handles PT_GNU_STACK. > > gcc_cv_libc_gnustack=unknown > > case "$target" in > >+ mips*-*-linux-musl*) > >+ gcc_cv_libc_gnustack=yes > >+ ;; > > mips*-*-linux*) > > if test $glibc_version_major -gt 2 \ > >diff --git a/gcc/configure.ac b/gcc/configure.ac > >index c9ee1fb8919e..8a2d34179a75 100644 > >--- a/gcc/configure.ac > >+++ b/gcc/configure.ac > >@@ -6961,6 +6961,9 @@ fi > > # Check if the target LIBC handles PT_GNU_STACK. > > gcc_cv_libc_gnustack=unknown > > case "$target" in > >+ mips*-*-linux-musl*) > >+ gcc_cv_libc_gnustack=yes > >+ ;; > > mips*-*-linux*) > > GCC_GLIBC_VERSION_GTE_IFELSE([2], [31], [gcc_cv_libc_gnustack=yes], ) > > ;; ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [musl] Re: [PATCH v2] configure: define TARGET_LIBC_GNUSTACK on musl 2021-11-16 16:25 ` Rich Felker @ 2021-11-16 17:49 ` Ilya Lipnitskiy 0 siblings, 0 replies; 3+ messages in thread From: Ilya Lipnitskiy @ 2021-11-16 17:49 UTC (permalink / raw) To: Rich Felker; +Cc: Dragan Mladjenovic, gcc-patches, Jeff Law, musl On Tue, Nov 16, 2021 at 8:41 AM Rich Felker <dalias@libc.org> wrote: > > On Tue, Nov 16, 2021 at 03:40:00PM +0100, Dragan Mladjenovic wrote: > > Hi, > > > > Looks fine to me. If possible, maybe it should even be back-ported > > to stable branches. The change cherry-picks fine onto 10.x and 11.x branches. Should I send out separate patches or can the committer of this patch apply it to 10.x and 11.x? > > > > Not sure if MIPS assembly sources (if any) in musl would need > > explicit ..note.GNU-stack > > > > to complement this? > > What are the actual consequences of making this change, and what is > the goal? I'm concerned that it might produce object files which don't > include annotation that they don't need executable stack, in which > case the final executable file will be marked as executable-stack and > the kernel will load it as such. That would be very bad. It is actually the other way around - for MIPS hard-float targets on non-glibc (or glibc < 2.31) without this change the .note.GNU-stack annotation is not emitted by GCC. Ilya > > Rich > > > > On 16-Nov-21 06:13, Ilya Lipnitskiy wrote: > > >musl only uses PT_GNU_STACK to set default thread stack size and has no > > >executable stack support[0], so there is no reason not to emit the > > >.note.GNU-stack section on musl builds. > > > > > >[0]: https://lore.kernel.org/all/20190423192534.GN23599@brightrain.aerifal.cx/T/#u > > > > > >gcc/ChangeLog: > > > > > > * configure: Regenerate. > > > * configure.ac: define TARGET_LIBC_GNUSTACK on musl > > > > > >Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com> > > >--- > > > gcc/configure | 3 +++ > > > gcc/configure.ac | 3 +++ > > > 2 files changed, 6 insertions(+) > > > > > >diff --git a/gcc/configure b/gcc/configure > > >index 74b9d9be4c85..7091a838aefa 100755 > > >--- a/gcc/configure > > >+++ b/gcc/configure > > >@@ -31275,6 +31275,9 @@ fi > > > # Check if the target LIBC handles PT_GNU_STACK. > > > gcc_cv_libc_gnustack=unknown > > > case "$target" in > > >+ mips*-*-linux-musl*) > > >+ gcc_cv_libc_gnustack=yes > > >+ ;; > > > mips*-*-linux*) > > > if test $glibc_version_major -gt 2 \ > > >diff --git a/gcc/configure.ac b/gcc/configure.ac > > >index c9ee1fb8919e..8a2d34179a75 100644 > > >--- a/gcc/configure.ac > > >+++ b/gcc/configure.ac > > >@@ -6961,6 +6961,9 @@ fi > > > # Check if the target LIBC handles PT_GNU_STACK. > > > gcc_cv_libc_gnustack=unknown > > > case "$target" in > > >+ mips*-*-linux-musl*) > > >+ gcc_cv_libc_gnustack=yes > > >+ ;; > > > mips*-*-linux*) > > > GCC_GLIBC_VERSION_GTE_IFELSE([2], [31], [gcc_cv_libc_gnustack=yes], ) > > > ;; ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-11-16 21:19 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <CALCv0x31=aZLuAE5e-_UR8pQZge9Tz5mwSxJJJ1JdQe6mxk5uA@mail.gmail.com> [not found] ` <20211116051323.4900-1-ilya.lipnitskiy@gmail.com> 2021-11-16 14:40 ` [musl] Re: [PATCH v2] configure: define TARGET_LIBC_GNUSTACK on musl Dragan Mladjenovic 2021-11-16 16:25 ` Rich Felker 2021-11-16 17:49 ` Ilya Lipnitskiy
Code repositories for project(s) associated with this public inbox https://git.vuxu.org/mirror/musl/ 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 NNTP newsgroup(s).