about summary refs log tree commit diff
path: root/COPYING
diff options
context:
space:
mode:
authorDragan Mladjenovic <dmladjenovic@wavecomp.com>2019-08-23 16:38:04 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-11-05 14:36:40 -0300
commitfe7c01cb14bd78943eb6c6a483f59299b7aebdc0 (patch)
tree8a61b562ae9744cea5c7912fbba9f95e162025de /COPYING
parent59991bf48a821a9b8d504b325e84d2099fa1a14e (diff)
downloadglibc-fe7c01cb14bd78943eb6c6a483f59299b7aebdc0.tar.gz
glibc-fe7c01cb14bd78943eb6c6a483f59299b7aebdc0.tar.xz
glibc-fe7c01cb14bd78943eb6c6a483f59299b7aebdc0.zip
mips: Force RWX stack for hard-float builds that can run on pre-4.8 kernels
Linux/Mips kernels prior to 4.8 could potentially crash the user
process when doing FPU emulation while running on non-executable
user stack.

Currently, gcc doesn't emit .note.GNU-stack for mips, but that will
change in the future. To ensure that glibc can be used with such
future gcc, without silently resulting in binaries that might crash
in runtime, this patch forces RWX stack for all built objects if
configured to run against minimum kernel version less than 4.8.

	* sysdeps/unix/sysv/linux/mips/Makefile
	(test-xfail-check-execstack):
	Move under mips-has-gnustack != yes.
	(CFLAGS-.o*, ASFLAGS-.o*): New rules.
	Apply -Wa,-execstack if mips-force-execstack == yes.
	* sysdeps/unix/sysv/linux/mips/configure: Regenerated.
	* sysdeps/unix/sysv/linux/mips/configure.ac
	(mips-force-execstack): New var.
	Set to yes for hard-float builds with minimum_kernel < 4.8.0
	or minimum_kernel not set at all.
	(mips-has-gnustack): New var.
	Use value of libc_cv_as_noexecstack
	if mips-force-execstack != yes, otherwise set to no.

(cherry picked from commit 33bc9efd91de1b14354291fc8ebd5bce96379f12)
Diffstat (limited to 'COPYING')
0 files changed, 0 insertions, 0 deletions