aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorDragan Mladjenovic <dragan.mladjenovic@rt-rk.com>2020-01-23 16:38:14 +0100
committerDragan Mladjenovic <dragan.mladjenovic@rt-rk.com>2020-01-23 17:00:02 +0100
commita3c1e1f2ff88628cb163abc5331af752221eddc0 (patch)
tree4f2525598a928a04ba1c2a6ff88898961ebec2a9 /libgcc
parentc124b345e460780e3c3d4a6e58d0e6e03da982a1 (diff)
downloadgcc-a3c1e1f2ff88628cb163abc5331af752221eddc0.zip
gcc-a3c1e1f2ff88628cb163abc5331af752221eddc0.tar.gz
gcc-a3c1e1f2ff88628cb163abc5331af752221eddc0.tar.bz2
Emit .note.GNU-stack for soft-float linux targets.
gcc/ChangeLog: 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 ... (mips_asm_file_end): New function. Delegate to file_end_indicate_exec_stack if NEED_INDICATE_EXEC_STACK is true. * config/mips/mips.h (NEED_INDICATE_EXEC_STACK): Define to 0. libgcc/ChangeLog: 2020-01-23 Dragan Mladjenovic <dmladjenovic@wavecomp.com> * config/mips/gnustack.h: New file. * config/mips/crti.S: Include gnustack.h. * config/mips/crtn.S: Likewise. * config/mips/mips16.S: Likewise. * config/mips/vr4120-div.S: Likewise.
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog8
-rw-r--r--libgcc/config/mips/crti.S3
-rw-r--r--libgcc/config/mips/crtn.S3
-rw-r--r--libgcc/config/mips/gnustack.h7
-rw-r--r--libgcc/config/mips/mips16.S3
-rw-r--r--libgcc/config/mips/vr4120-div.S3
6 files changed, 27 insertions, 0 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index bd8cc38..eddcd9f 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,11 @@
+2020-01-23 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
+
+ * config/mips/gnustack.h: New file.
+ * config/mips/crti.S: Include gnustack.h.
+ * config/mips/crtn.S: Likewise.
+ * config/mips/mips16.S: Likewise.
+ * config/mips/vr4120-div.S: Likewise.
+
2020-01-23 Martin Liska <mliska@suse.cz>
* libgcov-driver.c (prune_topn_counter): Remove
diff --git a/libgcc/config/mips/crti.S b/libgcc/config/mips/crti.S
index 3347a78..6705642 100644
--- a/libgcc/config/mips/crti.S
+++ b/libgcc/config/mips/crti.S
@@ -21,6 +21,9 @@ a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+/* An executable stack is *not* required for these functions. */
+#include "gnustack.h"
+
/* 4 slots for argument spill area. 1 for cpreturn, 1 for stack.
Return spill offset of 40 and 20. Aligned to 16 bytes for n32. */
diff --git a/libgcc/config/mips/crtn.S b/libgcc/config/mips/crtn.S
index 7f46829..ceede64 100644
--- a/libgcc/config/mips/crtn.S
+++ b/libgcc/config/mips/crtn.S
@@ -21,6 +21,9 @@ a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+/* An executable stack is *not* required for these functions. */
+#include "gnustack.h"
+
/* 4 slots for argument spill area. 1 for cpreturn, 1 for stack.
Return spill offset of 40 and 20. Aligned to 16 bytes for n32. */
diff --git a/libgcc/config/mips/gnustack.h b/libgcc/config/mips/gnustack.h
new file mode 100644
index 0000000..c7e9fe7
--- /dev/null
+++ b/libgcc/config/mips/gnustack.h
@@ -0,0 +1,7 @@
+#include "config.h"
+#if defined(__ELF__) && defined(__linux__)
+#if defined (__mips_soft_float)
+ .section .note.GNU-stack,"",%progbits
+ .previous
+#endif
+#endif
diff --git a/libgcc/config/mips/mips16.S b/libgcc/config/mips/mips16.S
index 396285e..5c3678b 100644
--- a/libgcc/config/mips/mips16.S
+++ b/libgcc/config/mips/mips16.S
@@ -21,6 +21,9 @@ a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+/* An executable stack is *not* required for these functions. */
+#include "gnustack.h"
+
#include "auto-host.h"
#if defined(__mips_micromips) || defined(__mips_soft_float) \
diff --git a/libgcc/config/mips/vr4120-div.S b/libgcc/config/mips/vr4120-div.S
index 92226b5..2999c77 100644
--- a/libgcc/config/mips/vr4120-div.S
+++ b/libgcc/config/mips/vr4120-div.S
@@ -22,6 +22,9 @@ a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
+/* An executable stack is *not* required for these functions. */
+#include "gnustack.h"
+
/* This file contains functions which implement divsi3 and modsi3 for
-mfix-vr4120. div and ddiv do not give the correct result when one
of the operands is negative. */