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 Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· 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 | |||
| 3 | 3 | go 1.26.1 | |
| 4 | 4 | ||
| 5 | 5 | 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.1 | 3 | go 1.26.1 | ||
| 4 | 4 | ||||
| 5 | require github.com/ebitengine/purego v0.10.0 | 5 | 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 generated file: collapsed
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
| @@ -11,29 +11,24 @@ | |||
| 11 | 11 | // R23 is used as temporary register. | |
| 12 | 12 | ||
| 13 | 13 | TEXT x_cgo_init_trampoline(SB), NOSPLIT, $16 | |
| 14 | - | MOVV R4, 8(R3) | |
| 15 | - | MOVV R5, 16(R3) | |
| 16 | 14 | MOVV ·x_cgo_init_call(SB), R23 | |
| 17 | 15 | MOVV (R23), R23 | |
| 18 | 16 | CALL (R23) | |
| 19 | 17 | RET | |
| 20 | 18 | ||
| 21 | 19 | TEXT x_cgo_thread_start_trampoline(SB), NOSPLIT, $8 | |
| 22 | - | MOVV R4, 8(R3) | |
| 23 | 20 | MOVV ·x_cgo_thread_start_call(SB), R23 | |
| 24 | 21 | MOVV (R23), R23 | |
| 25 | 22 | CALL (R23) | |
| 26 | 23 | RET | |
| 27 | 24 | ||
| 28 | 25 | TEXT x_cgo_setenv_trampoline(SB), NOSPLIT, $8 | |
| 29 | - | MOVV R4, 8(R3) | |
| 30 | 26 | MOVV ·x_cgo_setenv_call(SB), R23 | |
| 31 | 27 | MOVV (R23), R23 | |
| 32 | 28 | CALL (R23) | |
| 33 | 29 | RET | |
| 34 | 30 | ||
| 35 | 31 | TEXT x_cgo_unsetenv_trampoline(SB), NOSPLIT, $8 | |
| 36 | - | MOVV R4, 8(R3) | |
| 37 | 32 | MOVV ·x_cgo_unsetenv_call(SB), R23 | |
| 38 | 33 | MOVV (R23), R23 | |
| 39 | 34 | CALL (R23) | |
| @@ -54,16 +49,14 @@ TEXT ·setg_trampoline(SB), NOSPLIT, $0 | |||
| 54 | 49 | CALL (R23) | |
| 55 | 50 | RET | |
| 56 | 51 | ||
| 57 | - | TEXT threadentry_trampoline(SB), NOSPLIT, $0 | |
| 52 | + | TEXT threadentry_trampoline(SB), NOSPLIT, $176 | |
| 58 | 53 | // See crosscall2. | |
| 59 | - | ADDV $(-23*8), R3 | |
| 60 | 54 | MOVV R4, (1*8)(R3) // fn unsafe.Pointer | |
| 61 | 55 | MOVV R5, (2*8)(R3) // a unsafe.Pointer | |
| 62 | 56 | MOVV R7, (3*8)(R3) // ctxt uintptr | |
| 63 | 57 | ||
| 64 | 58 | SAVE_R22_TO_R31((4*8)) | |
| 65 | 59 | SAVE_F24_TO_F31((14*8)) | |
| 66 | - | MOVV R1, (22*8)(R3) | |
| 67 | 60 | ||
| 68 | 61 | MOVV ·threadentry_call(SB), R23 | |
| 69 | 62 | MOVV (R23), R23 | |
| @@ -71,9 +64,6 @@ TEXT threadentry_trampoline(SB), NOSPLIT, $0 | |||
| 71 | 64 | ||
| 72 | 65 | RESTORE_R22_TO_R31((4*8)) | |
| 73 | 66 | RESTORE_F24_TO_F31((14*8)) | |
| 74 | - | MOVV (22*8)(R3), R1 | |
| 75 | - | ||
| 76 | - | ADDV $(23*8), R3 | |
| 77 | 67 | RET | |
| 78 | 68 | ||
| 79 | 69 | TEXT ·call5(SB), NOSPLIT, $0-0 | |
| @@ -11,29 +11,24 @@ | |||||
| 11 | // R23 is used as temporary register. | 11 | // R23 is used as temporary register. | ||
| 12 | 12 | ||||
| 13 | TEXT x_cgo_init_trampoline(SB), NOSPLIT, $16 | 13 | TEXT x_cgo_init_trampoline(SB), NOSPLIT, $16 | ||
| 14 | - | MOVV R4, 8(R3) | |||
| 15 | - | MOVV R5, 16(R3) | |||
| 16 | MOVV ·x_cgo_init_call(SB), R23 | 14 | MOVV ·x_cgo_init_call(SB), R23 | ||
| 17 | MOVV (R23), R23 | 15 | MOVV (R23), R23 | ||
| 18 | CALL (R23) | 16 | CALL (R23) | ||
| 19 | RET | 17 | RET | ||
| 20 | 18 | ||||
| 21 | TEXT x_cgo_thread_start_trampoline(SB), NOSPLIT, $8 | 19 | TEXT x_cgo_thread_start_trampoline(SB), NOSPLIT, $8 | ||
| 22 | - | MOVV R4, 8(R3) | |||
| 23 | MOVV ·x_cgo_thread_start_call(SB), R23 | 20 | MOVV ·x_cgo_thread_start_call(SB), R23 | ||
| 24 | MOVV (R23), R23 | 21 | MOVV (R23), R23 | ||
| 25 | CALL (R23) | 22 | CALL (R23) | ||
| 26 | RET | 23 | RET | ||
| 27 | 24 | ||||
| 28 | TEXT x_cgo_setenv_trampoline(SB), NOSPLIT, $8 | 25 | TEXT x_cgo_setenv_trampoline(SB), NOSPLIT, $8 | ||
| 29 | - | MOVV R4, 8(R3) | |||
| 30 | MOVV ·x_cgo_setenv_call(SB), R23 | 26 | MOVV ·x_cgo_setenv_call(SB), R23 | ||
| 31 | MOVV (R23), R23 | 27 | MOVV (R23), R23 | ||
| 32 | CALL (R23) | 28 | CALL (R23) | ||
| 33 | RET | 29 | RET | ||
| 34 | 30 | ||||
| 35 | TEXT x_cgo_unsetenv_trampoline(SB), NOSPLIT, $8 | 31 | TEXT x_cgo_unsetenv_trampoline(SB), NOSPLIT, $8 | ||
| 36 | - | MOVV R4, 8(R3) | |||
| 37 | MOVV ·x_cgo_unsetenv_call(SB), R23 | 32 | MOVV ·x_cgo_unsetenv_call(SB), R23 | ||
| 38 | MOVV (R23), R23 | 33 | MOVV (R23), R23 | ||
| 39 | CALL (R23) | 34 | CALL (R23) | ||
| @@ -54,16 +49,14 @@ TEXT ·setg_trampoline(SB), NOSPLIT, $0 | |||||
| 54 | CALL (R23) | 49 | CALL (R23) | ||
| 55 | RET | 50 | RET | ||
| 56 | 51 | ||||
| 57 | - | TEXT threadentry_trampoline(SB), NOSPLIT, $0 | 52 | + | TEXT threadentry_trampoline(SB), NOSPLIT, $176 |
| 58 | // See crosscall2. | 53 | // See crosscall2. | ||
| 59 | - | ADDV $(-23*8), R3 | |||
| 60 | MOVV R4, (1*8)(R3) // fn unsafe.Pointer | 54 | MOVV R4, (1*8)(R3) // fn unsafe.Pointer | ||
| 61 | MOVV R5, (2*8)(R3) // a unsafe.Pointer | 55 | MOVV R5, (2*8)(R3) // a unsafe.Pointer | ||
| 62 | MOVV R7, (3*8)(R3) // ctxt uintptr | 56 | MOVV R7, (3*8)(R3) // ctxt uintptr | ||
| 63 | 57 | ||||
| 64 | SAVE_R22_TO_R31((4*8)) | 58 | SAVE_R22_TO_R31((4*8)) | ||
| 65 | SAVE_F24_TO_F31((14*8)) | 59 | SAVE_F24_TO_F31((14*8)) | ||
| 66 | - | MOVV R1, (22*8)(R3) | |||
| 67 | 60 | ||||
| 68 | MOVV ·threadentry_call(SB), R23 | 61 | MOVV ·threadentry_call(SB), R23 | ||
| 69 | MOVV (R23), R23 | 62 | MOVV (R23), R23 | ||
| @@ -71,9 +64,6 @@ TEXT threadentry_trampoline(SB), NOSPLIT, $0 | |||||
| 71 | 64 | ||||
| 72 | RESTORE_R22_TO_R31((4*8)) | 65 | RESTORE_R22_TO_R31((4*8)) | ||
| 73 | RESTORE_F24_TO_F31((14*8)) | 66 | RESTORE_F24_TO_F31((14*8)) | ||
| 74 | - | MOVV (22*8)(R3), R1 | |||
| 75 | - | ||||
| 76 | - | ADDV $(23*8), R3 | |||
| 77 | RET | 67 | RET | ||
| 78 | 68 | ||||
| 79 | TEXT ·call5(SB), NOSPLIT, $0-0 | 69 | TEXT ·call5(SB), NOSPLIT, $0-0 | ||