patches/glibc/2.9/390-2.3.3_pre20040117-pt_pax.patch
author Cody P Schafer <dev@codyps.com>
Mon May 12 00:02:13 2014 +0200 (2014-05-12)
changeset 3322 eb13867a034c
parent 1201 c9967a6e3b25
permissions -rw-r--r--
arch/powerpc: add powerpc64le support

Technically, I don't forbid powerpcle support either, but I'm not sure that
there is any library/compiler support for that at the moment (though the hw
technically makes it possible).

powerpc64le needs glibc 2.19 and gcc 4.9. I haven't looked into the support
tools, but at least gdb 7.5 is too old (7.7.1 definitely has support).

Also make powerpc64 non-experimental. It's practically old at this point.

Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: use ${target_endian_le} and ${target_bits_64}]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <64bfbbced9dd8f62e0d6.1399801945@gun>
Patchwork-Id: 347775
     1 Original patch from: gentoo/src/patchsets/glibc/2.9/3010_all_2.3.3_pre20040117-pt_pax.patch
     2 
     3 -= BEGIN original header =-
     4 -= END original header =-
     5 
     6 diff -durN glibc-2_9.orig/elf/elf.h glibc-2_9/elf/elf.h
     7 --- glibc-2_9.orig/elf/elf.h	2008-10-01 21:41:34.000000000 +0200
     8 +++ glibc-2_9/elf/elf.h	2009-02-02 22:01:21.000000000 +0100
     9 @@ -571,6 +571,7 @@
    10  #define PT_GNU_EH_FRAME	0x6474e550	/* GCC .eh_frame_hdr segment */
    11  #define PT_GNU_STACK	0x6474e551	/* Indicates stack executability */
    12  #define PT_GNU_RELRO	0x6474e552	/* Read-only after relocation */
    13 +#define PT_PAX_FLAGS	0x65041580	/* Indicates PaX flag markings */
    14  #define PT_LOSUNW	0x6ffffffa
    15  #define PT_SUNWBSS	0x6ffffffa	/* Sun Specific segment */
    16  #define PT_SUNWSTACK	0x6ffffffb	/* Stack segment */
    17 @@ -584,6 +585,18 @@
    18  #define PF_X		(1 << 0)	/* Segment is executable */
    19  #define PF_W		(1 << 1)	/* Segment is writable */
    20  #define PF_R		(1 << 2)	/* Segment is readable */
    21 +#define PF_PAGEEXEC	(1 << 4)	/* Enable  PAGEEXEC */
    22 +#define PF_NOPAGEEXEC	(1 << 5)	/* Disable PAGEEXEC */
    23 +#define PF_SEGMEXEC	(1 << 6)	/* Enable  SEGMEXEC */
    24 +#define PF_NOSEGMEXEC	(1 << 7)	/* Disable SEGMEXEC */
    25 +#define PF_MPROTECT	(1 << 8)	/* Enable  MPROTECT */
    26 +#define PF_NOMPROTECT	(1 << 9)	/* Disable MPROTECT */
    27 +#define PF_RANDEXEC	(1 << 10)	/* Enable  RANDEXEC */
    28 +#define PF_NORANDEXEC	(1 << 11)	/* Disable RANDEXEC */
    29 +#define PF_EMUTRAMP	(1 << 12)	/* Enable  EMUTRAMP */
    30 +#define PF_NOEMUTRAMP	(1 << 13)	/* Disable EMUTRAMP */
    31 +#define PF_RANDMMAP	(1 << 14)	/* Enable  RANDMMAP */
    32 +#define PF_NORANDMMAP	(1 << 15)	/* Disable RANDMMAP */
    33  #define PF_MASKOS	0x0ff00000	/* OS-specific */
    34  #define PF_MASKPROC	0xf0000000	/* Processor-specific */
    35