aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDragan Mladjenovic <dragan.mladjenovic@rt-rk.com>2020-01-23 16:37:20 +0100
committerDragan Mladjenovic <dragan.mladjenovic@rt-rk.com>2020-01-23 17:00:03 +0100
commit54b3d52c3cca836c7c4c08cc9c02eda6c096372a (patch)
tree7cf41bb0b77d0f5a76441e0ddae8a95cbfe3c30f /gcc
parenta3c1e1f2ff88628cb163abc5331af752221eddc0 (diff)
downloadgcc-54b3d52c3cca836c7c4c08cc9c02eda6c096372a.zip
gcc-54b3d52c3cca836c7c4c08cc9c02eda6c096372a.tar.gz
gcc-54b3d52c3cca836c7c4c08cc9c02eda6c096372a.tar.bz2
Emit .note.GNU-stack for hard-float linux targets.
libgcc/ChangeLog: 2020-01-23 Dragan Mladjenovic <dmladjenovic@wavecomp.com> * config/mips/gnustack.h: Check for TARGET_LIBC_GNUSTACK also. gcc/ChangeLog: 2020-01-23 Dragan Mladjenovic <dmladjenovic@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 to be 2.31 or greater.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/mips/linux.h4
-rw-r--r--gcc/configure.ac12
3 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b8b9b55..840668d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,14 @@
2020-01-23 Dragan Mladjenovic <dmladjenovic@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 to be 2.31 or greater.
+
+2020-01-23 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
+
* config/mips/linux.h (NEED_INDICATE_EXEC_STACK): Define to
TARGET_SOFT_FLOAT.
* config/mips/mips.c (TARGET_ASM_FILE_END): Define to ...
diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
index 183b62f..54446e5 100644
--- a/gcc/config/mips/linux.h
+++ b/gcc/config/mips/linux.h
@@ -53,4 +53,8 @@ along with GCC; see the file COPYING3. If not see
#undef NEED_INDICATE_EXEC_STACK
+#ifdef TARGET_LIBC_GNUSTACK
+#define NEED_INDICATE_EXEC_STACK 1
+#else
#define NEED_INDICATE_EXEC_STACK TARGET_SOFT_FLOAT
+#endif
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 4a1790b..a7521ee 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -6247,6 +6247,18 @@ if test x$gcc_cv_libc_provides_hwcap_in_tcb = xyes; then
[Define if your target C Library provides the AT_HWCAP value in the TCB])
fi
+# Check if the target LIBC handles PT_GNU_STACK.
+gcc_cv_libc_gnustack=unknown
+case "$target" in
+ mips*-*-linux*)
+ GCC_GLIBC_VERSION_GTE_IFELSE([2], [31], [gcc_cv_libc_gnustack=yes], )
+ ;;
+esac
+if test x$gcc_cv_libc_gnustack = xyes; then
+ AC_DEFINE(TARGET_LIBC_GNUSTACK, 1,
+ [Define if your target C Library properly handles PT_GNU_STACK])
+fi
+
AC_MSG_CHECKING(dl_iterate_phdr in target C library)
gcc_cv_target_dl_iterate_phdr=unknown
case "$target" in