summary refs log tree commit diff
path: root/NEWS
diff options
context:
space:
mode:
authorDragan Mladjenovic <dmladjenovic@wavecomp.com>2020-01-22 17:14:23 +0000
committerSiddhesh Poyarekar <siddhesh@sourceware.org>2020-01-23 19:58:55 +0530
commitba44e5b50873ceea25884af280612e100e151746 (patch)
treeb7244cb12cdfbf473ea9ccf6150030e08db01e22 /NEWS
parentd93769405996dfc11d216ddbe415946617b5a494 (diff)
downloadglibc-ba44e5b50873ceea25884af280612e100e151746.tar.gz
glibc-ba44e5b50873ceea25884af280612e100e151746.tar.xz
glibc-ba44e5b50873ceea25884af280612e100e151746.zip
Add NEWS entry about the change in handling of PT_GNU_STACK on MIPS
The change was introduced in:

commit 33bc9efd91de1b14354291fc8ebd5bce96379f12
Author: Dragan Mladjenovic <dmladjenovic@wavecomp.com>
Date:   Fri Aug 23 16:38:04 2019 +0000

    mips: Force RWX stack for hard-float builds that can run on pre-4.8 kernels

and probably requires a small explanation.

Co-authored-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS12
1 files changed, 12 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 44065d936a..10814ef283 100644
--- a/NEWS
+++ b/NEWS
@@ -112,6 +112,18 @@ Deprecated and removed features, and other changes affecting compatibility:
   captured in a dlerror message.  In general, this is unsafe because
   resetting the stack in an arbitrary function call is not possible.
 
+* For MIPS hard-float ABIs, the GNU C Library will be configured to need an
+  executable stack unless explicitly configured at build time to require
+  minimum kernel version 4.8 or newer.  This is because executing
+  floating-point branches on a non-executable stack on Linux kernels prior to
+  4.8 can lead to application crashes for some MIPS configurations. While
+  currently PT_GNU_STACK is not widely used on MIPS, future releases of GCC are
+  expected to enable non-executable stack by default  with PT_GNU_STACK by
+  default and is thus likely to trigger a crash on older kernels.
+
+  The GNU C Library can be built with --enable-kernel=4.8.0 in order to keep a
+  non-executable stack while dropping support for older kernels.
+
 Changes to build and runtime requirements:
 
 * It is no longer necessary to have recent Linux kernel headers to build