summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/go/files/go-1.0.3-hardened.patch')
-rw-r--r--dev-lang/go/files/go-1.0.3-hardened.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/dev-lang/go/files/go-1.0.3-hardened.patch b/dev-lang/go/files/go-1.0.3-hardened.patch
new file mode 100644
index 0000000..39e9ccb
--- /dev/null
+++ b/dev-lang/go/files/go-1.0.3-hardened.patch
@@ -0,0 +1,44 @@
+Index: src/cmd/6l/asm.c
+===================================================================
+--- a/src/cmd/6l/asm.c
++++ b/src/cmd/6l/asm.c
+@@ -1082,6 +1082,11 @@
+ ph->type = PT_GNU_STACK;
+ ph->flags = PF_W+PF_R;
+ ph->align = 8;
++
++ ph = newElfPhdr();
++ ph->type = PT_PAX_FLAGS;
++ ph->flags = 0x2a00; // mprotect, randexec, emutramp disabled
++ ph->align = 8;
+
+ sh = newElfShstrtab(elfstr[ElfStrShstrtab]);
+ sh->type = SHT_STRTAB;
+Index: src/cmd/8l/asm.c
+===================================================================
+--- a/src/cmd/8l/asm.c
++++ b/src/cmd/8l/asm.c
+@@ -1127,6 +1127,11 @@
+ ph->flags = PF_W+PF_R;
+ ph->align = 4;
+
++ ph = newElfPhdr();
++ ph->type = PT_PAX_FLAGS;
++ ph->flags = 0x2a00; // mprotect, randexec, emutramp disabled
++ ph->align = 8;
++
+ sh = newElfShstrtab(elfstr[ElfStrShstrtab]);
+ sh->type = SHT_STRTAB;
+ sh->addralign = 1;
+Index: src/cmd/ld/elf.h
+===================================================================
+--- a/src/cmd/ld/elf.h
++++ b/src/cmd/ld/elf.h
+@@ -251,6 +251,7 @@
+ #define PT_LOPROC 0x70000000 /* First processor-specific type. */
+ #define PT_HIPROC 0x7fffffff /* Last processor-specific type. */
+ #define PT_GNU_STACK 0x6474e551
++#define PT_PAX_FLAGS 0x65041580
+
+ /* Values for p_flags. */
+ #define PF_X 0x1 /* Executable. */