Skip to content

Commit 7bed20a

Browse files
committed
fix #99 adapter golang 1.23
1 parent 1a28096 commit 7bed20a

21 files changed

+134
-40
lines changed

Diff for: constants/pkgpath.1.19.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.19 && !go1.23
2-
// +build go1.19,!go1.23
1+
//go:build go1.19 && !go1.24
2+
// +build go1.19,!go1.24
33

44
package constants
55

Diff for: constants/type.1.20.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.20 && !go1.23
2-
// +build go1.20,!go1.23
1+
//go:build go1.20 && !go1.24
2+
// +build go1.20,!go1.24
33

44
package constants
55

Diff for: deferreturn.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.14 && !go1.23
2-
// +build go1.14,!go1.23
1+
//go:build go1.14 && !go1.24
2+
// +build go1.14,!go1.24
33

44
package goloader
55

Diff for: func.1.20.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.20 && !go1.23
2-
// +build go1.20,!go1.23
1+
//go:build go1.20 && !go1.24
2+
// +build go1.20,!go1.24
33

44
package goloader
55

Diff for: functab.1.18.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.18 && !go1.23
2-
// +build go1.18,!go1.23
1+
//go:build go1.18 && !go1.24
2+
// +build go1.18,!go1.24
33

44
package goloader
55

Diff for: iface.1.10.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.10 && !go1.23
2-
// +build go1.10,!go1.23
1+
//go:build go1.10 && !go1.24
2+
// +build go1.10,!go1.24
33

44
package goloader
55

Diff for: init.1.21.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.21 && !go1.23
2-
// +build go1.21,!go1.23
1+
//go:build go1.21 && !go1.24
2+
// +build go1.21,!go1.24
33

44
package goloader
55

Diff for: module.1.23.go

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
//go:build go1.23 && !go1.24
2+
// +build go1.23,!go1.24
3+
4+
package goloader
5+
6+
import (
7+
"unsafe"
8+
)
9+
10+
const magic uint32 = 0xFFFFFFF1
11+
12+
// pcHeader holds data used by the pclntab lookups.
13+
type pcHeader struct {
14+
magic uint32 // 0xFFFFFFF1
15+
pad1, pad2 uint8 // 0,0
16+
minLC uint8 // min instruction size
17+
ptrSize uint8 // size of a ptr in bytes
18+
nfunc int // number of functions in the module
19+
nfiles uint // number of entries in the file tab
20+
textStart uintptr // base for function entry PC offsets in this module, equal to moduledata.text
21+
funcnameOffset uintptr // offset to the funcnametab variable from pcHeader
22+
cuOffset uintptr // offset to the cutab variable from pcHeader
23+
filetabOffset uintptr // offset to the filetab variable from pcHeader
24+
pctabOffset uintptr // offset to the pctab variable from pcHeader
25+
pclnOffset uintptr // offset to the pclntab variable from pcHeader
26+
}
27+
28+
// moduledata records information about the layout of the executable
29+
// image. It is written by the linker. Any changes here must be
30+
// matched changes to the code in cmd/link/internal/ld/symtab.go:symtab.
31+
// moduledata is stored in statically allocated non-pointer memory;
32+
// none of the pointers here are visible to the garbage collector.
33+
type moduledata struct {
34+
pcHeader *pcHeader
35+
funcnametab []byte
36+
cutab []uint32
37+
filetab []byte
38+
pctab []byte
39+
pclntable []byte
40+
ftab []functab
41+
findfunctab uintptr
42+
minpc, maxpc uintptr
43+
44+
text, etext uintptr
45+
noptrdata, enoptrdata uintptr
46+
data, edata uintptr
47+
bss, ebss uintptr
48+
noptrbss, enoptrbss uintptr
49+
covctrs, ecovctrs uintptr
50+
end, gcdata, gcbss uintptr
51+
types, etypes uintptr
52+
rodata uintptr
53+
gofunc uintptr // go.func.*
54+
55+
textsectmap []textsect
56+
typelinks []int32 // offsets from types
57+
itablinks []*itab
58+
59+
ptab []ptabEntry
60+
61+
pluginpath string
62+
pkghashes []modulehash
63+
64+
// This slice records the initializing tasks that need to be
65+
// done to start up the program. It is built by the linker.
66+
inittasks []*initTask
67+
68+
modulename string
69+
modulehashes []modulehash
70+
71+
hasmain uint8 // 1 if module contains the main function, 0 otherwise
72+
bad bool // module failed to load and should be ignored
73+
74+
gcdatamask, gcbssmask bitvector
75+
76+
typemap map[typeOff]uintptr // offset to *_rtype in previous module
77+
78+
next *moduledata
79+
}
80+
81+
func initmodule(module *moduledata, linker *Linker) {
82+
module.pcHeader = (*pcHeader)(unsafe.Pointer(&(module.pclntable[0])))
83+
module.pcHeader.textStart = module.text
84+
module.pcHeader.nfunc = len(module.ftab)
85+
module.pcHeader.nfiles = (uint)(len(module.filetab))
86+
module.funcnametab = module.pclntable
87+
module.pctab = module.pclntable
88+
module.cutab = linker.Filetab
89+
module.filetab = module.pclntable
90+
module.hasmain = 0
91+
module.bad = false
92+
module.gofunc = module.noptrdata
93+
module.rodata = module.noptrdata
94+
}

Diff for: obj/funcinfo.1.20.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.20 && !go1.23
2-
// +build go1.20,!go1.23
1+
//go:build go1.20 && !go1.24
2+
// +build go1.20,!go1.24
33

44
package obj
55

Diff for: obj/inlinedcall.1.20.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.20 && !go1.23
2-
// +build go1.20,!go1.23
1+
//go:build go1.20 && !go1.24
2+
// +build go1.20,!go1.24
33

44
package obj
55

Diff for: obj/pathtoprefix.1.9.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.9 && !go1.23
2-
// +build go1.9,!go1.23
1+
//go:build go1.9 && !go1.24
2+
// +build go1.9,!go1.24
33

44
package obj
55

Diff for: obj/readobj.1.16.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.16 && !go1.23
2-
// +build go1.16,!go1.23
1+
//go:build go1.16 && !go1.24
2+
// +build go1.16,!go1.24
33

44
package obj
55

Diff for: objabi/dataindex/dataindex.1.20.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.20 && !go1.23
2-
// +build go1.20,!go1.23
1+
//go:build go1.20 && !go1.24
2+
// +build go1.20,!go1.24
33

44
package dataindex
55

Diff for: objabi/funcalign/funcalign.1.16.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.16 && !go1.23
2-
// +build go1.16,!go1.23
1+
//go:build go1.16 && !go1.24
2+
// +build go1.16,!go1.24
33

44
package funcalign
55

Diff for: objabi/reloctype/reloctype.1.21.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.21 && !go1.23
2-
// +build go1.21,!go1.23
1+
//go:build go1.21 && !go1.24
2+
// +build go1.21,!go1.24
33

44
package reloctype
55

Diff for: objabi/symkind/symkind.1.9.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.9 && !go1.23
2-
// +build go1.9,!go1.23
1+
//go:build go1.9 && !go1.24
2+
// +build go1.9,!go1.24
33

44
package symkind
55

Diff for: objabi/tls/headtype.1.9.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.9 && !go1.23
2-
// +build go1.9,!go1.23
1+
//go:build go1.9 && !go1.24
2+
// +build go1.9,!go1.24
33

44
package tls
55

Diff for: objabi/tls/tls.1.13.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.13 && !go1.23
2-
// +build go1.13,!go1.23
1+
//go:build go1.13 && !go1.24
2+
// +build go1.13,!go1.24
33

44
package tls
55

Diff for: stackobject/stackobject.1.18.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.18 && !go1.23
2-
// +build go1.18,!go1.23
1+
//go:build go1.18 && !go1.24
2+
// +build go1.18,!go1.24
33

44
package stackobject
55

Diff for: stackobject/stackobject.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.12 && !go1.23
2-
// +build go1.12,!go1.23
1+
//go:build go1.12 && !go1.24
2+
// +build go1.12,!go1.24
33

44
package stackobject
55

Diff for: type.1.14.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
//go:build go1.14 && !go1.23
2-
// +build go1.14,!go1.23
1+
//go:build go1.14 && !go1.24
2+
// +build go1.14,!go1.24
33

44
package goloader
55

0 commit comments

Comments
 (0)