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.
This commit is contained in:
Dragan Mladjenovic 2020-01-23 16:37:20 +01:00
parent a3c1e1f2ff
commit 54b3d52c3c
5 changed files with 30 additions and 1 deletions

View File

@ -1,3 +1,12 @@
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

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,7 @@
2020-01-23 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
* config/mips/gnustack.h: Check for TARGET_LIBC_GNUSTACK also.
2020-01-23 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
* config/mips/gnustack.h: New file.

View File

@ -1,6 +1,6 @@
#include "config.h"
#if defined(__ELF__) && defined(__linux__)
#if defined (__mips_soft_float)
#if defined (TARGET_LIBC_GNUSTACK) || defined (__mips_soft_float)
.section .note.GNU-stack,"",%progbits
.previous
#endif