|
|
- 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
- @@ -22881,6 +22881,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 \
|