OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.22.0
/
src
/
runtime
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
π
..
-
02/02/2024 06:09:55 PM
rwxr-xr-x
π
HACKING.md
13.85 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
Makefile
178 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
abi_test.go
2.83 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
alg.go
10.99 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
align_runtime_test.go
1.82 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
align_test.go
5.37 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
arena.go
31.66 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
arena_test.go
13.39 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asan
-
02/02/2024 06:09:55 PM
rwxr-xr-x
π
asan.go
1.55 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asan0.go
760 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
asan_amd64.s
2.45 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asan_arm64.s
2.14 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asan_loong64.s
2.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asan_ppc64le.s
2.75 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asan_riscv64.s
1.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asm.s
719 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_386.s
42.54 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_amd64.h
631 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_amd64.s
60.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_arm.s
31.58 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_arm64.s
43.33 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_loong64.s
27.58 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_mips64x.s
24.34 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_mipsx.s
25.82 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_ppc64x.h
1.93 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_ppc64x.s
45.19 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_riscv64.s
26.97 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_s390x.s
27.55 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
asm_wasm.s
11.82 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
atomic_arm64.s
259 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
atomic_loong64.s
245 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
atomic_mips64x.s
300 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
atomic_mipsx.s
262 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
atomic_pointer.go
3.66 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
atomic_ppc64x.s
437 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
atomic_riscv64.s
275 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
auxv_none.go
298 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
callers_test.go
12.13 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
cgo
-
02/02/2024 06:09:55 PM
rwxr-xr-x
π
cgo.go
2.5 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
cgo_mmap.go
2.42 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
cgo_ppc64x.go
418 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
cgo_sigaction.go
3.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
cgocall.go
23.23 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
cgocallback.go
317 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
cgocheck.go
7.97 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
chan.go
23.74 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
chan_test.go
23.44 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
chanbarrier_test.go
1.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
checkptr.go
3.29 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
checkptr_test.go
2.86 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
closure_test.go
937 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
compiler.go
410 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
complex.go
1.59 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
complex_test.go
1.05 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
conv_wasm_test.go
2.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
coro.go
4.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
coverage
-
02/02/2024 06:09:55 PM
rwxr-xr-x
π
covercounter.go
749 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
covermeta.go
2.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
cpuflags.go
810 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
cpuflags_amd64.go
533 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
cpuflags_arm64.go
312 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
cpuprof.go
7.94 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
cputicks.go
437 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
crash_cgo_test.go
23.35 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
crash_test.go
23.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
crash_unix_test.go
9.19 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
create_file_nounix.go
305 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
create_file_unix.go
368 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
debug
-
02/02/2024 06:09:55 PM
rwxr-xr-x
π
debug.go
3.53 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
debug_test.go
7.99 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
debugcall.go
6.75 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
debuglog.go
18.24 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
debuglog_off.go
357 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
debuglog_on.go
1.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
debuglog_test.go
4.9 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defer_test.go
11.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs1_linux.go
845 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
defs1_netbsd_386.go
2.91 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs1_netbsd_amd64.go
3.14 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs1_netbsd_arm.go
3.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs1_netbsd_arm64.go
3.25 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs1_solaris_amd64.go
4.01 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs2_linux.go
3.22 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs3_linux.go
1.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_aix.go
4.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_aix_ppc64.go
3.63 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_arm_linux.go
2.67 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_darwin.go
4.18 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_darwin_amd64.go
6.34 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_darwin_arm64.go
4.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_dragonfly.go
2.73 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_dragonfly_amd64.go
3.41 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_freebsd.go
3.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_freebsd_386.go
4.52 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_freebsd_amd64.go
4.79 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_freebsd_arm.go
3.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_freebsd_arm64.go
4.18 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_freebsd_riscv64.go
4.19 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_illumos_amd64.go
285 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_linux.go
2.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_linux_386.go
4.2 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_linux_amd64.go
4.7 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_linux_arm.go
3.89 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_linux_arm64.go
3.62 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_linux_loong64.go
3.43 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_linux_mips64x.go
3.6 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_linux_mipsx.go
3.6 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_linux_ppc64.go
3.69 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_linux_ppc64le.go
3.69 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_linux_riscv64.go
3.81 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_linux_s390x.go
3.16 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_netbsd.go
2.83 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_netbsd_386.go
855 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_netbsd_amd64.go
1.01 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_netbsd_arm.go
764 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_openbsd.go
3.06 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_openbsd_386.go
2.91 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_openbsd_amd64.go
3.11 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_openbsd_arm.go
3.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_openbsd_arm64.go
2.78 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_openbsd_mips64.go
2.75 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_openbsd_ppc64.go
3 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_openbsd_riscv64.go
2.89 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_plan9_386.go
1.63 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_plan9_amd64.go
1.82 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_plan9_arm.go
1.73 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_solaris.go
3.32 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_solaris_amd64.go
1004 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_windows.go
2.25 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_windows_386.go
2.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_windows_amd64.go
3.19 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_windows_arm.go
2.57 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
defs_windows_arm64.go
3.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
duff_386.s
8.24 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
duff_amd64.s
5.64 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
duff_arm.s
7.11 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
duff_arm64.s
5.27 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
duff_loong64.s
11.9 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
duff_mips64x.s
11.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
duff_ppc64x.s
7.06 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
duff_riscv64.s
11.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
duff_s390x.s
507 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
ehooks_test.go
2.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
env_plan9.go
3 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
env_posix.go
1.56 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
env_test.go
1.16 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
error.go
9.29 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
example_test.go
1.55 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
exithook.go
2.32 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
export_aix_test.go
207 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
export_arm_test.go
226 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
export_darwin_test.go
207 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
export_debug_amd64_test.go
3.6 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
export_debug_arm64_test.go
3.49 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
export_debug_ppc64le_test.go
3.5 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
export_debug_test.go
5.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
export_debuglog_test.go
1.27 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
export_linux_test.go
378 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
export_mmap_test.go
429 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
export_pipe2_test.go
310 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
export_pipe_test.go
219 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
export_test.go
50.52 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
export_unix_test.go
2.27 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
export_windows_test.go
903 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
extern.go
18.58 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
fastlog2.go
1.22 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
fastlog2_test.go
784 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
fastlog2table.go
904 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
fds_nonunix.go
256 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
fds_test.go
1.43 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
fds_unix.go
1.27 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
float.go
1.35 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
float_test.go
699 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
funcdata.h
2.53 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
gc_test.go
20.32 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
gcinfo_test.go
5.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
go_tls.h
366 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
hash32.go
1.58 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
hash64.go
1.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
hash_test.go
17.24 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
heap_test.go
529 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
heapdump.go
17.88 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
histogram.go
7.3 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
histogram_test.go
3.51 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
iface.go
20.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
iface_test.go
7.45 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
import_test.go
1.42 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
importx_test.go
763 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
internal
-
02/02/2024 06:09:55 PM
rwxr-xr-x
π
lfstack.go
2.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
lfstack_test.go
2.74 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
libfuzzer.go
6.34 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
libfuzzer_amd64.s
5.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
libfuzzer_arm64.s
3.15 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
lock_futex.go
5.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
lock_js.go
7.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
lock_sema.go
6.75 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
lock_wasip1.go
2.01 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
lockrank.go
18.19 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
lockrank_off.go
1.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
lockrank_on.go
10.27 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
lockrank_test.go
856 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
malloc.go
58.5 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
malloc_test.go
10.64 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
map.go
52.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
map_benchmark_test.go
10.59 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
map_fast32.go
12.74 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
map_fast64.go
12.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
map_faststr.go
14.32 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
map_test.go
31.75 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mbarrier.go
13.78 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mbitmap.go
22.54 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mbitmap_allocheaders.go
44.67 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mbitmap_noallocheaders.go
28.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mcache.go
10 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mcentral.go
8.05 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mcheckmark.go
2.85 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mem.go
6.72 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mem_aix.go
2.01 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mem_bsd.go
2.21 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mem_darwin.go
1.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mem_js.go
457 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
mem_linux.go
4.98 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mem_plan9.go
447 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
mem_sbrk.go
4.19 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mem_wasip1.go
392 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
mem_wasm.go
488 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
mem_windows.go
3.88 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_386.s
2.38 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_amd64.s
4.91 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_arm.s
2.6 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_arm64.s
3.62 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_loong64.s
843 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_mips64x.s
1.72 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_mipsx.s
1.32 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_plan9_386.s
983 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_plan9_amd64.s
511 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_ppc64x.s
4.44 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_riscv64.s
1.71 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_s390x.s
1.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memclr_wasm.s
485 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_386.s
4.42 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_amd64.s
12.48 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_arm.s
5.9 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_arm64.s
5.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_linux_amd64_test.go
1.53 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_loong64.s
1.87 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_mips64x.s
1.83 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_mipsx.s
4.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_plan9_386.s
3.06 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_plan9_amd64.s
3.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_ppc64x.s
4.91 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_riscv64.s
5.46 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_s390x.s
2.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_test.go
21.23 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
memmove_wasm.s
479 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
metrics
-
02/02/2024 06:09:55 PM
rwxr-xr-x
π
metrics.go
26.01 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
metrics_test.go
42.46 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mfinal.go
18.91 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mfinal_test.go
5.57 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mfixalloc.go
3.13 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mgc.go
59.29 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mgclimit.go
17.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mgclimit_test.go
9.02 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mgcmark.go
53.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mgcpacer.go
55.36 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mgcpacer_test.go
39.26 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mgcscavenge.go
52.32 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mgcscavenge_test.go
25.2 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mgcstack.go
10.58 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mgcsweep.go
32.26 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mgcwork.go
12.89 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mheap.go
72.64 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
minmax.go
1.46 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
minmax_test.go
3.31 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mkduff.go
8.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mkfastlog2table.go
3.08 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mklockrank.go
9 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mkpreempt.go
15.33 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mksizeclasses.go
9.52 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mmap.go
844 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
mpagealloc.go
39.23 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mpagealloc_32bit.go
4.56 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mpagealloc_64bit.go
9.34 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mpagealloc_test.go
32.59 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mpagecache.go
5.59 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mpagecache_test.go
10.79 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mpallocbits.go
12.58 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mpallocbits_test.go
13.69 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mprof.go
47.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mranges.go
14.46 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mranges_test.go
5.68 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
msan
-
02/02/2024 06:09:55 PM
rwxr-xr-x
π
msan.go
1.5 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
msan0.go
725 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
msan_amd64.s
2.3 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
msan_arm64.s
1.98 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
msan_loong64.s
1.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
msize_allocheaders.go
1.32 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
msize_noallocheaders.go
915 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
mspanset.go
13.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mstats.go
33.81 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
mwbbuf.go
8.13 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
nbpipe_pipe.go
405 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
nbpipe_pipe2.go
344 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
nbpipe_pipe_test.go
706 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
nbpipe_test.go
1.99 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
net_plan9.go
645 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
netpoll.go
20.55 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
netpoll_aix.go
5.06 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
netpoll_epoll.go
4.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
netpoll_fake.go
664 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
netpoll_kqueue.go
5.62 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
netpoll_os_test.go
520 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
netpoll_solaris.go
11.2 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
netpoll_stub.go
1.48 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
netpoll_wasip1.go
6.08 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
netpoll_windows.go
4.01 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
nonwindows_stub.go
729 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
norace_linux_test.go
915 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
norace_test.go
983 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
numcpu_freebsd_test.go
381 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os2_aix.go
20.88 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os2_freebsd.go
302 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os2_openbsd.go
296 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os2_plan9.go
1.48 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os2_solaris.go
320 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os3_plan9.go
3.94 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os3_solaris.go
17.59 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_aix.go
8.89 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_android.go
463 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_darwin.go
11.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_darwin_arm64.go
329 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_dragonfly.go
7.14 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_freebsd.go
11.64 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_freebsd2.go
603 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_freebsd_amd64.go
658 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_freebsd_arm.go
1.45 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_freebsd_arm64.go
320 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_freebsd_noauxv.go
241 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_freebsd_riscv64.go
198 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_illumos.go
3.93 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_js.go
767 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux.go
25.71 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_arm.go
1.51 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_arm64.go
478 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_be64.go
806 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_generic.go
870 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_loong64.go
263 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_mips64x.go
996 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_mipsx.go
987 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_noauxv.go
337 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_novdso.go
347 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_ppc64x.go
526 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_riscv64.go
198 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_s390x.go
825 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_linux_x86.go
234 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_netbsd.go
10.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_netbsd_386.go
617 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_netbsd_amd64.go
614 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_netbsd_arm.go
1.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_netbsd_arm64.go
769 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_nonopenbsd.go
437 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_only_solaris.go
357 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_openbsd.go
6.23 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_openbsd_arm.go
662 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_openbsd_arm64.go
329 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_openbsd_libc.go
1.49 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_openbsd_mips64.go
329 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_openbsd_syscall.go
1.36 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_openbsd_syscall1.go
441 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_openbsd_syscall2.go
2.51 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_plan9.go
10.18 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_plan9_arm.go
375 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_solaris.go
6.62 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_unix.go
436 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_unix_nonlinux.go
374 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_wasip1.go
7 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_wasm.go
3.15 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_windows.go
41.39 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
os_windows_arm.go
511 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
os_windows_arm64.go
339 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
pagetrace_off.go
550 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
pagetrace_on.go
10.36 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
panic.go
41.85 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
panic32.go
4.8 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
panic_test.go
1.71 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
panicnil_test.go
1.25 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
pinner.go
10.98 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
pinner_test.go
11.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
plugin.go
4.37 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
pprof
-
02/02/2024 06:09:55 PM
rwxr-xr-x
π
preempt.go
15.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
preempt_386.s
824 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
preempt_amd64.s
1.67 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
preempt_arm.s
1.49 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
preempt_arm64.s
1.97 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
preempt_loong64.s
2.41 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
preempt_mips64x.s
2.72 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
preempt_mipsx.s
2.68 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
preempt_nonwindows.go
290 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
preempt_ppc64x.s
2.72 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
preempt_riscv64.s
2.26 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
preempt_s390x.s
1.01 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
preempt_wasm.s
176 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
print.go
5.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
proc.go
204.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
proc_runtime_test.go
1.38 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
proc_test.go
25.85 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
profbuf.go
18.26 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
profbuf_test.go
8.54 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
proflabel.go
1.52 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
race
-
02/02/2024 06:09:55 PM
rwxr-xr-x
π
race.go
18.81 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
race0.go
2.79 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
race_amd64.s
13.94 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
race_arm64.s
14.21 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
race_ppc64le.s
15.93 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
race_s390x.s
11.99 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rand.go
7.11 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rand_test.go
1.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rdebug.go
550 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
retry.go
760 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_aix_ppc64.s
4.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_android_386.s
822 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_android_amd64.s
754 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_android_arm.s
843 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_android_arm64.s
941 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_darwin_amd64.s
399 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_darwin_arm64.s
1.69 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_dragonfly_amd64.s
448 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_freebsd_386.s
454 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_freebsd_amd64.s
442 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_freebsd_arm.s
298 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_freebsd_arm64.s
1.88 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_freebsd_riscv64.s
2.72 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_illumos_amd64.s
311 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_ios_amd64.s
425 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_ios_arm64.s
425 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_js_wasm.s
1.53 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_linux_386.s
450 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_linux_amd64.s
307 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_linux_arm.s
1007 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_linux_arm64.s
1.81 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_linux_loong64.s
2.01 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_linux_mips64x.s
1014 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_linux_mipsx.s
797 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_linux_ppc64.s
847 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_linux_ppc64le.s
2.89 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_linux_riscv64.s
2.65 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_linux_s390x.s
676 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_netbsd_386.s
452 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_netbsd_amd64.s
309 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_netbsd_arm.s
296 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_netbsd_arm64.s
1.8 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_openbsd_386.s
454 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_openbsd_amd64.s
311 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_openbsd_arm.s
298 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_openbsd_arm64.s
1.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_openbsd_mips64.s
976 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_openbsd_ppc64.s
370 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_openbsd_riscv64.s
372 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_plan9_386.s
523 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_plan9_amd64.s
481 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_plan9_arm.s
397 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_solaris_amd64.s
311 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_wasip1_wasm.s
387 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_windows_386.s
1.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_windows_amd64.s
1.14 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_windows_arm.s
386 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
rt0_windows_arm64.s
733 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime-gdb.py
15.44 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime-gdb_test.go
24.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime-gdb_unix_test.go
9.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime-lldb_test.go
4.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime-seh_windows_test.go
4.7 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime.go
7.1 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime1.go
16.66 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime2.go
46.16 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime_boring.go
606 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime_linux_test.go
1.77 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime_mmap_test.go
1.77 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime_test.go
11.81 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
runtime_unix_test.go
1.22 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rwmutex.go
5 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
rwmutex_test.go
4.21 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
security_aix.go
449 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
security_issetugid.go
502 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
security_linux.go
335 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
security_nonunix.go
256 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
security_test.go
4.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
security_unix.go
818 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
select.go
14.82 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sema.go
18.43 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sema_test.go
4.21 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
semasleep_test.go
3.46 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sigaction.go
489 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_386.go
1.72 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_aix_ppc64.go
3.54 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_amd64.go
2.73 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_arm.go
2.54 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_arm64.go
3.83 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_darwin.go
2.13 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_darwin_amd64.go
4 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_darwin_arm64.go
3.6 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_dragonfly.go
2.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_dragonfly_amd64.go
2.01 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_freebsd.go
2.2 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_freebsd_386.go
1.55 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_freebsd_amd64.go
2.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_freebsd_arm.go
2.18 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_freebsd_arm64.go
3.24 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_freebsd_riscv64.go
3.08 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_linux_386.go
1.59 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_linux_amd64.go
2.05 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_linux_arm.go
2.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_linux_arm64.go
2.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_linux_loong64.go
3.22 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_linux_mips64x.go
3.35 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_linux_mipsx.go
3.67 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_linux_ppc64x.go
3.5 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_linux_riscv64.go
2.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_linux_s390x.go
4.49 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_loong64.go
3.01 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_mips64x.go
3.18 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_mipsx.go
3.06 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_netbsd.go
2.18 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_netbsd_386.go
1.76 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_netbsd_amd64.go
2.33 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_netbsd_arm.go
2.3 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_netbsd_arm64.go
3.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_openbsd.go
2.18 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_openbsd_386.go
1.58 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_openbsd_amd64.go
2.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_openbsd_arm.go
2.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_openbsd_arm64.go
3.39 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_openbsd_mips64.go
3.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_openbsd_ppc64.go
3.53 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_openbsd_riscv64.go
3.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_plan9.go
1.93 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_ppc64x.go
3.71 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_riscv64.go
2.91 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_solaris.go
4.5 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_solaris_amd64.go
2.47 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_unix.go
44.11 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_windows.go
14.48 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
signal_windows_test.go
8.98 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sigqueue.go
7.62 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sigqueue_note.go
648 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
sigqueue_plan9.go
3.25 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sigtab_aix.go
11.3 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sigtab_linux_generic.go
3.52 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sigtab_linux_mipsx.go
5.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sizeclasses.go
9.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sizeof_test.go
1003 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
slice.go
11.23 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
slice_test.go
10.32 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
softfloat64.go
11.54 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
softfloat64_test.go
4.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
stack.go
40.02 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
stack_test.go
23.14 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
start_line_amd64_test.go
647 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
start_line_test.go
2.58 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
stkframe.go
9.88 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
string.go
13.35 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
string_test.go
13.33 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs.go
17.39 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs2.go
1.15 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs3.go
324 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_386.go
708 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_amd64.go
1.38 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_arm.go
689 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_arm64.go
700 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_linux.go
650 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_loong64.go
638 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_mips64x.go
522 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_mipsx.go
441 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_nonlinux.go
298 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_ppc64.go
302 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_ppc64x.go
688 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_riscv64.go
695 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
stubs_s390x.go
414 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
symtab.go
34.76 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
symtab_test.go
7.48 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
symtabinl.go
3.81 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
symtabinl_test.go
2.97 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_aix_ppc64.s
7.42 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_arm.go
521 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_arm64.go
469 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_darwin.go
22.56 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_darwin_amd64.s
19.65 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_darwin_arm64.go
1.74 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_darwin_arm64.s
18.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_dragonfly_amd64.s
8.31 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_freebsd_386.s
9.41 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_freebsd_amd64.s
12.67 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_freebsd_arm.s
10.38 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_freebsd_arm64.s
9.49 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_freebsd_riscv64.s
8.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_libc.go
1.84 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_linux_386.s
17.89 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_linux_amd64.s
15.74 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_linux_arm.s
13.5 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_linux_arm64.s
16.71 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_linux_loong64.s
14.16 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_linux_mips64x.s
11.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_linux_mipsx.s
9.69 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_linux_ppc64x.s
18.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_linux_riscv64.s
11.48 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_linux_s390x.s
12.49 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_loong64.go
489 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_mips64x.go
500 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_mipsx.go
496 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_netbsd_386.s
9.61 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_netbsd_amd64.s
9.78 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_netbsd_arm.s
10.58 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_netbsd_arm64.s
9.47 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_nonppc64x.go
245 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_openbsd.go
2.59 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_openbsd1.go
1.23 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_openbsd2.go
8.67 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_openbsd3.go
3.37 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_openbsd_386.s
20.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_openbsd_amd64.s
15.54 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_openbsd_arm.s
18.46 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_openbsd_arm64.s
15.05 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_openbsd_mips64.s
8.81 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_openbsd_ppc64.s
15.3 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_openbsd_riscv64.s
16.8 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_plan9_386.s
4.48 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_plan9_amd64.s
4.56 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_plan9_arm.s
7.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_ppc64x.go
532 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_riscv64.go
469 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_s390x.go
469 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_solaris_amd64.s
6.42 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_wasm.go
758 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_wasm.s
1.43 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_windows_386.s
6.46 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_windows_amd64.s
8.41 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_windows_arm.s
7.72 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_windows_arm64.s
6.8 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
sys_x86.go
552 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
syscall2_solaris.go
1.85 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
syscall_aix.go
6.33 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
syscall_solaris.go
8.38 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
syscall_unix_test.go
635 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
syscall_windows.go
16.57 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
syscall_windows_test.go
32.45 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
tagptr.go
496 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
tagptr_32bit.go
927 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
tagptr_64bit.go
3.23 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
test_amd64.go
196 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
test_amd64.s
316 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
test_stubs.go
218 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
testdata
-
02/02/2024 06:09:55 PM
rwxr-xr-x
π
textflag.h
1.47 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
time.go
30.57 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
time_fake.go
2.5 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
time_linux_amd64.s
2.02 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
time_nofake.go
709 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
time_test.go
2.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
time_windows.h
753 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
time_windows_386.s
1.71 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
time_windows_amd64.s
786 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
time_windows_arm.s
1.97 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
time_windows_arm64.s
906 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
timeasm.go
418 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
timestub.go
532 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
timestub2.go
363 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
tls_arm.s
3.45 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
tls_arm64.h
1.1 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
tls_arm64.s
1.2 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
tls_loong64.s
589 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
tls_mips64x.s
733 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
tls_mipsx.s
710 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
tls_ppc64x.s
1.52 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
tls_riscv64.s
615 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
tls_s390x.s
1.55 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
tls_stub.go
260 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
tls_windows_amd64.go
294 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
trace
-
02/02/2024 06:09:55 PM
rwxr-xr-x
π
trace.go
62.76 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
trace2.go
33.81 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
trace2buf.go
6.58 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
trace2cpu.go
8.87 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
trace2event.go
8.39 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
trace2map.go
4.36 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
trace2region.go
1.68 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
trace2runtime.go
24.2 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
trace2stack.go
9.45 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
trace2status.go
7.24 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
trace2string.go
2.59 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
trace2time.go
3.21 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
trace_cgo_test.go
4.47 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
traceback.go
54.61 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
traceback_test.go
22.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
tracebackx_test.go
509 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
type.go
12.1 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
typekind.go
743 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
unsafe.go
2.97 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
unsafepoint_test.go
3.27 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
utf8.go
3.39 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_elf32.go
2.76 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_elf64.go
2.84 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_freebsd.go
2.44 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_freebsd_arm.go
454 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_freebsd_arm64.go
454 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_freebsd_riscv64.go
429 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_freebsd_x86.go
1.86 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_in_none.go
443 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_linux.go
7.77 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_linux_386.go
669 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_linux_amd64.go
685 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_linux_arm.go
669 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_linux_arm64.go
670 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_linux_loong64.go
793 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_linux_mips64x.go
850 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_linux_ppc64x.go
672 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_linux_riscv64.go
666 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_linux_s390x.go
659 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
vdso_test.go
3.71 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
vlop_386.s
2.02 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
vlop_arm.s
7.06 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
vlop_arm_test.go
3.75 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
vlrt.go
6.71 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
wincallback.go
3.45 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
write_err.go
291 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
write_err_android.go
4.65 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
zcallback_windows.go
155 bytes
02/02/2024 06:09:55 PM
rw-r--r--
π
zcallback_windows.s
63.06 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
zcallback_windows_arm.s
89.32 KB
02/02/2024 06:09:55 PM
rw-r--r--
π
zcallback_windows_arm64.s
89.32 KB
02/02/2024 06:09:55 PM
rw-r--r--
Editing: runtime-gdb_test.go
Close
// Copyright 2015 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package runtime_test import ( "bytes" "flag" "fmt" "internal/abi" "internal/testenv" "os" "os/exec" "path/filepath" "regexp" "runtime" "strconv" "strings" "testing" "time" ) // NOTE: In some configurations, GDB will segfault when sent a SIGWINCH signal. // Some runtime tests send SIGWINCH to the entire process group, so those tests // must never run in parallel with GDB tests. // // See issue 39021 and https://sourceware.org/bugzilla/show_bug.cgi?id=26056. func checkGdbEnvironment(t *testing.T) { testenv.MustHaveGoBuild(t) switch runtime.GOOS { case "darwin": t.Skip("gdb does not work on darwin") case "netbsd": t.Skip("gdb does not work with threads on NetBSD; see https://golang.org/issue/22893 and https://gnats.netbsd.org/52548") case "linux": if runtime.GOARCH == "ppc64" { t.Skip("skipping gdb tests on linux/ppc64; see https://golang.org/issue/17366") } if runtime.GOARCH == "mips" { t.Skip("skipping gdb tests on linux/mips; see https://golang.org/issue/25939") } // Disable GDB tests on alpine until issue #54352 resolved. if strings.HasSuffix(testenv.Builder(), "-alpine") { t.Skip("skipping gdb tests on alpine; see https://golang.org/issue/54352") } case "freebsd": t.Skip("skipping gdb tests on FreeBSD; see https://golang.org/issue/29508") case "aix": if testing.Short() { t.Skip("skipping gdb tests on AIX; see https://golang.org/issue/35710") } case "plan9": t.Skip("there is no gdb on Plan 9") } if final := os.Getenv("GOROOT_FINAL"); final != "" && testenv.GOROOT(t) != final { t.Skip("gdb test can fail with GOROOT_FINAL pending") } } func checkGdbVersion(t *testing.T) { // Issue 11214 reports various failures with older versions of gdb. out, err := exec.Command("gdb", "--version").CombinedOutput() if err != nil { t.Skipf("skipping: error executing gdb: %v", err) } re := regexp.MustCompile(`([0-9]+)\.([0-9]+)`) matches := re.FindSubmatch(out) if len(matches) < 3 { t.Skipf("skipping: can't determine gdb version from\n%s\n", out) } major, err1 := strconv.Atoi(string(matches[1])) minor, err2 := strconv.Atoi(string(matches[2])) if err1 != nil || err2 != nil { t.Skipf("skipping: can't determine gdb version: %v, %v", err1, err2) } if major < 7 || (major == 7 && minor < 7) { t.Skipf("skipping: gdb version %d.%d too old", major, minor) } t.Logf("gdb version %d.%d", major, minor) } func checkGdbPython(t *testing.T) { if runtime.GOOS == "solaris" || runtime.GOOS == "illumos" { t.Skip("skipping gdb python tests on illumos and solaris; see golang.org/issue/20821") } args := []string{"-nx", "-q", "--batch", "-iex", "python import sys; print('go gdb python support')"} gdbArgsFixup(args) cmd := exec.Command("gdb", args...) out, err := cmd.CombinedOutput() if err != nil { t.Skipf("skipping due to issue running gdb: %v", err) } if strings.TrimSpace(string(out)) != "go gdb python support" { t.Skipf("skipping due to lack of python gdb support: %s", out) } } // checkCleanBacktrace checks that the given backtrace is well formed and does // not contain any error messages from GDB. func checkCleanBacktrace(t *testing.T, backtrace string) { backtrace = strings.TrimSpace(backtrace) lines := strings.Split(backtrace, "\n") if len(lines) == 0 { t.Fatalf("empty backtrace") } for i, l := range lines { if !strings.HasPrefix(l, fmt.Sprintf("#%v ", i)) { t.Fatalf("malformed backtrace at line %v: %v", i, l) } } // TODO(mundaym): check for unknown frames (e.g. "??"). } // NOTE: the maps below are allocated larger than abi.MapBucketCount // to ensure that they are not "optimized out". var helloSource = ` import "fmt" import "runtime" var gslice []string func main() { mapvar := make(map[string]string, ` + strconv.FormatInt(abi.MapBucketCount+9, 10) + `) slicemap := make(map[string][]string,` + strconv.FormatInt(abi.MapBucketCount+3, 10) + `) chanint := make(chan int, 10) chanstr := make(chan string, 10) chanint <- 99 chanint <- 11 chanstr <- "spongepants" chanstr <- "squarebob" mapvar["abc"] = "def" mapvar["ghi"] = "jkl" slicemap["a"] = []string{"b","c","d"} slicemap["e"] = []string{"f","g","h"} strvar := "abc" ptrvar := &strvar slicevar := make([]string, 0, 16) slicevar = append(slicevar, mapvar["abc"]) fmt.Println("hi") runtime.KeepAlive(ptrvar) _ = ptrvar // set breakpoint here gslice = slicevar fmt.Printf("%v, %v, %v\n", slicemap, <-chanint, <-chanstr) runtime.KeepAlive(mapvar) } // END_OF_PROGRAM ` func lastLine(src []byte) int { eop := []byte("END_OF_PROGRAM") for i, l := range bytes.Split(src, []byte("\n")) { if bytes.Contains(l, eop) { return i } } return 0 } func gdbArgsFixup(args []string) { if runtime.GOOS != "windows" { return } // On Windows, some gdb flavors expect -ex and -iex arguments // containing spaces to be double quoted. var quote bool for i, arg := range args { if arg == "-iex" || arg == "-ex" { quote = true } else if quote { if strings.ContainsRune(arg, ' ') { args[i] = `"` + arg + `"` } quote = false } } } func TestGdbPython(t *testing.T) { testGdbPython(t, false) } func TestGdbPythonCgo(t *testing.T) { if strings.HasPrefix(runtime.GOARCH, "mips") { testenv.SkipFlaky(t, 37794) } testGdbPython(t, true) } func testGdbPython(t *testing.T, cgo bool) { if cgo { testenv.MustHaveCGO(t) } checkGdbEnvironment(t) t.Parallel() checkGdbVersion(t) checkGdbPython(t) dir := t.TempDir() var buf bytes.Buffer buf.WriteString("package main\n") if cgo { buf.WriteString(`import "C"` + "\n") } buf.WriteString(helloSource) src := buf.Bytes() // Locate breakpoint line var bp int lines := bytes.Split(src, []byte("\n")) for i, line := range lines { if bytes.Contains(line, []byte("breakpoint")) { bp = i break } } err := os.WriteFile(filepath.Join(dir, "main.go"), src, 0644) if err != nil { t.Fatalf("failed to create file: %v", err) } nLines := lastLine(src) cmd := exec.Command(testenv.GoToolPath(t), "build", "-o", "a.exe", "main.go") cmd.Dir = dir out, err := testenv.CleanCmdEnv(cmd).CombinedOutput() if err != nil { t.Fatalf("building source %v\n%s", err, out) } args := []string{"-nx", "-q", "--batch", "-iex", "add-auto-load-safe-path " + filepath.Join(testenv.GOROOT(t), "src", "runtime"), "-ex", "set startup-with-shell off", "-ex", "set print thread-events off", } if cgo { // When we build the cgo version of the program, the system's // linker is used. Some external linkers, like GNU gold, // compress the .debug_gdb_scripts into .zdebug_gdb_scripts. // Until gold and gdb can work together, temporarily load the // python script directly. args = append(args, "-ex", "source "+filepath.Join(testenv.GOROOT(t), "src", "runtime", "runtime-gdb.py"), ) } else { args = append(args, "-ex", "info auto-load python-scripts", ) } args = append(args, "-ex", "set python print-stack full", "-ex", fmt.Sprintf("br main.go:%d", bp), "-ex", "run", "-ex", "echo BEGIN info goroutines\n", "-ex", "info goroutines", "-ex", "echo END\n", "-ex", "echo BEGIN print mapvar\n", "-ex", "print mapvar", "-ex", "echo END\n", "-ex", "echo BEGIN print slicemap\n", "-ex", "print slicemap", "-ex", "echo END\n", "-ex", "echo BEGIN print strvar\n", "-ex", "print strvar", "-ex", "echo END\n", "-ex", "echo BEGIN print chanint\n", "-ex", "print chanint", "-ex", "echo END\n", "-ex", "echo BEGIN print chanstr\n", "-ex", "print chanstr", "-ex", "echo END\n", "-ex", "echo BEGIN info locals\n", "-ex", "info locals", "-ex", "echo END\n", "-ex", "echo BEGIN goroutine 1 bt\n", "-ex", "goroutine 1 bt", "-ex", "echo END\n", "-ex", "echo BEGIN goroutine all bt\n", "-ex", "goroutine all bt", "-ex", "echo END\n", "-ex", "clear main.go:15", // clear the previous break point "-ex", fmt.Sprintf("br main.go:%d", nLines), // new break point at the end of main "-ex", "c", "-ex", "echo BEGIN goroutine 1 bt at the end\n", "-ex", "goroutine 1 bt", "-ex", "echo END\n", filepath.Join(dir, "a.exe"), ) gdbArgsFixup(args) got, err := exec.Command("gdb", args...).CombinedOutput() t.Logf("gdb output:\n%s", got) if err != nil { t.Fatalf("gdb exited with error: %v", err) } got = bytes.ReplaceAll(got, []byte("\r\n"), []byte("\n")) // normalize line endings firstLine, _, _ := bytes.Cut(got, []byte("\n")) if string(firstLine) != "Loading Go Runtime support." { // This can happen when using all.bash with // GOROOT_FINAL set, because the tests are run before // the final installation of the files. cmd := exec.Command(testenv.GoToolPath(t), "env", "GOROOT") cmd.Env = []string{} out, err := cmd.CombinedOutput() if err != nil && bytes.Contains(out, []byte("cannot find GOROOT")) { t.Skipf("skipping because GOROOT=%s does not exist", testenv.GOROOT(t)) } _, file, _, _ := runtime.Caller(1) t.Logf("package testing source file: %s", file) t.Fatalf("failed to load Go runtime support: %s\n%s", firstLine, got) } // Extract named BEGIN...END blocks from output partRe := regexp.MustCompile(`(?ms)^BEGIN ([^\n]*)\n(.*?)\nEND`) blocks := map[string]string{} for _, subs := range partRe.FindAllSubmatch(got, -1) { blocks[string(subs[1])] = string(subs[2]) } infoGoroutinesRe := regexp.MustCompile(`\*\s+\d+\s+running\s+`) if bl := blocks["info goroutines"]; !infoGoroutinesRe.MatchString(bl) { t.Fatalf("info goroutines failed: %s", bl) } printMapvarRe1 := regexp.MustCompile(`^\$[0-9]+ = map\[string\]string = {\[(0x[0-9a-f]+\s+)?"abc"\] = (0x[0-9a-f]+\s+)?"def", \[(0x[0-9a-f]+\s+)?"ghi"\] = (0x[0-9a-f]+\s+)?"jkl"}$`) printMapvarRe2 := regexp.MustCompile(`^\$[0-9]+ = map\[string\]string = {\[(0x[0-9a-f]+\s+)?"ghi"\] = (0x[0-9a-f]+\s+)?"jkl", \[(0x[0-9a-f]+\s+)?"abc"\] = (0x[0-9a-f]+\s+)?"def"}$`) if bl := blocks["print mapvar"]; !printMapvarRe1.MatchString(bl) && !printMapvarRe2.MatchString(bl) { t.Fatalf("print mapvar failed: %s", bl) } // 2 orders, and possible differences in spacing. sliceMapSfx1 := `map[string][]string = {["e"] = []string = {"f", "g", "h"}, ["a"] = []string = {"b", "c", "d"}}` sliceMapSfx2 := `map[string][]string = {["a"] = []string = {"b", "c", "d"}, ["e"] = []string = {"f", "g", "h"}}` if bl := strings.ReplaceAll(blocks["print slicemap"], " ", " "); !strings.HasSuffix(bl, sliceMapSfx1) && !strings.HasSuffix(bl, sliceMapSfx2) { t.Fatalf("print slicemap failed: %s", bl) } chanIntSfx := `chan int = {99, 11}` if bl := strings.ReplaceAll(blocks["print chanint"], " ", " "); !strings.HasSuffix(bl, chanIntSfx) { t.Fatalf("print chanint failed: %s", bl) } chanStrSfx := `chan string = {"spongepants", "squarebob"}` if bl := strings.ReplaceAll(blocks["print chanstr"], " ", " "); !strings.HasSuffix(bl, chanStrSfx) { t.Fatalf("print chanstr failed: %s", bl) } strVarRe := regexp.MustCompile(`^\$[0-9]+ = (0x[0-9a-f]+\s+)?"abc"$`) if bl := blocks["print strvar"]; !strVarRe.MatchString(bl) { t.Fatalf("print strvar failed: %s", bl) } // The exact format of composite values has changed over time. // For issue 16338: ssa decompose phase split a slice into // a collection of scalar vars holding its fields. In such cases // the DWARF variable location expression should be of the // form "var.field" and not just "field". // However, the newer dwarf location list code reconstituted // aggregates from their fields and reverted their printing // back to its original form. // Only test that all variables are listed in 'info locals' since // different versions of gdb print variables in different // order and with differing amount of information and formats. if bl := blocks["info locals"]; !strings.Contains(bl, "slicevar") || !strings.Contains(bl, "mapvar") || !strings.Contains(bl, "strvar") { t.Fatalf("info locals failed: %s", bl) } // Check that the backtraces are well formed. checkCleanBacktrace(t, blocks["goroutine 1 bt"]) checkCleanBacktrace(t, blocks["goroutine 1 bt at the end"]) btGoroutine1Re := regexp.MustCompile(`(?m)^#0\s+(0x[0-9a-f]+\s+in\s+)?main\.main.+at`) if bl := blocks["goroutine 1 bt"]; !btGoroutine1Re.MatchString(bl) { t.Fatalf("goroutine 1 bt failed: %s", bl) } if bl := blocks["goroutine all bt"]; !btGoroutine1Re.MatchString(bl) { t.Fatalf("goroutine all bt failed: %s", bl) } btGoroutine1AtTheEndRe := regexp.MustCompile(`(?m)^#0\s+(0x[0-9a-f]+\s+in\s+)?main\.main.+at`) if bl := blocks["goroutine 1 bt at the end"]; !btGoroutine1AtTheEndRe.MatchString(bl) { t.Fatalf("goroutine 1 bt at the end failed: %s", bl) } } const backtraceSource = ` package main //go:noinline func aaa() bool { return bbb() } //go:noinline func bbb() bool { return ccc() } //go:noinline func ccc() bool { return ddd() } //go:noinline func ddd() bool { return f() } //go:noinline func eee() bool { return true } var f = eee func main() { _ = aaa() } ` // TestGdbBacktrace tests that gdb can unwind the stack correctly // using only the DWARF debug info. func TestGdbBacktrace(t *testing.T) { if runtime.GOOS == "netbsd" { testenv.SkipFlaky(t, 15603) } if flag.Lookup("test.parallel").Value.(flag.Getter).Get().(int) < 2 { // It is possible that this test will hang for a long time due to an // apparent GDB bug reported in https://go.dev/issue/37405. // If test parallelism is high enough, that might be ok: the other parallel // tests will finish, and then this test will finish right before it would // time out. However, if test are running sequentially, a hang in this test // would likely cause the remaining tests to run out of time. testenv.SkipFlaky(t, 37405) } checkGdbEnvironment(t) t.Parallel() checkGdbVersion(t) dir := t.TempDir() // Build the source code. src := filepath.Join(dir, "main.go") err := os.WriteFile(src, []byte(backtraceSource), 0644) if err != nil { t.Fatalf("failed to create file: %v", err) } cmd := exec.Command(testenv.GoToolPath(t), "build", "-o", "a.exe", "main.go") cmd.Dir = dir out, err := testenv.CleanCmdEnv(cmd).CombinedOutput() if err != nil { t.Fatalf("building source %v\n%s", err, out) } // Execute gdb commands. start := time.Now() args := []string{"-nx", "-batch", "-iex", "add-auto-load-safe-path " + filepath.Join(testenv.GOROOT(t), "src", "runtime"), "-ex", "set startup-with-shell off", "-ex", "break main.eee", "-ex", "run", "-ex", "backtrace", "-ex", "continue", filepath.Join(dir, "a.exe"), } gdbArgsFixup(args) cmd = testenv.Command(t, "gdb", args...) // Work around the GDB hang reported in https://go.dev/issue/37405. // Sometimes (rarely), the GDB process hangs completely when the Go program // exits, and we suspect that the bug is on the GDB side. // // The default Cancel function added by testenv.Command will mark the test as // failed if it is in danger of timing out, but we want to instead mark it as // skipped. Change the Cancel function to kill the process and merely log // instead of failing the test. // // (This approach does not scale: if the test parallelism is less than or // equal to the number of tests that run right up to the deadline, then the // remaining parallel tests are likely to time out. But as long as it's just // this one flaky test, it's probably fine..?) // // If there is no deadline set on the test at all, relying on the timeout set // by testenv.Command will cause the test to hang indefinitely, but that's // what βno deadlineβ means, after all β and it's probably the right behavior // anyway if someone is trying to investigate and fix the GDB bug. cmd.Cancel = func() error { t.Logf("GDB command timed out after %v: %v", time.Since(start), cmd) return cmd.Process.Kill() } got, err := cmd.CombinedOutput() t.Logf("gdb output:\n%s", got) if err != nil { switch { case bytes.Contains(got, []byte("internal-error: wait returned unexpected status 0x0")): // GDB bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28551 testenv.SkipFlaky(t, 43068) case bytes.Contains(got, []byte("Couldn't get registers: No such process.")), bytes.Contains(got, []byte("Unable to fetch general registers.: No such process.")), bytes.Contains(got, []byte("reading register pc (#64): No such process.")): // GDB bug: https://sourceware.org/bugzilla/show_bug.cgi?id=9086 testenv.SkipFlaky(t, 50838) case bytes.Contains(got, []byte("waiting for new child: No child processes.")): // GDB bug: Sometimes it fails to wait for a clone child. testenv.SkipFlaky(t, 60553) case bytes.Contains(got, []byte(" exited normally]\n")): // GDB bug: Sometimes the inferior exits fine, // but then GDB hangs. testenv.SkipFlaky(t, 37405) } t.Fatalf("gdb exited with error: %v", err) } // Check that the backtrace matches the source code. bt := []string{ "eee", "ddd", "ccc", "bbb", "aaa", "main", } for i, name := range bt { s := fmt.Sprintf("#%v.*main\\.%v", i, name) re := regexp.MustCompile(s) if found := re.Find(got) != nil; !found { t.Fatalf("could not find '%v' in backtrace", s) } } } const autotmpTypeSource = ` package main type astruct struct { a, b int } func main() { var iface interface{} = map[string]astruct{} var iface2 interface{} = []astruct{} println(iface, iface2) } ` // TestGdbAutotmpTypes ensures that types of autotmp variables appear in .debug_info // See bug #17830. func TestGdbAutotmpTypes(t *testing.T) { checkGdbEnvironment(t) t.Parallel() checkGdbVersion(t) if runtime.GOOS == "aix" && testing.Short() { t.Skip("TestGdbAutotmpTypes is too slow on aix/ppc64") } dir := t.TempDir() // Build the source code. src := filepath.Join(dir, "main.go") err := os.WriteFile(src, []byte(autotmpTypeSource), 0644) if err != nil { t.Fatalf("failed to create file: %v", err) } cmd := exec.Command(testenv.GoToolPath(t), "build", "-gcflags=all=-N -l", "-o", "a.exe", "main.go") cmd.Dir = dir out, err := testenv.CleanCmdEnv(cmd).CombinedOutput() if err != nil { t.Fatalf("building source %v\n%s", err, out) } // Execute gdb commands. args := []string{"-nx", "-batch", "-iex", "add-auto-load-safe-path " + filepath.Join(testenv.GOROOT(t), "src", "runtime"), "-ex", "set startup-with-shell off", // Some gdb may set scheduling-locking as "step" by default. This prevents background tasks // (e.g GC) from completing which may result in a hang when executing the step command. // See #49852. "-ex", "set scheduler-locking off", "-ex", "break main.main", "-ex", "run", "-ex", "step", "-ex", "info types astruct", filepath.Join(dir, "a.exe"), } gdbArgsFixup(args) got, err := exec.Command("gdb", args...).CombinedOutput() t.Logf("gdb output:\n%s", got) if err != nil { t.Fatalf("gdb exited with error: %v", err) } sgot := string(got) // Check that the backtrace matches the source code. types := []string{ "[]main.astruct;", "bucket<string,main.astruct>;", "hash<string,main.astruct>;", "main.astruct;", "hash<string,main.astruct> * map[string]main.astruct;", } for _, name := range types { if !strings.Contains(sgot, name) { t.Fatalf("could not find %s in 'info typrs astruct' output", name) } } } const constsSource = ` package main const aConstant int = 42 const largeConstant uint64 = ^uint64(0) const minusOne int64 = -1 func main() { println("hello world") } ` func TestGdbConst(t *testing.T) { checkGdbEnvironment(t) t.Parallel() checkGdbVersion(t) dir := t.TempDir() // Build the source code. src := filepath.Join(dir, "main.go") err := os.WriteFile(src, []byte(constsSource), 0644) if err != nil { t.Fatalf("failed to create file: %v", err) } cmd := exec.Command(testenv.GoToolPath(t), "build", "-gcflags=all=-N -l", "-o", "a.exe", "main.go") cmd.Dir = dir out, err := testenv.CleanCmdEnv(cmd).CombinedOutput() if err != nil { t.Fatalf("building source %v\n%s", err, out) } // Execute gdb commands. args := []string{"-nx", "-batch", "-iex", "add-auto-load-safe-path " + filepath.Join(testenv.GOROOT(t), "src", "runtime"), "-ex", "set startup-with-shell off", "-ex", "break main.main", "-ex", "run", "-ex", "print main.aConstant", "-ex", "print main.largeConstant", "-ex", "print main.minusOne", "-ex", "print 'runtime.mSpanInUse'", "-ex", "print 'runtime._PageSize'", filepath.Join(dir, "a.exe"), } gdbArgsFixup(args) got, err := exec.Command("gdb", args...).CombinedOutput() t.Logf("gdb output:\n%s", got) if err != nil { t.Fatalf("gdb exited with error: %v", err) } sgot := strings.ReplaceAll(string(got), "\r\n", "\n") if !strings.Contains(sgot, "\n$1 = 42\n$2 = 18446744073709551615\n$3 = -1\n$4 = 1 '\\001'\n$5 = 8192") { t.Fatalf("output mismatch") } } const panicSource = ` package main import "runtime/debug" func main() { debug.SetTraceback("crash") crash() } func crash() { panic("panic!") } ` // TestGdbPanic tests that gdb can unwind the stack correctly // from SIGABRTs from Go panics. func TestGdbPanic(t *testing.T) { checkGdbEnvironment(t) t.Parallel() checkGdbVersion(t) if runtime.GOOS == "windows" { t.Skip("no signals on windows") } dir := t.TempDir() // Build the source code. src := filepath.Join(dir, "main.go") err := os.WriteFile(src, []byte(panicSource), 0644) if err != nil { t.Fatalf("failed to create file: %v", err) } cmd := exec.Command(testenv.GoToolPath(t), "build", "-o", "a.exe", "main.go") cmd.Dir = dir out, err := testenv.CleanCmdEnv(cmd).CombinedOutput() if err != nil { t.Fatalf("building source %v\n%s", err, out) } // Execute gdb commands. args := []string{"-nx", "-batch", "-iex", "add-auto-load-safe-path " + filepath.Join(testenv.GOROOT(t), "src", "runtime"), "-ex", "set startup-with-shell off", "-ex", "run", "-ex", "backtrace", filepath.Join(dir, "a.exe"), } gdbArgsFixup(args) got, err := exec.Command("gdb", args...).CombinedOutput() t.Logf("gdb output:\n%s", got) if err != nil { t.Fatalf("gdb exited with error: %v", err) } // Check that the backtrace matches the source code. bt := []string{ `crash`, `main`, } for _, name := range bt { s := fmt.Sprintf("(#.* .* in )?main\\.%v", name) re := regexp.MustCompile(s) if found := re.Find(got) != nil; !found { t.Fatalf("could not find '%v' in backtrace", s) } } } const InfCallstackSource = ` package main import "C" import "time" func loop() { for i := 0; i < 1000; i++ { time.Sleep(time.Millisecond*5) } } func main() { go loop() time.Sleep(time.Second * 1) } ` // TestGdbInfCallstack tests that gdb can unwind the callstack of cgo programs // on arm64 platforms without endless frames of function 'crossfunc1'. // https://golang.org/issue/37238 func TestGdbInfCallstack(t *testing.T) { checkGdbEnvironment(t) testenv.MustHaveCGO(t) if runtime.GOARCH != "arm64" { t.Skip("skipping infinite callstack test on non-arm64 arches") } t.Parallel() checkGdbVersion(t) dir := t.TempDir() // Build the source code. src := filepath.Join(dir, "main.go") err := os.WriteFile(src, []byte(InfCallstackSource), 0644) if err != nil { t.Fatalf("failed to create file: %v", err) } cmd := exec.Command(testenv.GoToolPath(t), "build", "-o", "a.exe", "main.go") cmd.Dir = dir out, err := testenv.CleanCmdEnv(cmd).CombinedOutput() if err != nil { t.Fatalf("building source %v\n%s", err, out) } // Execute gdb commands. // 'setg_gcc' is the first point where we can reproduce the issue with just one 'run' command. args := []string{"-nx", "-batch", "-iex", "add-auto-load-safe-path " + filepath.Join(testenv.GOROOT(t), "src", "runtime"), "-ex", "set startup-with-shell off", "-ex", "break setg_gcc", "-ex", "run", "-ex", "backtrace 3", "-ex", "disable 1", "-ex", "continue", filepath.Join(dir, "a.exe"), } gdbArgsFixup(args) got, err := exec.Command("gdb", args...).CombinedOutput() t.Logf("gdb output:\n%s", got) if err != nil { t.Fatalf("gdb exited with error: %v", err) } // Check that the backtrace matches // We check the 3 inner most frames only as they are present certainly, according to gcc_<OS>_arm64.c bt := []string{ `setg_gcc`, `crosscall1`, `threadentry`, } for i, name := range bt { s := fmt.Sprintf("#%v.*%v", i, name) re := regexp.MustCompile(s) if found := re.Find(got) != nil; !found { t.Fatalf("could not find '%v' in backtrace", s) } } }