patches/gcc/4.3.3/210-noteGNUstack-00.patch
author Cody Schafer <dev@codyps.com>
Fri May 09 19:13:49 2014 -0700 (2014-05-09)
changeset 3312 4876ff97e039
permissions -rw-r--r--
cc/gcc: allow CC_EXTRA_CONFIG_ARRAY on baremetal

The final bare-metal compiler is built using the core backend.
Currently the core uses the CC_CORE_EXTRA_CONFIG_ARRAY variable.

While this works as supposed to, this can leave the user puzzled
in the menuconfig, since all he can see is the core options, not
the final options.

Only show the core options if any of the core passes are needed,
and use the final options in the core-backend if we're issuing
the bare-metal compiler.

Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: hide core options if no core pass needed;
use final option in core backend if issuing the bare-metal compiler]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <22181e546ba746202489.1399688067@localhost>
Patchwork-Id: 347586
     1 Original patch from: ../4.3.2/210-noteGNUstack-00.patch
     2 
     3 -= BEGIN original header =-
     4 Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/61_all_gcc4-ia64-noteGNUstack.patch
     5 2004-09-20  Jakub Jelinek  <jakub@redhat.com>
     6 
     7 	* config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
     8 	on ppc64-linux.
     9 
    10 	* config/ia64/lib1funcs.asm: Add .note.GNU-stack section on
    11 	ia64-linux.
    12 	* config/ia64/crtbegin.asm: Likewise.
    13 	* config/ia64/crtend.asm: Likewise.
    14 	* config/ia64/crti.asm: Likewise.
    15 	* config/ia64/crtn.asm: Likewise.
    16 
    17 2004-05-14  Jakub Jelinek  <jakub@redhat.com>
    18 
    19 	* config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
    20 
    21 -= END original header =-
    22 
    23 diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtbegin.asm gcc-4.3.3/gcc/config/ia64/crtbegin.asm
    24 --- gcc-4.3.3.orig/gcc/config/ia64/crtbegin.asm	2005-09-27 02:52:24.000000000 +0200
    25 +++ gcc-4.3.3/gcc/config/ia64/crtbegin.asm	2009-01-27 22:19:39.000000000 +0100
    26 @@ -255,3 +255,7 @@
    27  .weak __cxa_finalize
    28  #endif
    29  .weak _Jv_RegisterClasses
    30 +
    31 +#ifdef __linux__
    32 +.section .note.GNU-stack; .previous
    33 +#endif
    34 diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtend.asm gcc-4.3.3/gcc/config/ia64/crtend.asm
    35 --- gcc-4.3.3.orig/gcc/config/ia64/crtend.asm	2005-09-27 02:52:24.000000000 +0200
    36 +++ gcc-4.3.3/gcc/config/ia64/crtend.asm	2009-01-27 22:19:39.000000000 +0100
    37 @@ -122,3 +122,7 @@
    38  
    39  	br.ret.sptk.many rp
    40  	.endp __do_global_ctors_aux
    41 +
    42 +#ifdef __linux__
    43 +.section .note.GNU-stack; .previous
    44 +#endif
    45 diff -durN gcc-4.3.3.orig/gcc/config/ia64/crti.asm gcc-4.3.3/gcc/config/ia64/crti.asm
    46 --- gcc-4.3.3.orig/gcc/config/ia64/crti.asm	2005-06-25 03:22:41.000000000 +0200
    47 +++ gcc-4.3.3/gcc/config/ia64/crti.asm	2009-01-27 22:19:39.000000000 +0100
    48 @@ -64,3 +64,7 @@
    49  	.body
    50  
    51  # end of crti.asm
    52 +
    53 +#ifdef __linux__
    54 +.section .note.GNU-stack; .previous
    55 +#endif
    56 diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtn.asm gcc-4.3.3/gcc/config/ia64/crtn.asm
    57 --- gcc-4.3.3.orig/gcc/config/ia64/crtn.asm	2005-06-25 03:22:41.000000000 +0200
    58 +++ gcc-4.3.3/gcc/config/ia64/crtn.asm	2009-01-27 22:19:39.000000000 +0100
    59 @@ -54,3 +54,7 @@
    60  	br.ret.sptk.many b0
    61  
    62  # end of crtn.asm
    63 +
    64 +#ifdef __linux__
    65 +.section .note.GNU-stack; .previous
    66 +#endif
    67 diff -durN gcc-4.3.3.orig/gcc/config/ia64/lib1funcs.asm gcc-4.3.3/gcc/config/ia64/lib1funcs.asm
    68 --- gcc-4.3.3.orig/gcc/config/ia64/lib1funcs.asm	2005-09-27 02:52:24.000000000 +0200
    69 +++ gcc-4.3.3/gcc/config/ia64/lib1funcs.asm	2009-01-27 22:19:39.000000000 +0100
    70 @@ -792,3 +792,7 @@
    71  	}
    72  	.endp __floattitf
    73  #endif
    74 +
    75 +#ifdef __linux__
    76 +.section .note.GNU-stack; .previous
    77 +#endif
    78 diff -durN gcc-4.3.3.orig/gcc/config/ia64/linux.h gcc-4.3.3/gcc/config/ia64/linux.h
    79 --- gcc-4.3.3.orig/gcc/config/ia64/linux.h	2006-12-12 16:15:19.000000000 +0100
    80 +++ gcc-4.3.3/gcc/config/ia64/linux.h	2009-01-27 22:19:39.000000000 +0100
    81 @@ -5,6 +5,8 @@
    82  
    83  #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
    84  
    85 +#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
    86 +
    87  /* This is for -profile to use -lc_p instead of -lc.  */
    88  #undef CC1_SPEC
    89  #define CC1_SPEC "%{profile:-p} %{G*}"
    90 diff -durN gcc-4.3.3.orig/gcc/config/rs6000/ppc-asm.h gcc-4.3.3/gcc/config/rs6000/ppc-asm.h
    91 --- gcc-4.3.3.orig/gcc/config/rs6000/ppc-asm.h	2003-06-04 18:44:51.000000000 +0200
    92 +++ gcc-4.3.3/gcc/config/rs6000/ppc-asm.h	2009-01-27 22:19:39.000000000 +0100
    93 @@ -158,7 +158,7 @@
    94  	.size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
    95  #endif
    96  
    97 -#if defined __linux__ && !defined __powerpc64__
    98 +#if defined __linux__
    99  	.section .note.GNU-stack
   100  	.previous
   101  #endif