Backport fix for new binutils to make go14 compile under NetBSD-current. Patch from Ryo Onodera in PR pkg/50777. The upstream bug report is https://github.com/golang/go/issues/13114. Bump PKGREVISION.diff -r1.6 -r1.7 pkgsrc/lang/go14/Makefile
(bsiegert)
@@ -1,20 +1,20 @@ | @@ -1,20 +1,20 @@ | |||
1 | # $NetBSD: Makefile,v 1.6 2015/12/21 20:20:02 bsiegert Exp $ | 1 | # $NetBSD: Makefile,v 1.7 2016/02/21 14:32:24 bsiegert Exp $ | |
2 | 2 | |||
3 | .include "../../lang/go/version.mk" | 3 | .include "../../lang/go/version.mk" | |
4 | 4 | |||
5 | DISTNAME= go${GO14_VERSION}.src | 5 | DISTNAME= go${GO14_VERSION}.src | |
6 | PKGNAME= go14-${GO14_VERSION} | 6 | PKGNAME= go14-${GO14_VERSION} | |
7 | PKGREVISION= 1 | 7 | PKGREVISION= 2 | |
8 | CATEGORIES= lang | 8 | CATEGORIES= lang | |
9 | MASTER_SITES= https://storage.googleapis.com/golang/ | 9 | MASTER_SITES= https://storage.googleapis.com/golang/ | |
10 | PATCH_SITES= https://codereview.appspot.com/download/ | 10 | PATCH_SITES= https://codereview.appspot.com/download/ | |
11 | 11 | |||
12 | MAINTAINER= bsiegert@NetBSD.org | 12 | MAINTAINER= bsiegert@NetBSD.org | |
13 | HOMEPAGE= http://golang.org/ | 13 | HOMEPAGE= http://golang.org/ | |
14 | COMMENT= The Go programming language | 14 | COMMENT= The Go programming language | |
15 | LICENSE= modified-bsd | 15 | LICENSE= modified-bsd | |
16 | 16 | |||
17 | WRKSRC= ${WRKDIR}/go | 17 | WRKSRC= ${WRKDIR}/go | |
18 | USE_TOOLS+= bash:run perl:run pax | 18 | USE_TOOLS+= bash:run perl:run pax | |
19 | 19 | |||
20 | # uses ulimit -T | 20 | # uses ulimit -T |
@@ -1,31 +1,33 @@ | @@ -1,31 +1,33 @@ | |||
1 | $NetBSD: distinfo,v 1.5 2015/12/21 20:20:02 bsiegert Exp $ | 1 | $NetBSD: distinfo,v 1.6 2016/02/21 14:32:24 bsiegert Exp $ | |
2 | 2 | |||
3 | SHA1 (go1.4.3.src.tar.gz) = 486db10dc571a55c8d795365070f66d343458c48 | 3 | SHA1 (go1.4.3.src.tar.gz) = 486db10dc571a55c8d795365070f66d343458c48 | |
4 | RMD160 (go1.4.3.src.tar.gz) = b1fbb2805a777c8107e7c946f36a881303ac5e35 | 4 | RMD160 (go1.4.3.src.tar.gz) = b1fbb2805a777c8107e7c946f36a881303ac5e35 | |
5 | SHA512 (go1.4.3.src.tar.gz) = 12bade4bce9aa4b34e2b9495ae65a1fc6a2449b3a43bc4de85c8b87ba223c2f999b2f37c1e2fe1188d8521118b5e5357d27afb8b85c0b8ebb4503d4125d25273 | 5 | SHA512 (go1.4.3.src.tar.gz) = 12bade4bce9aa4b34e2b9495ae65a1fc6a2449b3a43bc4de85c8b87ba223c2f999b2f37c1e2fe1188d8521118b5e5357d27afb8b85c0b8ebb4503d4125d25273 | |
6 | Size (go1.4.3.src.tar.gz) = 10875170 bytes | 6 | Size (go1.4.3.src.tar.gz) = 10875170 bytes | |
7 | SHA1 (patch-doc_progs_run) = 5a29fe4f91defb2e20d192850601df7cbabdac7c | 7 | SHA1 (patch-doc_progs_run) = 5a29fe4f91defb2e20d192850601df7cbabdac7c | |
8 | SHA1 (patch-misc_cgo_test_cthread__unix.c) = a63f08f07713bd32e279315cca21235101ce9cd3 | 8 | SHA1 (patch-misc_cgo_test_cthread__unix.c) = a63f08f07713bd32e279315cca21235101ce9cd3 | |
9 | SHA1 (patch-misc_cgo_testso_cgoso.go) = ef782a6f173c814656eac0df640aedaa1a923bbc | 9 | SHA1 (patch-misc_cgo_testso_cgoso.go) = ef782a6f173c814656eac0df640aedaa1a923bbc | |
10 | SHA1 (patch-misc_cgo_testso_cgoso__unix.go) = 58e221e1ce123428a3fe6ecededf0590cbfb81ca | 10 | SHA1 (patch-misc_cgo_testso_cgoso__unix.go) = 58e221e1ce123428a3fe6ecededf0590cbfb81ca | |
11 | SHA1 (patch-src_cmd_5l_asm.c) = fd78203b7c92b9bbd057077671d649bac2d121ee | 11 | SHA1 (patch-src_cmd_5l_asm.c) = fd78203b7c92b9bbd057077671d649bac2d121ee | |
12 | SHA1 (patch-src_cmd_6c_txt.c) = 7ccddadedceb13b6a7c2f29cdfca501a85888488 | 12 | SHA1 (patch-src_cmd_6c_txt.c) = 7ccddadedceb13b6a7c2f29cdfca501a85888488 | |
13 | SHA1 (patch-src_cmd_6l_asm.c) = 1f244d7c760e738057b1649ed486206a6ec3812b | 13 | SHA1 (patch-src_cmd_6l_asm.c) = e15ece4886c459c500b91b3b0c6a4ccbe111bfc0 | |
14 | SHA1 (patch-src_cmd_8l_asm.c) = e5233a3d9b08f2ef8d809756ef7d6fc4b03303b9 | 14 | SHA1 (patch-src_cmd_8l_asm.c) = a402a0db31d875cc04e8e15b2e4567ff2f77fee3 | |
15 | SHA1 (patch-src_cmd_go_build.go) = f7705aa955241d3add353a144a676a58a0a1617e | 15 | SHA1 (patch-src_cmd_go_build.go) = f7705aa955241d3add353a144a676a58a0a1617e | |
16 | SHA1 (patch-src_cmd_go_pkg.go) = e70441f3fdf312eb389e4dd5408c207a4d4b8350 | 16 | SHA1 (patch-src_cmd_go_pkg.go) = e70441f3fdf312eb389e4dd5408c207a4d4b8350 | |
17 | SHA1 (patch-src_cmd_ld_data.c) = 96181bac03333f7bc5293ab9ddbd68bb9174ed47 | 17 | SHA1 (patch-src_cmd_ld_data.c) = 96181bac03333f7bc5293ab9ddbd68bb9174ed47 | |
18 | SHA1 (patch-src_cmd_ld_doc.go) = 000447f5a5862358a85a7510dc92195494972e26 | 18 | SHA1 (patch-src_cmd_ld_doc.go) = 000447f5a5862358a85a7510dc92195494972e26 | |
19 | SHA1 (patch-src_cmd_ld_elf.h) = 067272ae88ec8631917e260c260ecbc84ce33dd5 | |||
20 | SHA1 (patch-src_cmd_ld_ldelf.c) = fce969ab60486b892b1bb81cd84237b77bf6e65f | |||
19 | SHA1 (patch-src_cmd_ld_lib.h) = e6aa8b9520e1b75f435e179e5ea4f0ef738621f4 | 21 | SHA1 (patch-src_cmd_ld_lib.h) = e6aa8b9520e1b75f435e179e5ea4f0ef738621f4 | |
20 | SHA1 (patch-src_cmd_ld_pobj.c) = eaf67d6bc4f9ba835893f9d8c2d36941ff84933d | 22 | SHA1 (patch-src_cmd_ld_pobj.c) = eaf67d6bc4f9ba835893f9d8c2d36941ff84933d | |
21 | SHA1 (patch-src_crypto_x509_root__unix.go) = c933f334da1c8de48a06d23abd12da01f73776e6 | 23 | SHA1 (patch-src_crypto_x509_root__unix.go) = c933f334da1c8de48a06d23abd12da01f73776e6 | |
22 | SHA1 (patch-src_go_build_build.go) = b68bc557e7b48877889c63070e9cb9d8360f40f5 | 24 | SHA1 (patch-src_go_build_build.go) = b68bc557e7b48877889c63070e9cb9d8360f40f5 | |
23 | SHA1 (patch-src_net_cgo__bsd.go) = 4678fccd6956300ce55343965334fc3881383bbc | 25 | SHA1 (patch-src_net_cgo__bsd.go) = 4678fccd6956300ce55343965334fc3881383bbc | |
24 | SHA1 (patch-src_net_cgo__stub.go) = cf373587745d68e556dadf3a61956b489b4f420a | 26 | SHA1 (patch-src_net_cgo__stub.go) = cf373587745d68e556dadf3a61956b489b4f420a | |
25 | SHA1 (patch-src_net_cgo__unix.go) = cebe897ab624aaf52bebc50d12a045d6b4ea2bc6 | 27 | SHA1 (patch-src_net_cgo__unix.go) = cebe897ab624aaf52bebc50d12a045d6b4ea2bc6 | |
26 | SHA1 (patch-src_os_user_lookup__unix.go) = 2cb66fb1af534f45c14bded4994a00584a7cc19d | 28 | SHA1 (patch-src_os_user_lookup__unix.go) = 2cb66fb1af534f45c14bded4994a00584a7cc19d | |
27 | SHA1 (patch-src_runtime_cgo_cgo.go) = 9cc88b35d12e0d52e76495e04f7fce2b78af08d5 | 29 | SHA1 (patch-src_runtime_cgo_cgo.go) = 9cc88b35d12e0d52e76495e04f7fce2b78af08d5 | |
28 | SHA1 (patch-src_runtime_cgo_gcc__setenv.c) = c9614b76d71e84ad46b2ce785580fdc54b261455 | 30 | SHA1 (patch-src_runtime_cgo_gcc__setenv.c) = c9614b76d71e84ad46b2ce785580fdc54b261455 | |
29 | SHA1 (patch-src_runtime_cgo_gcc__solaris__amd64.c) = 633d8dcc8a843e343ee2ab9edb7cfaf6f6c3865b | 31 | SHA1 (patch-src_runtime_cgo_gcc__solaris__amd64.c) = 633d8dcc8a843e343ee2ab9edb7cfaf6f6c3865b | |
30 | SHA1 (patch-src_runtime_cgo_setenv.c) = f3b56885fa54cabf78944fad75c21f04bea5cd88 | 32 | SHA1 (patch-src_runtime_cgo_setenv.c) = f3b56885fa54cabf78944fad75c21f04bea5cd88 | |
31 | SHA1 (patch-src_runtime_netpoll__solaris.c) = ae399518bb02d6b898734a52dfa7fe18f041e1ec | 33 | SHA1 (patch-src_runtime_netpoll__solaris.c) = ae399518bb02d6b898734a52dfa7fe18f041e1ec |
@@ -1,20 +1,29 @@ | @@ -1,20 +1,29 @@ | |||
1 | $NetBSD: patch-src_cmd_6l_asm.c,v 1.1 2015/07/31 14:46:25 bsiegert Exp $ | 1 | $NetBSD: patch-src_cmd_6l_asm.c,v 1.2 2016/02/21 14:32:24 bsiegert Exp $ | |
2 | 2 | |||
3 | Support cgo on illumos. | 3 | Support cgo on illumos. | |
4 | 4 | |||
5 | --- src/cmd/6l/asm.c.orig 2014-12-11 01:18:10.000000000 +0000 | 5 | --- src/cmd/6l/asm.c.orig 2015-09-23 04:37:36.000000000 +0000 | |
6 | +++ src/cmd/6l/asm.c | 6 | +++ src/cmd/6l/asm.c | |
7 | @@ -209,12 +209,23 @@ adddynrel(LSym *s, Reloc *r) | 7 | @@ -118,6 +118,8 @@ adddynrel(LSym *s, Reloc *r) | |
8 | return; | |||
9 | ||||
10 | case 256 + R_X86_64_GOTPCREL: | |||
11 | + case 256 + R_X86_64_GOTPCRELX: | |||
12 | + case 256 + R_X86_64_REX_GOTPCRELX: | |||
13 | if(targ->type != SDYNIMPORT) { | |||
14 | // have symbol | |||
15 | if(r->off >= 2 && s->p[r->off-2] == 0x8b) { | |||
16 | @@ -209,12 +211,23 @@ adddynrel(LSym *s, Reloc *r) | |||
8 | 17 | |||
9 | case R_ADDR: | 18 | case R_ADDR: | |
10 | if(s->type == STEXT && iself) { | 19 | if(s->type == STEXT && iself) { | |
11 | - // The code is asking for the address of an external | 20 | - // The code is asking for the address of an external | |
12 | - // function. We provide it with the address of the | 21 | - // function. We provide it with the address of the | |
13 | - // correspondent GOT symbol. | 22 | - // correspondent GOT symbol. | |
14 | - addgotsym(targ); | 23 | - addgotsym(targ); | |
15 | - r->sym = linklookup(ctxt, ".got", 0); | 24 | - r->sym = linklookup(ctxt, ".got", 0); | |
16 | - r->add += targ->got; | 25 | - r->add += targ->got; | |
17 | + /* | 26 | + /* | |
18 | + * On SunOS, all external references are dynamic. | 27 | + * On SunOS, all external references are dynamic. | |
19 | + * Emit a PLT relocation at this site. | 28 | + * Emit a PLT relocation at this site. | |
20 | + */ | 29 | + */ | |
@@ -24,27 +33,27 @@ Support cgo on illumos. | @@ -24,27 +33,27 @@ Support cgo on illumos. | |||
24 | + r->add = targ->plt; | 33 | + r->add = targ->plt; | |
25 | + } else { | 34 | + } else { | |
26 | + // The code is asking for the address of an | 35 | + // The code is asking for the address of an | |
27 | + // external function. We provide it with the | 36 | + // external function. We provide it with the | |
28 | + // address of the correspondent GOT symbol. | 37 | + // address of the correspondent GOT symbol. | |
29 | + addgotsym(targ); | 38 | + addgotsym(targ); | |
30 | + r->sym = linklookup(ctxt, ".got", 0); | 39 | + r->sym = linklookup(ctxt, ".got", 0); | |
31 | + r->add += targ->got; | 40 | + r->add += targ->got; | |
32 | + } | 41 | + } | |
33 | + | 42 | + | |
34 | return; | 43 | return; | |
35 | } | 44 | } | |
36 | if(s->type != SDATA) | 45 | if(s->type != SDATA) | |
37 | @@ -539,28 +550,9 @@ adddynsym(Link *ctxt, LSym *s) | 46 | @@ -539,28 +552,9 @@ adddynsym(Link *ctxt, LSym *s) | |
38 | 47 | |||
39 | /* reserved */ | 48 | /* reserved */ | |
40 | adduint8(ctxt, d, 0); | 49 | adduint8(ctxt, d, 0); | |
41 | - | 50 | - | |
42 | - /* section where symbol is defined */ | 51 | - /* section where symbol is defined */ | |
43 | - if(s->type == SDYNIMPORT) | 52 | - if(s->type == SDYNIMPORT) | |
44 | - adduint16(ctxt, d, SHN_UNDEF); | 53 | - adduint16(ctxt, d, SHN_UNDEF); | |
45 | - else { | 54 | - else { | |
46 | - switch(s->type) { | 55 | - switch(s->type) { | |
47 | - default: | 56 | - default: | |
48 | - case STEXT: | 57 | - case STEXT: | |
49 | - t = 11; | 58 | - t = 11; | |
50 | - break; | 59 | - break; |
@@ -1,20 +1,28 @@ | @@ -1,20 +1,28 @@ | |||
1 | $NetBSD: patch-src_cmd_8l_asm.c,v 1.1 2015/07/31 14:46:25 bsiegert Exp $ | 1 | $NetBSD: patch-src_cmd_8l_asm.c,v 1.2 2016/02/21 14:32:24 bsiegert Exp $ | |
2 | 2 | |||
3 | Support cgo on illumos. | 3 | Support cgo on illumos. | |
4 | 4 | |||
5 | --- src/cmd/8l/asm.c.orig 2014-12-11 01:18:10.000000000 +0000 | 5 | --- src/cmd/8l/asm.c.orig 2015-09-23 04:37:36.000000000 +0000 | |
6 | +++ src/cmd/8l/asm.c | 6 | +++ src/cmd/8l/asm.c | |
7 | @@ -508,27 +508,8 @@ adddynsym(Link *ctxt, LSym *s) | 7 | @@ -115,6 +115,7 @@ adddynrel(LSym *s, Reloc *r) | |
8 | return; | |||
9 | ||||
10 | case 256 + R_386_GOT32: | |||
11 | + case 256 + R_386_GOT32X: | |||
12 | if(targ->type != SDYNIMPORT) { | |||
13 | // have symbol | |||
14 | if(r->off >= 2 && s->p[r->off-2] == 0x8b) { | |||
15 | @@ -508,27 +509,8 @@ adddynsym(Link *ctxt, LSym *s) | |||
8 | adduint8(ctxt, d, t); | 16 | adduint8(ctxt, d, t); | |
9 | adduint8(ctxt, d, 0); | 17 | adduint8(ctxt, d, 0); | |
10 | 18 | |||
11 | - /* shndx */ | 19 | - /* shndx */ | |
12 | - if(s->type == SDYNIMPORT) | 20 | - if(s->type == SDYNIMPORT) | |
13 | - adduint16(ctxt, d, SHN_UNDEF); | 21 | - adduint16(ctxt, d, SHN_UNDEF); | |
14 | - else { | 22 | - else { | |
15 | - switch(s->type) { | 23 | - switch(s->type) { | |
16 | - default: | 24 | - default: | |
17 | - case STEXT: | 25 | - case STEXT: | |
18 | - t = 11; | 26 | - t = 11; | |
19 | - break; | 27 | - break; | |
20 | - case SRODATA: | 28 | - case SRODATA: |
$NetBSD: patch-src_cmd_ld_elf.h,v 1.1 2016/02/21 14:32:24 bsiegert Exp $
--- src/cmd/ld/elf.h.orig 2015-09-23 04:37:36.000000000 +0000
+++ src/cmd/ld/elf.h
@@ -478,32 +478,47 @@ typedef struct {
* Relocation types.
*/
-#define R_X86_64_NONE 0 /* No relocation. */
-#define R_X86_64_64 1 /* Add 64 bit symbol value. */
-#define R_X86_64_PC32 2 /* PC-relative 32 bit signed sym value. */
-#define R_X86_64_GOT32 3 /* PC-relative 32 bit GOT offset. */
-#define R_X86_64_PLT32 4 /* PC-relative 32 bit PLT offset. */
-#define R_X86_64_COPY 5 /* Copy data from shared object. */
-#define R_X86_64_GLOB_DAT 6 /* Set GOT entry to data address. */
-#define R_X86_64_JMP_SLOT 7 /* Set GOT entry to code address. */
-#define R_X86_64_RELATIVE 8 /* Add load address of shared object. */
-#define R_X86_64_GOTPCREL 9 /* Add 32 bit signed pcrel offset to GOT. */
-#define R_X86_64_32 10 /* Add 32 bit zero extended symbol value */
-#define R_X86_64_32S 11 /* Add 32 bit sign extended symbol value */
-#define R_X86_64_16 12 /* Add 16 bit zero extended symbol value */
-#define R_X86_64_PC16 13 /* Add 16 bit signed extended pc relative symbol value */
-#define R_X86_64_8 14 /* Add 8 bit zero extended symbol value */
-#define R_X86_64_PC8 15 /* Add 8 bit signed extended pc relative symbol value */
-#define R_X86_64_DTPMOD64 16 /* ID of module containing symbol */
-#define R_X86_64_DTPOFF64 17 /* Offset in TLS block */
-#define R_X86_64_TPOFF64 18 /* Offset in static TLS block */
-#define R_X86_64_TLSGD 19 /* PC relative offset to GD GOT entry */
-#define R_X86_64_TLSLD 20 /* PC relative offset to LD GOT entry */
-#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_COUNT 24 /* Count of defined relocation types. */
+#define R_X86_64_NONE 0
+#define R_X86_64_64 1
+#define R_X86_64_PC32 2
+#define R_X86_64_GOT32 3
+#define R_X86_64_PLT32 4
+#define R_X86_64_COPY 5
+#define R_X86_64_GLOB_DAT 6
+#define R_X86_64_JMP_SLOT 7
+#define R_X86_64_RELATIVE 8
+#define R_X86_64_GOTPCREL 9
+#define R_X86_64_32 10
+#define R_X86_64_32S 11
+#define R_X86_64_16 12
+#define R_X86_64_PC16 13
+#define R_X86_64_8 14
+#define R_X86_64_PC8 15
+#define R_X86_64_DTPMOD64 16
+#define R_X86_64_DTPOFF64 17
+#define R_X86_64_TPOFF64 18
+#define R_X86_64_TLSGD 19
+#define R_X86_64_TLSLD 20
+#define R_X86_64_DTPOFF32 21
+#define R_X86_64_GOTTPOFF 22
+#define R_X86_64_TPOFF32 23
+#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_ALPHA_NONE 0 /* No reloc */
@@ -581,39 +596,42 @@ typedef struct {
#define R_ARM_COUNT 38 /* Count of defined relocation types. */
-#define R_386_NONE 0 /* No relocation. */
-#define R_386_32 1 /* Add symbol value. */
-#define R_386_PC32 2 /* Add PC-relative symbol value. */
-#define R_386_GOT32 3 /* Add PC-relative GOT offset. */
-#define R_386_PLT32 4 /* Add PC-relative PLT offset. */
-#define R_386_COPY 5 /* Copy data from shared object. */
-#define R_386_GLOB_DAT 6 /* Set GOT entry to data address. */
-#define R_386_JMP_SLOT 7 /* Set GOT entry to code address. */
-#define R_386_RELATIVE 8 /* Add load address of shared object. */
-#define R_386_GOTOFF 9 /* Add GOT-relative symbol address. */
-#define R_386_GOTPC 10 /* Add PC-relative GOT table address. */
-#define R_386_TLS_TPOFF 14 /* Negative offset in static TLS block */
-#define R_386_TLS_IE 15 /* Absolute address of GOT for -ve static TLS */
-#define R_386_TLS_GOTIE 16 /* GOT entry for negative static TLS block */
-#define R_386_TLS_LE 17 /* Negative offset relative to static TLS */
-#define R_386_TLS_GD 18 /* 32 bit offset to GOT (index,off) pair */
-#define R_386_TLS_LDM 19 /* 32 bit offset to GOT (index,zero) pair */
-#define R_386_TLS_GD_32 24 /* 32 bit offset to GOT (index,off) pair */
-#define R_386_TLS_GD_PUSH 25 /* pushl instruction for Sun ABI GD sequence */
-#define R_386_TLS_GD_CALL 26 /* call instruction for Sun ABI GD sequence */
-#define R_386_TLS_GD_POP 27 /* popl instruction for Sun ABI GD sequence */
-#define R_386_TLS_LDM_32 28 /* 32 bit offset to GOT (index,zero) pair */
-#define R_386_TLS_LDM_PUSH 29 /* pushl instruction for Sun ABI LD sequence */
-#define R_386_TLS_LDM_CALL 30 /* call instruction for Sun ABI LD sequence */
-#define R_386_TLS_LDM_POP 31 /* popl instruction for Sun ABI LD sequence */
-#define R_386_TLS_LDO_32 32 /* 32 bit offset from start of TLS block */
-#define R_386_TLS_IE_32 33 /* 32 bit offset to GOT static TLS offset entry */
-#define R_386_TLS_LE_32 34 /* 32 bit offset within static TLS block */
-#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_COUNT 38 /* Count of defined relocation types. */
+#define R_386_NONE 0
+#define R_386_32 1
+#define R_386_PC32 2
+#define R_386_GOT32 3
+#define R_386_PLT32 4
+#define R_386_COPY 5
+#define R_386_GLOB_DAT 6
+#define R_386_JMP_SLOT 7
+#define R_386_RELATIVE 8
+#define R_386_GOTOFF 9
+#define R_386_GOTPC 10
+#define R_386_TLS_TPOFF 14
+#define R_386_TLS_IE 15
+#define R_386_TLS_GOTIE 16
+#define R_386_TLS_LE 17
+#define R_386_TLS_GD 18
+#define R_386_TLS_LDM 19
+#define R_386_TLS_GD_32 24
+#define R_386_TLS_GD_PUSH 25
+#define R_386_TLS_GD_CALL 26
+#define R_386_TLS_GD_POP 27
+#define R_386_TLS_LDM_32 28
+#define R_386_TLS_LDM_PUSH 29
+#define R_386_TLS_LDM_CALL 30
+#define R_386_TLS_LDM_POP 31
+#define R_386_TLS_LDO_32 32
+#define R_386_TLS_IE_32 33
+#define R_386_TLS_LE_32 34
+#define R_386_TLS_DTPMOD32 35
+#define R_386_TLS_DTPOFF32 36
+#define R_386_TLS_TPOFF32 37
+#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_PPC_NONE 0 /* No relocation. */
#define R_PPC_ADDR32 1
$NetBSD: patch-src_cmd_ld_ldelf.c,v 1.1 2016/02/21 14:32:24 bsiegert Exp $
--- src/cmd/ld/ldelf.c.orig 2015-09-23 04:37:36.000000000 +0000
+++ src/cmd/ld/ldelf.c
@@ -888,12 +888,15 @@ reltype(char *pn, int elftype, uchar *si
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):