aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/patches/11.2.0/930-fix-mips-noexecstack.patch
diff options
context:
space:
mode:
authorRui Salvaterra <rsalvaterra@gmail.com>2021-07-28 12:33:09 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2021-08-08 19:50:46 +0200
commit0af0ec1b7df8740c7a4b9264f032cfd6dd87d144 (patch)
tree934981eede5170a07938722d67175cd014e945c4 /toolchain/gcc/patches/11.2.0/930-fix-mips-noexecstack.patch
parent6c659fb80c6bb101d51b66e9631e8ec8116ecc9c (diff)
downloadupstream-0af0ec1b7df8740c7a4b9264f032cfd6dd87d144.tar.gz
upstream-0af0ec1b7df8740c7a4b9264f032cfd6dd87d144.tar.bz2
upstream-0af0ec1b7df8740c7a4b9264f032cfd6dd87d144.zip
toolchain/gcc: bump gcc 11 to 11.2
Patches automatically refreshed. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Diffstat (limited to 'toolchain/gcc/patches/11.2.0/930-fix-mips-noexecstack.patch')
-rw-r--r--toolchain/gcc/patches/11.2.0/930-fix-mips-noexecstack.patch111
1 files changed, 111 insertions, 0 deletions
diff --git a/toolchain/gcc/patches/11.2.0/930-fix-mips-noexecstack.patch b/toolchain/gcc/patches/11.2.0/930-fix-mips-noexecstack.patch
new file mode 100644
index 0000000000..591dfe5a50
--- /dev/null
+++ b/toolchain/gcc/patches/11.2.0/930-fix-mips-noexecstack.patch
@@ -0,0 +1,111 @@
+From da45b3fde60095756f5f6030f6012c23a3d34429 Mon Sep 17 00:00:00 2001
+From: Andrew McDonnell <bugs@andrewmcdonnell.net>
+Date: Fri, 3 Oct 2014 19:09:00 +0930
+Subject: Add .note.GNU-stack section
+
+See http://lists.busybox.net/pipermail/uclibc/2014-October/048671.html
+Below copied from https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02430.html
+
+Re: [Patch, MIPS] Add .note.GNU-stack section
+
+ From: Steve Ellcey <sellcey at mips dot com>
+
+On Wed, 2014-09-10 at 10:15 -0700, Eric Christopher wrote:
+>
+>
+> On Wed, Sep 10, 2014 at 9:27 AM, <pinskia@gmail.com> wrote:
+
+> This works except you did not update the assembly files in
+> libgcc or glibc. We (Cavium) have the same patch in our tree
+> for a few released versions.
+
+> Mind just checking yours in then Andrew?
+
+> Thanks!
+> -eric
+
+I talked to Andrew about what files he changed in GCC and created and
+tested this new patch. Andrew also mentioned changing some assembly
+files in glibc but I don't see any use of '.section .note.GNU-stack' in
+any assembly files in glibc (for any platform) so I wasn't planning on
+creating a glibc to add them to mips glibc assembly language files.
+
+OK to check in this patch?
+
+Steve Ellcey
+sellcey@mips.com
+
+
+
+2014-09-26 Steve Ellcey <sellcey@mips.com>
+---
+ gcc/config/mips/mips.c | 3 +++
+ libgcc/config/mips/crti.S | 4 ++++
+ libgcc/config/mips/crtn.S | 3 +++
+ libgcc/config/mips/mips16.S | 4 ++++
+ libgcc/config/mips/vr4120-div.S | 4 ++++
+ 5 files changed, 18 insertions(+)
+
+--- a/gcc/config/mips/mips.c
++++ b/gcc/config/mips/mips.c
+@@ -22890,6 +22890,9 @@ mips_asm_file_end (void)
+ #define TARGET_ASM_FILE_END mips_asm_file_end
+
+
++#undef TARGET_ASM_FILE_END
++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
++
+ struct gcc_target targetm = TARGET_INITIALIZER;
+
+ #include "gt-mips.h"
+--- a/libgcc/config/mips/crti.S
++++ b/libgcc/config/mips/crti.S
+@@ -24,6 +24,10 @@ see the files COPYING3 and COPYING.RUNTI
+ /* An executable stack is *not* required for these functions. */
+ #include "gnustack.h"
+
++
++/* An executable stack is *not* required for these functions. */
++ .section .note.GNU-stack,"",%progbits
++
+ /* 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. */
+
+--- a/libgcc/config/mips/crtn.S
++++ b/libgcc/config/mips/crtn.S
+@@ -24,6 +24,9 @@ see the files COPYING3 and COPYING.RUNTI
+ /* An executable stack is *not* required for these functions. */
+ #include "gnustack.h"
+
++/* An executable stack is *not* required for these functions. */
++ .section .note.GNU-stack,"",%progbits
++
+ /* 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. */
+
+--- a/libgcc/config/mips/mips16.S
++++ b/libgcc/config/mips/mips16.S
+@@ -51,6 +51,10 @@ see the files COPYING3 and COPYING.RUNTI
+ values using the soft-float calling convention, but do the actual
+ operation using the hard floating point instructions. */
+
++/* An executable stack is *not* required for these functions. */
++ .section .note.GNU-stack,"",%progbits
++ .previous
++
+ #if defined _MIPS_SIM && (_MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIO64)
+
+ /* This file contains 32-bit assembly code. */
+--- a/libgcc/config/mips/vr4120-div.S
++++ b/libgcc/config/mips/vr4120-div.S
+@@ -29,6 +29,10 @@ see the files COPYING3 and COPYING.RUNTI
+ -mfix-vr4120. div and ddiv do not give the correct result when one
+ of the operands is negative. */
+
++/* An executable stack is *not* required for these functions. */
++ .section .note.GNU-stack,"",%progbits
++ .previous
++
+ .set nomips16
+
+ #define DIV \