|
|
|
|
Index: src/cmd/6l/asm.c
|
|
|
|
|
--- src/cmd/6l/asm.c.orig 2015-09-23 06:37:36.000000000 +0200
|
|
|
|
|
+++ src/cmd/6l/asm.c 2017-07-20 20:08:17.009765000 +0200
|
|
|
|
|
@@ -118,6 +118,8 @@
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
case 256 + R_X86_64_GOTPCREL:
|
|
|
|
|
+ case 256 + R_X86_64_GOTPCRELX:
|
|
|
|
|
+ case 256 + R_X86_64_REX_GOTPCRELX:
|
|
|
|
|
if(targ->type != SDYNIMPORT) {
|
|
|
|
|
// have symbol
|
|
|
|
|
if(r->off >= 2 && s->p[r->off-2] == 0x8b) {
|
|
|
|
|
Index: src/cmd/8l/asm.c
|
|
|
|
|
--- src/cmd/8l/asm.c.orig 2015-09-23 06:37:36.000000000 +0200
|
|
|
|
|
+++ src/cmd/8l/asm.c 2017-07-20 20:09:01.311090000 +0200
|
|
|
|
|
@@ -115,6 +115,7 @@
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
case 256 + R_386_GOT32:
|
|
|
|
|
+ case 256 + R_386_GOT32X:
|
|
|
|
|
if(targ->type != SDYNIMPORT) {
|
|
|
|
|
// have symbol
|
|
|
|
|
if(r->off >= 2 && s->p[r->off-2] == 0x8b) {
|
|
|
|
|
Index: src/cmd/ld/elf.h
|
|
|
|
|
--- src/cmd/ld/elf.h.orig 2015-09-23 06:37:36.000000000 +0200
|
|
|
|
|
+++ src/cmd/ld/elf.h 2017-07-20 20:12:02.738221000 +0200
|
|
|
|
|
@@ -502,6 +502,23 @@
|
|
|
|
|
#define R_X86_64_DTPOFF32 21 /* Offset in TLS block */
|
|
|
|
|
#define R_X86_64_GOTTPOFF 22 /* PC relative offset to IE GOT entry */
|
|
|
|
|
#define R_X86_64_TPOFF32 23 /* Offset in static TLS block */
|
|
|
|
|
+#define R_X86_64_PC64 24
|
|
|
|
|
+#define R_X86_64_GOTOFF64 25
|
|
|
|
|
+#define R_X86_64_GOTPC32 26
|
|
|
|
|
+#define R_X86_64_GOT64 27
|
|
|
|
|
+#define R_X86_64_GOTPCREL64 28
|
|
|
|
|
+#define R_X86_64_GOTPC64 29
|
|
|
|
|
+#define R_X86_64_GOTPLT64 30
|
|
|
|
|
+#define R_X86_64_PLTOFF64 31
|
|
|
|
|
+#define R_X86_64_SIZE32 32
|
|
|
|
|
+#define R_X86_64_SIZE64 33
|
|
|
|
|
+#define R_X86_64_GOTPC32_TLSDEC 34
|
|
|
|
|
+#define R_X86_64_TLSDESC_CALL 35
|
|
|
|
|
+#define R_X86_64_TLSDESC 36
|
|
|
|
|
+#define R_X86_64_IRELATIVE 37
|
|
|
|
|
+#define R_X86_64_PC32_BND 40
|
|
|
|
|
+#define R_X86_64_GOTPCRELX 41
|
|
|
|
|
+#define R_X86_64_REX_GOTPCRELX 42
|
|
|
|
|
|
|
|
|
|
#define R_X86_64_COUNT 24 /* Count of defined relocation types. */
|
|
|
|
|
|
|
|
|
|
@@ -612,6 +629,11 @@
|
|
|
|
|
#define R_386_TLS_DTPMOD32 35 /* GOT entry containing TLS index */
|
|
|
|
|
#define R_386_TLS_DTPOFF32 36 /* GOT entry containing TLS offset */
|
|
|
|
|
#define R_386_TLS_TPOFF32 37 /* GOT entry of -ve static TLS offset */
|
|
|
|
|
+#define R_386_TLS_GOTDESC 39
|
|
|
|
|
+#define R_386_TLS_DESC_CALL 40
|
|
|
|
|
+#define R_386_TLS_DESC 41
|
|
|
|
|
+#define R_386_IRELATIVE 42
|
|
|
|
|
+#define R_386_GOT32X 43
|
|
|
|
|
|
|
|
|
|
#define R_386_COUNT 38 /* Count of defined relocation types. */
|
|
|
|
|
|
|
|
|
|
Index: src/cmd/ld/ldelf.c
|
|
|
|
|
--- src/cmd/ld/ldelf.c.orig 2015-09-23 06:37:36.000000000 +0200
|
|
|
|
|
+++ src/cmd/ld/ldelf.c 2017-07-20 20:12:38.811266000 +0200
|
|
|
|
|
@@ -888,12 +888,15 @@
|
|
|
|
|
case R('6', R_X86_64_PC32):
|
|
|
|
|
case R('6', R_X86_64_PLT32):
|
|
|
|
|
case R('6', R_X86_64_GOTPCREL):
|
|
|
|
|
+ case R('6', R_X86_64_GOTPCRELX):
|
|
|
|
|
+ case R('6', R_X86_64_REX_GOTPCRELX):
|
|
|
|
|
case R('8', R_386_32):
|
|
|
|
|
case R('8', R_386_PC32):
|
|
|
|
|
case R('8', R_386_GOT32):
|
|
|
|
|
case R('8', R_386_PLT32):
|
|
|
|
|
case R('8', R_386_GOTOFF):
|
|
|
|
|
case R('8', R_386_GOTPC):
|
|
|
|
|
+ case R('8', R_386_GOT32X):
|
|
|
|
|
*siz = 4;
|
|
|
|
|
break;
|
|
|
|
|
case R('6', R_X86_64_64):
|
|
|
|
|
Index: src/crypto/x509/root_unix.go
|
|
|
|
|
--- src/crypto/x509/root_unix.go.orig 2015-09-23 06:37:36.000000000 +0200
|
|
|
|
|
+++ src/crypto/x509/root_unix.go 2017-07-20 20:06:51.330144000 +0200
|
|
|
|
|
@@ -10,13 +10,7 @@
|
|
|
|
|
|
|
|
|
|
// Possible certificate files; stop after finding one.
|
|
|
|
|
var certFiles = []string{
|
|
|
|
|
- "/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc.
|
|
|
|
|
- "/etc/pki/tls/certs/ca-bundle.crt", // Fedora/RHEL
|
|
|
|
|
- "/etc/ssl/ca-bundle.pem", // OpenSUSE
|
|
|
|
|
- "/etc/ssl/cert.pem", // OpenBSD
|
|
|
|
|
- "/usr/local/share/certs/ca-root-nss.crt", // FreeBSD/DragonFly
|
|
|
|
|
- "/etc/pki/tls/cacert.pem", // OpenELEC
|
|
|
|
|
- "/etc/certs/ca-certificates.crt", // Solaris 11.2+
|
|
|
|
|
+ "@l_prefix@/etc/x509/public-ca.crt.pem",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Possible directories with certificate files; stop after successfully
|