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
