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