On 10.08.2019. 00:15, Joseph Myers wrote: > On Fri, 9 Aug 2019, Jeff Law wrote: > >>> 2019-08-05 Dragan Mladjenovic <dmladjeno...@wavecomp.com> >>> >>> * config.in: Regenerated. >>> * config/mips/linux.h (NEED_INDICATE_EXEC_STACK): Define to 1 >>> for TARGET_LIBC_GNUSTACK. >>> * configure: Regenerated. >>> * configure.ac: Define TARGET_LIBC_GNUSTACK if glibc version is >>> found 2.31 or greater. >> My only concern here is the configure bits. So for example, will it do >> the right thing if you're cross-compiling to a MIPS linux target? If >> so, how? If not, do we need to make it a first class configure option >> so that it can be specified when building cross MIPS linux toolchains? > > The key point of using GCC_GLIBC_VERSION_GTE_IFELSE is that (a) it checks > the target glibc headers if available when GCC is built and (b) if not > available, you can still use --with-glibc-version when configuring GCC, to > get the right configuration in a bootstrap compiler built before glibc is > built (the latter is necessary on some architectures to get the right > stack-protector configuration for bootstrapping glibc, but may be useful > in other cases as well). > > My main concern about this patch is the one I gave in > <https://sourceware.org/ml/libc-alpha/2019-08/msg00086.html> about what > the configuration mechanism should be, on a whole-toolchain level, to say > whether you are OK with a requirement for a 4.8 or later kernel. >
Sorry for the late reply. I was waiting to backport [1] to most of the glibc release branches in use, but I got sidetracked along the way. After this patch lands the preferred way to configure gcc would be using --with-glibc-version=2.31 and to use said glibc. If the user/distribution can live with minimal kernel requirement of 4.8 the glibc used should be configured with --enable-kernel=4.8. I also plan to backport the [1] to limit the opportunity for building the possibly broken glibc with the gcc w/ enabled .note.GNU-stack. This is all tedious and user has to be aware of all of it to make it work, but hopefully over time the distributions will default to --with-glibc-version=2.31 and --enable-kernel=4.8. I guess providing the detailed NEWS entry for this change would help a bit. Is there any objections to getting this on the trunk before the end of stage1? [1] https://sourceware.org/ml/libc-alpha/2019-08/msg00639.html Best regards, Dragan