detached 8b02958

chore: switch purego dependency to bnema/purego fork

Replace local path replace directive with GitHub URL pointing to
bnema/purego@91aa177 to avoid accidental pushes to upstream.
commit
8b029581aa8aebd90aa84a2b638058062afa9bdd
author
brice · · 2026-03-23 19:51 UTC
parent
f14f9b6
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
51 files · +1860 -488
M go.mod +2 -0
@@ -3,3 +3,5 @@ module github.com/bnema/puregotk
33 go 1.26.1
44
55 require github.com/ebitengine/purego v0.10.0
6+
7+replace github.com/ebitengine/purego => github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704
@@ -3,3 +3,5 @@ module github.com/bnema/puregotk
3 go 1.26.13 go 1.26.1
4 4
5 require github.com/ebitengine/purego v0.10.05 require github.com/ebitengine/purego v0.10.0
6+
7+replace github.com/ebitengine/purego => github.com/bnema/purego v0.0.0-20260323095903-91aa177a2704
M go.sum +2 -2 generated file: collapsed
M vendor/github.com/ebitengine/purego/README.md +3 -0 generated file: collapsed
M vendor/github.com/ebitengine/purego/dlfcn_nocgo_netbsd.go +2 -0 generated file: collapsed
M vendor/github.com/ebitengine/purego/func.go +220 -107 generated file: collapsed
A vendor/github.com/ebitengine/purego/hostlayout_go123.go +12 -0 generated file: collapsed
A vendor/github.com/ebitengine/purego/hostlayout_nogo123.go +11 -0 generated file: collapsed
A vendor/github.com/ebitengine/purego/internal/fakecgo/abi_riscv64.h +72 -0 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/asm_riscv64.s +14 -55
@@ -3,6 +3,7 @@
33 // license that can be found in the LICENSE file.
44
55 #include "textflag.h"
6+#include "abi_riscv64.h"
67
78 // Called by C code generated by cmd/cgo.
89 // func crosscall2(fn, a unsafe.Pointer, n int32, ctxt uintptr)
@@ -14,65 +15,23 @@ TEXT crosscall2(SB), NOSPLIT|NOFRAME, $0
1415 * registers. Note that at procedure entry the first argument is at
1516 * 8(X2).
1617 */
17- ADD $(-8*29), X2
18- MOV X10, (8*1)(X2) // fn unsafe.Pointer
19- MOV X11, (8*2)(X2) // a unsafe.Pointer
20- MOV X13, (8*3)(X2) // ctxt uintptr
21- MOV X8, (8*4)(X2)
22- MOV X9, (8*5)(X2)
23- MOV X18, (8*6)(X2)
24- MOV X19, (8*7)(X2)
25- MOV X20, (8*8)(X2)
26- MOV X21, (8*9)(X2)
27- MOV X22, (8*10)(X2)
28- MOV X23, (8*11)(X2)
29- MOV X24, (8*12)(X2)
30- MOV X25, (8*13)(X2)
31- MOV X26, (8*14)(X2)
32- MOV g, (8*15)(X2)
33- MOV X1, (8*16)(X2)
34- MOVD F8, (8*17)(X2)
35- MOVD F9, (8*18)(X2)
36- MOVD F18, (8*19)(X2)
37- MOVD F19, (8*20)(X2)
38- MOVD F20, (8*21)(X2)
39- MOVD F21, (8*22)(X2)
40- MOVD F22, (8*23)(X2)
41- MOVD F23, (8*24)(X2)
42- MOVD F24, (8*25)(X2)
43- MOVD F25, (8*26)(X2)
44- MOVD F26, (8*27)(X2)
45- MOVD F27, (8*28)(X2)
18+ ADD $(-8*29), X2
19+ MOV X10, (8*1)(X2) // fn unsafe.Pointer
20+ MOV X11, (8*2)(X2) // a unsafe.Pointer
21+ MOV X13, (8*3)(X2) // ctxt uintptr
22+
23+ SAVE_GPR((8*4))
24+ MOV X1, (8*16)(X2)
25+ SAVE_FPR((8*17))
4626
4727 // Initialize Go ABI environment
4828 CALL runtime·load_g(SB)
4929 CALL runtime·cgocallback(SB)
5030
51- MOV (8*4)(X2), X8
52- MOV (8*5)(X2), X9
53- MOV (8*6)(X2), X18
54- MOV (8*7)(X2), X19
55- MOV (8*8)(X2), X20
56- MOV (8*9)(X2), X21
57- MOV (8*10)(X2), X22
58- MOV (8*11)(X2), X23
59- MOV (8*12)(X2), X24
60- MOV (8*13)(X2), X25
61- MOV (8*14)(X2), X26
62- MOV (8*15)(X2), g
63- MOV (8*16)(X2), X1
64- MOVD (8*17)(X2), F8
65- MOVD (8*18)(X2), F9
66- MOVD (8*19)(X2), F18
67- MOVD (8*20)(X2), F19
68- MOVD (8*21)(X2), F20
69- MOVD (8*22)(X2), F21
70- MOVD (8*23)(X2), F22
71- MOVD (8*24)(X2), F23
72- MOVD (8*25)(X2), F24
73- MOVD (8*26)(X2), F25
74- MOVD (8*27)(X2), F26
75- MOVD (8*28)(X2), F27
76- ADD $(8*29), X2
31+ RESTORE_GPR((8*4))
32+ MOV (8*16)(X2), X1
33+ RESTORE_FPR((8*17))
34+
35+ ADD $(8*29), X2
7736
7837 RET
@@ -3,6 +3,7 @@
3 // license that can be found in the LICENSE file.3 // license that can be found in the LICENSE file.
4 4
5 #include "textflag.h"5 #include "textflag.h"
6+#include "abi_riscv64.h"
6 7
7 // Called by C code generated by cmd/cgo.8 // Called by C code generated by cmd/cgo.
8 // func crosscall2(fn, a unsafe.Pointer, n int32, ctxt uintptr)9 // func crosscall2(fn, a unsafe.Pointer, n int32, ctxt uintptr)
@@ -14,65 +15,23 @@ TEXT crosscall2(SB), NOSPLIT|NOFRAME, $0
14 * registers. Note that at procedure entry the first argument is at15 * registers. Note that at procedure entry the first argument is at
15 * 8(X2).16 * 8(X2).
16 */17 */
17- ADD $(-8*29), X218+ ADD $(-8*29), X2
18- MOV X10, (8*1)(X2) // fn unsafe.Pointer19+ MOV X10, (8*1)(X2) // fn unsafe.Pointer
19- MOV X11, (8*2)(X2) // a unsafe.Pointer20+ MOV X11, (8*2)(X2) // a unsafe.Pointer
20- MOV X13, (8*3)(X2) // ctxt uintptr21+ MOV X13, (8*3)(X2) // ctxt uintptr
21- MOV X8, (8*4)(X2)22+
22- MOV X9, (8*5)(X2)23+ SAVE_GPR((8*4))
23- MOV X18, (8*6)(X2)24+ MOV X1, (8*16)(X2)
24- MOV X19, (8*7)(X2)25+ SAVE_FPR((8*17))
25- MOV X20, (8*8)(X2)
26- MOV X21, (8*9)(X2)
27- MOV X22, (8*10)(X2)
28- MOV X23, (8*11)(X2)
29- MOV X24, (8*12)(X2)
30- MOV X25, (8*13)(X2)
31- MOV X26, (8*14)(X2)
32- MOV g, (8*15)(X2)
33- MOV X1, (8*16)(X2)
34- MOVD F8, (8*17)(X2)
35- MOVD F9, (8*18)(X2)
36- MOVD F18, (8*19)(X2)
37- MOVD F19, (8*20)(X2)
38- MOVD F20, (8*21)(X2)
39- MOVD F21, (8*22)(X2)
40- MOVD F22, (8*23)(X2)
41- MOVD F23, (8*24)(X2)
42- MOVD F24, (8*25)(X2)
43- MOVD F25, (8*26)(X2)
44- MOVD F26, (8*27)(X2)
45- MOVD F27, (8*28)(X2)
46 26
47 // Initialize Go ABI environment27 // Initialize Go ABI environment
48 CALL runtime·load_g(SB)28 CALL runtime·load_g(SB)
49 CALL runtime·cgocallback(SB)29 CALL runtime·cgocallback(SB)
50 30
51- MOV (8*4)(X2), X831+ RESTORE_GPR((8*4))
52- MOV (8*5)(X2), X932+ MOV (8*16)(X2), X1
53- MOV (8*6)(X2), X1833+ RESTORE_FPR((8*17))
54- MOV (8*7)(X2), X1934+
55- MOV (8*8)(X2), X2035+ ADD $(8*29), X2
56- MOV (8*9)(X2), X21
57- MOV (8*10)(X2), X22
58- MOV (8*11)(X2), X23
59- MOV (8*12)(X2), X24
60- MOV (8*13)(X2), X25
61- MOV (8*14)(X2), X26
62- MOV (8*15)(X2), g
63- MOV (8*16)(X2), X1
64- MOVD (8*17)(X2), F8
65- MOVD (8*18)(X2), F9
66- MOVD (8*19)(X2), F18
67- MOVD (8*20)(X2), F19
68- MOVD (8*21)(X2), F20
69- MOVD (8*22)(X2), F21
70- MOVD (8*23)(X2), F22
71- MOVD (8*24)(X2), F23
72- MOVD (8*25)(X2), F24
73- MOVD (8*26)(X2), F25
74- MOVD (8*27)(X2), F26
75- MOVD (8*28)(X2), F27
76- ADD $(8*29), X2
77 36
78 RET37 RET
M vendor/github.com/ebitengine/purego/internal/fakecgo/go_freebsd.go +4 -25 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux.go +4 -25 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/go_netbsd.go +4 -25 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_netbsd.go +2 -2 generated file: collapsed
A vendor/github.com/ebitengine/purego/internal/fakecgo/linux.go +184 -0 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/netbsd.go +1 -1 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_386.s +18 -4 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_amd64.s +1 -1 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_arm.s +44 -3 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_arm64.s +1 -4 generated file: collapsed
A vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_linux_386.s +78 -0 generated file: collapsed
A vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_linux_amd64.s +69 -0 generated file: collapsed
A vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_linux_arm.s +69 -0 generated file: collapsed
A vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_linux_arm64.s +60 -0 generated file: collapsed
A vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_linux_loong64.s +60 -0 generated file: collapsed
A vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_linux_ppc64le.s +69 -0 generated file: collapsed
A vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_linux_riscv64.s +60 -0 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_loong64.s +1 -11 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_ppc64le.s +30 -129 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_riscv64.s +11 -7 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/zsymbols_linux.go +110 -0 generated file: collapsed
M vendor/github.com/ebitengine/purego/internal/fakecgo/ztrampolines_linux.s +30 -0 generated file: collapsed
M vendor/github.com/ebitengine/purego/struct_386.go +12 -1 generated file: collapsed
M vendor/github.com/ebitengine/purego/struct_amd64.go +162 -0 generated file: collapsed
M vendor/github.com/ebitengine/purego/struct_arm.go +8 -0 generated file: collapsed
M vendor/github.com/ebitengine/purego/struct_arm64.go +203 -7 generated file: collapsed
M vendor/github.com/ebitengine/purego/struct_loong64.go +9 -1 generated file: collapsed
M vendor/github.com/ebitengine/purego/struct_ppc64le.go +9 -1 generated file: collapsed
M vendor/github.com/ebitengine/purego/struct_riscv64.go +9 -1 generated file: collapsed
M vendor/github.com/ebitengine/purego/struct_s390x.go +9 -1 generated file: collapsed
M vendor/github.com/ebitengine/purego/sys_amd64.s +16 -16 generated file: collapsed
M vendor/github.com/ebitengine/purego/sys_arm64.s +2 -1 generated file: collapsed
M vendor/github.com/ebitengine/purego/sys_unix_arm64.s +8 -3 generated file: collapsed
M vendor/github.com/ebitengine/purego/sys_unix_loong64.s +9 -5 generated file: collapsed
M vendor/github.com/ebitengine/purego/syscall.go +21 -0 generated file: collapsed
M vendor/github.com/ebitengine/purego/syscall_32bit.go +21 -0 generated file: collapsed
A vendor/github.com/ebitengine/purego/syscall_notstackargs.go +38 -0 generated file: collapsed
R vendor/github.com/ebitengine/purego/syscall_sysv_stackargs.go → vendor/github.com/ebitengine/purego/syscall_stackargs.go +13 -3 generated file: collapsed · renamed, 54% similar
D vendor/github.com/ebitengine/purego/syscall_sysv_others.go +0 -28 generated file: collapsed
R vendor/github.com/ebitengine/purego/syscall_sysv.go → vendor/github.com/ebitengine/purego/syscall_unix.go +53 -18 generated file: collapsed · renamed, 85% similar
M vendor/github.com/ebitengine/purego/syscall_windows.go +8 -0 generated file: collapsed
M vendor/modules.txt +2 -1 generated file: collapsed

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 102

↑↓ moveenter openesc close