OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.19.4
/
src
/
runtime
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/01/2022 06:13:58 PM
rwxr-xr-x
📄
HACKING.md
15.29 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
Makefile
178 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
abi_test.go
2.83 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
alg.go
9.45 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
align_runtime_test.go
2.73 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
align_test.go
5.26 KB
12/01/2022 06:12:59 PM
rw-r--r--
📁
asan
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
asan.go
1.55 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asan0.go
761 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
asan_amd64.s
2.46 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asan_arm64.s
2.15 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asan_riscv64.s
1.92 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm.s
278 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_386.s
40.43 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_amd64.h
411 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_amd64.s
57.44 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_arm.s
30.2 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_arm64.s
41.41 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_loong64.s
21.79 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_mips64x.s
22.43 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_mipsx.s
24.41 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_ppc64x.h
1023 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_ppc64x.s
35.21 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_riscv64.s
26.43 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_s390x.s
26.08 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
asm_wasm.s
9.38 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
atomic_arm64.s
259 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
atomic_loong64.s
245 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
atomic_mips64x.s
300 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
atomic_mipsx.s
262 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
atomic_pointer.go
2.62 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
atomic_ppc64x.s
437 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
atomic_riscv64.s
275 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
auxv_none.go
298 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
callers_test.go
8.44 KB
12/01/2022 06:12:59 PM
rw-r--r--
📁
cgo
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
cgo.go
2 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
cgo_mmap.go
2.4 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
cgo_ppc64x.go
418 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
cgo_sigaction.go
3.28 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
cgocall.go
19.12 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
cgocallback.go
317 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
cgocheck.go
6.86 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
chan.go
23.73 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
chan_test.go
23.37 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
chanbarrier_test.go
1.4 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
checkptr.go
3.29 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
checkptr_test.go
2.73 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
closure_test.go
937 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
compiler.go
410 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
complex.go
1.59 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
complex_test.go
1.05 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
conv_wasm_test.go
2.96 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
cpuflags.go
810 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
cpuflags_amd64.go
533 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
cpuflags_arm64.go
334 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
cpuprof.go
7.78 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
cputicks.go
449 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
crash_cgo_test.go
18.14 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
crash_test.go
21.77 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
crash_unix_test.go
8.39 KB
12/01/2022 06:12:59 PM
rw-r--r--
📁
debug
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
debug.go
3.23 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
debug_test.go
7.98 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
debugcall.go
6.19 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
debuglog.go
17.87 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
debuglog_off.go
357 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
debuglog_on.go
1.09 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
debuglog_test.go
4.56 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defer_test.go
11.56 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs1_linux.go
845 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs1_netbsd_386.go
2.83 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs1_netbsd_amd64.go
3.06 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs1_netbsd_arm.go
2.94 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs1_netbsd_arm64.go
3.17 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs1_solaris_amd64.go
4 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs2_linux.go
3.51 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs3_linux.go
1.09 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_aix.go
4.16 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_aix_ppc64.go
3.61 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_arm_linux.go
2.67 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_darwin.go
3.78 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_darwin_amd64.go
6.07 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_darwin_arm64.go
3.89 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_dragonfly.go
2.59 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_dragonfly_amd64.go
3.29 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_freebsd.go
3.82 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_freebsd_386.go
4.36 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_freebsd_amd64.go
4.63 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_freebsd_arm.go
3.69 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_freebsd_arm64.go
4.01 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_illumos_amd64.go
285 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_linux.go
3.25 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_linux_386.go
4.42 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_linux_amd64.go
4.93 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_linux_arm.go
4.11 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_linux_arm64.go
3.86 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_linux_loong64.go
3.68 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_linux_mips64x.go
3.85 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_linux_mipsx.go
3.83 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_linux_ppc64.go
3.93 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_linux_ppc64le.go
3.93 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_linux_riscv64.go
4.06 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_linux_s390x.go
3.41 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_netbsd.go
2.72 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_netbsd_386.go
855 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_netbsd_amd64.go
1.01 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_netbsd_arm.go
764 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_openbsd.go
3.09 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_openbsd_386.go
2.87 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_openbsd_amd64.go
3.07 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_openbsd_arm.go
2.99 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_openbsd_arm64.go
2.74 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_openbsd_mips64.go
2.64 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_plan9_386.go
1.63 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_plan9_amd64.go
1.82 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_plan9_arm.go
1.73 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_solaris.go
3.31 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_solaris_amd64.go
1004 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_windows.go
2.09 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_windows_386.go
1.98 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_windows_amd64.go
2.71 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_windows_arm.go
2.11 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
defs_windows_arm64.go
2.63 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
duff_386.s
8.24 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
duff_amd64.s
5.62 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
duff_arm.s
7.11 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
duff_arm64.s
5.27 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
duff_loong64.s
12 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
duff_mips64x.s
11.28 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
duff_ppc64x.s
7.06 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
duff_riscv64.s
11.4 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
duff_s390x.s
507 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
env_plan9.go
3 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
env_posix.go
1.79 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
env_test.go
1.16 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
error.go
9.21 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
example_test.go
1.55 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_aix_test.go
234 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_arm_test.go
226 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_darwin_test.go
382 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_debug_amd64_test.go
3.6 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_debug_arm64_test.go
3.49 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_debug_test.go
5.05 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_debuglog_test.go
1.24 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_linux_test.go
550 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_mmap_test.go
429 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_pipe2_test.go
310 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_pipe_test.go
219 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_solaris_test.go
282 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_test.go
38.87 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_unix_test.go
2.18 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
export_windows_test.go
677 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
extern.go
13.62 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
fastlog2.go
1.22 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
fastlog2_test.go
784 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
fastlog2table.go
904 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
float.go
1.35 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
float_test.go
699 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
funcdata.h
2.55 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
gc_test.go
20.04 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
gcinfo_test.go
5.59 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
go_tls.h
366 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
hash32.go
1.58 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
hash64.go
1.95 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
hash_test.go
16.77 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
heapdump.go
17.65 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
histogram.go
6.19 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
histogram_test.go
3.42 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
iface.go
15.66 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
iface_test.go
7.45 KB
12/01/2022 06:12:59 PM
rw-r--r--
📁
internal
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
lfstack.go
1.77 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
lfstack_32bit.go
532 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
lfstack_64bit.go
2.18 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
lfstack_test.go
2.77 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
libfuzzer.go
6.5 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
libfuzzer_amd64.s
5.01 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
libfuzzer_arm64.s
3.15 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
lock_futex.go
5.19 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
lock_js.go
6.14 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
lock_sema.go
6.74 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
lockrank.go
13.26 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
lockrank_off.go
1.14 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
lockrank_on.go
9.83 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
lockrank_test.go
1.15 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
malloc.go
51.01 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
malloc_test.go
10.78 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
map.go
43.52 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
map_benchmark_test.go
10.48 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
map_fast32.go
12.72 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
map_fast64.go
12.91 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
map_faststr.go
14.3 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
map_test.go
27.44 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mbarrier.go
12.43 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mbitmap.go
66.08 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mcache.go
10 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mcentral.go
7.9 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mcheckmark.go
2.81 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mem.go
6.23 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mem_aix.go
1.9 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mem_bsd.go
2.03 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mem_darwin.go
1.84 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mem_js.go
2.25 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mem_linux.go
6.15 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mem_plan9.go
4.32 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mem_windows.go
3.76 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_386.s
2.38 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_amd64.s
4.91 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_arm.s
2.6 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_arm64.s
3.62 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_loong64.s
778 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_mips64x.s
1.72 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_mipsx.s
1.32 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_plan9_386.s
983 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_plan9_amd64.s
511 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_ppc64x.s
4.23 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_riscv64.s
978 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_s390x.s
1.96 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memclr_wasm.s
622 bytes
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_386.s
4.42 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_amd64.s
12.48 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_arm.s
5.9 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_arm64.s
5.96 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_linux_amd64_test.go
1.6 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_loong64.s
1.8 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_mips64x.s
1.83 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_mipsx.s
4.4 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_plan9_386.s
3.06 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_plan9_amd64.s
3.04 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_ppc64x.s
4.58 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_riscv64.s
1.86 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_s390x.s
2.92 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_test.go
14.03 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
memmove_wasm.s
1.74 KB
12/01/2022 06:12:59 PM
rw-r--r--
📁
metrics
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
metrics.go
18.71 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
metrics_test.go
14.74 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mfinal.go
16.34 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mfinal_test.go
6.19 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mfixalloc.go
3.07 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mgc.go
56.37 KB
12/01/2022 06:12:59 PM
rw-r--r--
📄
mgclimit.go
17.26 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mgclimit_test.go
9.02 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mgcmark.go
47.47 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mgcpacer.go
60.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mgcpacer_test.go
40.43 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mgcscavenge.go
41.29 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mgcscavenge_test.go
20.33 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mgcstack.go
10.58 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mgcsweep.go
27.89 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mgcwork.go
12.86 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mheap.go
69.14 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mkduff.go
8.01 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mkfastlog2table.go
3.08 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mkpreempt.go
15.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mksizeclasses.go
9.3 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mmap.go
821 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
mpagealloc.go
36.84 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mpagealloc_32bit.go
3.81 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mpagealloc_64bit.go
9.44 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mpagealloc_test.go
32.59 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mpagecache.go
5.46 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mpagecache_test.go
10.79 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mpallocbits.go
12.6 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mpallocbits_test.go
13.69 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mprof.go
38.51 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mranges.go
13.64 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mranges_test.go
5.68 KB
12/01/2022 06:13:00 PM
rw-r--r--
📁
msan
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
msan.go
1.5 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
msan0.go
725 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
msan_amd64.s
2.31 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
msan_arm64.s
1.99 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
msize.go
777 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
mspanset.go
12.21 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mstats.go
30.07 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
mwbbuf.go
9.28 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
nbpipe_fcntl_libc_test.go
470 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
nbpipe_fcntl_unix_test.go
458 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
nbpipe_pipe.go
405 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
nbpipe_pipe2.go
344 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
nbpipe_pipe_test.go
706 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
nbpipe_test.go
1.68 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
net_plan9.go
645 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
netpoll.go
18.27 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
netpoll_aix.go
4.83 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
netpoll_epoll.go
4.16 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
netpoll_fake.go
652 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
netpoll_kqueue.go
4.56 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
netpoll_os_test.go
360 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
netpoll_solaris.go
10.76 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
netpoll_stub.go
1.41 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
netpoll_windows.go
3.75 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
norace_linux_test.go
915 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
norace_test.go
983 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
numcpu_freebsd_test.go
381 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os2_aix.go
20.45 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os2_freebsd.go
302 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os2_openbsd.go
296 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os2_plan9.go
1.48 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os2_solaris.go
320 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os3_plan9.go
3.93 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os3_solaris.go
17.22 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_aix.go
8.61 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_android.go
463 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_darwin.go
12 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_darwin_arm64.go
416 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_dragonfly.go
6.96 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_freebsd.go
11.61 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_freebsd2.go
603 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_freebsd_amd64.go
658 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_freebsd_arm.go
1.32 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_freebsd_arm64.go
398 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_freebsd_noauxv.go
241 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_illumos.go
3.93 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_js.go
3.28 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux.go
26.14 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_arm.go
1.35 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_arm64.go
556 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_be64.go
824 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_generic.go
888 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_loong64.go
485 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_mips64x.go
1.07 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_mipsx.go
1.06 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_noauxv.go
337 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_novdso.go
347 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_ppc64x.go
526 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_riscv64.go
198 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_s390x.go
316 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_linux_x86.go
234 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_netbsd.go
9.8 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_netbsd_386.go
617 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_netbsd_amd64.go
614 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_netbsd_arm.go
1.16 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_netbsd_arm64.go
856 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_nonopenbsd.go
437 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_only_solaris.go
357 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_openbsd.go
6.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_openbsd_arm.go
749 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_openbsd_arm64.go
416 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_openbsd_libc.go
1.71 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_openbsd_mips64.go
416 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_openbsd_syscall.go
1.27 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_openbsd_syscall1.go
441 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_openbsd_syscall2.go
2.46 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_plan9.go
10.3 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_plan9_arm.go
462 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_solaris.go
6.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_windows.go
44.43 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_windows_arm.go
511 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
os_windows_arm64.go
339 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
panic.go
40.25 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
panic32.go
4.8 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
panic_test.go
1.71 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
plugin.go
4.26 KB
12/01/2022 06:13:00 PM
rw-r--r--
📁
pprof
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
preempt.go
15.21 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
preempt_386.s
824 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
preempt_amd64.s
1.62 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
preempt_arm.s
1.48 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
preempt_arm64.s
1.97 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
preempt_loong64.s
2.35 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
preempt_mips64x.s
2.72 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
preempt_mipsx.s
2.68 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
preempt_nonwindows.go
290 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
preempt_ppc64x.s
2.72 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
preempt_riscv64.s
2.26 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
preempt_s390x.s
1.01 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
preempt_wasm.s
176 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
print.go
5.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
proc.go
176.84 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
proc_runtime_test.go
1.38 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
proc_test.go
25.66 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
profbuf.go
18.26 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
profbuf_test.go
8.65 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
proflabel.go
1.52 KB
12/01/2022 06:13:00 PM
rw-r--r--
📁
race
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
race.go
18.58 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
race0.go
2.79 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
race_amd64.s
13.82 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
race_arm64.s
14.21 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
race_ppc64le.s
17.89 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
race_s390x.s
12 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rand_test.go
907 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rdebug.go
553 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
relax_stub.go
598 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_aix_ppc64.s
4.33 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_android_386.s
822 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_android_amd64.s
754 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_android_arm.s
843 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_android_arm64.s
941 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_darwin_amd64.s
399 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_darwin_arm64.s
1.69 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_dragonfly_amd64.s
448 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_freebsd_386.s
454 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_freebsd_amd64.s
442 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_freebsd_arm.s
298 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_freebsd_arm64.s
1.88 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_illumos_amd64.s
311 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_ios_amd64.s
425 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_ios_arm64.s
425 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_js_wasm.s
2.3 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_linux_386.s
450 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_linux_amd64.s
307 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_linux_arm.s
1007 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_linux_arm64.s
1.81 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_linux_loong64.s
716 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_linux_mips64x.s
1014 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_linux_mipsx.s
797 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_linux_ppc64.s
928 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_linux_ppc64le.s
4.35 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_linux_riscv64.s
2.65 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_linux_s390x.s
676 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_netbsd_386.s
452 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_netbsd_amd64.s
309 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_netbsd_arm.s
296 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_netbsd_arm64.s
1.8 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_openbsd_386.s
454 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_openbsd_amd64.s
311 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_openbsd_arm.s
298 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_openbsd_arm64.s
1.96 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_openbsd_mips64.s
976 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_plan9_386.s
523 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_plan9_amd64.s
481 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_plan9_arm.s
397 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_solaris_amd64.s
311 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_windows_386.s
1.28 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_windows_amd64.s
986 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_windows_arm.s
386 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
rt0_windows_arm64.s
725 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
runtime-gdb.py
15.33 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
runtime-gdb_test.go
20.93 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
runtime-lldb_test.go
4.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
runtime.go
1.45 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
runtime1.go
13.06 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
runtime2.go
43.07 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
runtime_boring.go
606 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
runtime_linux_test.go
1.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
runtime_mmap_test.go
1.77 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
runtime_test.go
11.79 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
runtime_unix_test.go
1.22 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rwmutex.go
3.53 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
rwmutex_test.go
4.19 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
select.go
14.84 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sema.go
16.16 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sema_test.go
4.21 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
semasleep_test.go
3.05 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sigaction.go
489 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_386.go
1.72 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_aix_ppc64.go
3.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_amd64.go
2.73 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_arm.go
2.54 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_arm64.go
3.21 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_darwin.go
2.13 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_darwin_amd64.go
4 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_darwin_arm64.go
3.6 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_dragonfly.go
2.17 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_dragonfly_amd64.go
2.01 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_freebsd.go
2.2 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_freebsd_386.go
1.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_freebsd_amd64.go
2.03 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_freebsd_arm.go
2.18 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_freebsd_arm64.go
3.23 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_linux_386.go
1.59 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_linux_amd64.go
2.05 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_linux_arm.go
2.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_linux_arm64.go
2.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_linux_loong64.go
3.22 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_linux_mips64x.go
3.35 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_linux_mipsx.go
3.67 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_linux_ppc64x.go
3.42 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_linux_riscv64.go
2.92 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_linux_s390x.go
4.49 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_loong64.go
3.09 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_mips64x.go
3.18 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_mipsx.go
3.06 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_netbsd.go
2.18 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_netbsd_386.go
1.76 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_netbsd_amd64.go
2.33 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_netbsd_arm.go
2.3 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_netbsd_arm64.go
3.4 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_openbsd.go
2.18 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_openbsd_386.go
1.58 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_openbsd_amd64.go
2.04 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_openbsd_arm.go
2.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_openbsd_arm64.go
3.38 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_openbsd_mips64.go
3.28 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_plan9.go
1.93 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_ppc64x.go
3.64 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_riscv64.go
2.89 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_solaris.go
4.5 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_solaris_amd64.go
2.47 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_unix.go
41.88 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_windows.go
9.27 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
signal_windows_test.go
5.29 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sigqueue.go
7.66 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sigqueue_note.go
648 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
sigqueue_plan9.go
3.25 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sigtab_aix.go
11.3 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sigtab_linux_generic.go
3.52 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sigtab_linux_mipsx.go
5.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sizeclasses.go
9.14 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sizeof_test.go
893 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
slice.go
9.87 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
slice_test.go
10.32 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
softfloat64.go
11.54 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
softfloat64_test.go
4.04 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
stack.go
45.05 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
stack_test.go
22.39 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
string.go
13.18 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
string_test.go
12.61 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs.go
19.37 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs2.go
1.13 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs3.go
274 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_386.go
550 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_amd64.go
1.2 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_arm.go
531 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_arm64.go
555 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_linux.go
650 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_loong64.go
276 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_mips64x.go
364 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_mipsx.go
283 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_nonlinux.go
298 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_ppc64.go
301 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_ppc64x.go
453 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_riscv64.go
460 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
stubs_s390x.go
256 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
symtab.go
35.81 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
symtab_test.go
7.48 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_aix_ppc64.s
7.42 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_arm.go
521 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_arm64.go
469 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_darwin.go
17.92 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_darwin_amd64.s
19.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_darwin_arm64.go
1.74 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_darwin_arm64.s
15.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_dragonfly_amd64.s
8.03 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_freebsd_386.s
8.41 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_freebsd_amd64.s
10.7 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_freebsd_arm.s
10.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_freebsd_arm64.s
9.4 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_libc.go
1.84 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_linux_386.s
18.31 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_linux_amd64.s
16.57 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_linux_arm.s
16.12 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_linux_arm64.s
18.09 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_linux_loong64.s
12.15 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_linux_mips64x.s
13.5 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_linux_mipsx.s
11.09 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_linux_ppc64x.s
22.1 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_linux_riscv64.s
12.59 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_linux_s390x.s
13.78 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_loong64.go
489 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_mips64x.go
500 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_mipsx.go
496 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_netbsd_386.s
9.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_netbsd_amd64.s
9.51 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_netbsd_arm.s
10.41 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_netbsd_arm64.s
9.38 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_nonppc64x.go
245 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_openbsd.go
2.59 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_openbsd1.go
1.23 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_openbsd2.go
8.36 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_openbsd3.go
3.37 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_openbsd_386.s
20.03 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_openbsd_amd64.s
16.64 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_openbsd_arm.s
18.15 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_openbsd_arm64.s
14.84 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_openbsd_mips64.s
8.6 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_plan9_386.s
4.48 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_plan9_amd64.s
4.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_plan9_arm.s
7.03 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_ppc64x.go
532 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_riscv64.go
469 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_s390x.go
469 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_solaris_amd64.s
6.42 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_wasm.go
754 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_wasm.s
2.65 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_windows_386.s
7.65 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_windows_amd64.s
8.88 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_windows_arm.s
11.97 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_windows_arm64.s
11.45 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
sys_x86.go
552 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
syscall2_solaris.go
1.65 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
syscall_aix.go
6 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
syscall_solaris.go
8.01 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
syscall_windows.go
16.95 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
syscall_windows_test.go
32.96 KB
12/01/2022 06:13:00 PM
rw-r--r--
📁
testdata
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
textflag.h
1.52 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
time.go
30.75 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
time_fake.go
2.5 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
time_linux_amd64.s
2.02 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
time_nofake.go
709 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
time_test.go
2.03 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
time_windows.h
753 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
time_windows_386.s
1.79 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
time_windows_amd64.s
871 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
time_windows_arm.s
2.1 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
time_windows_arm64.s
1021 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
timeasm.go
418 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
timestub.go
532 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
timestub2.go
314 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
tls_arm.s
3.45 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
tls_arm64.h
1.1 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
tls_arm64.s
1.2 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
tls_loong64.s
589 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
tls_mips64x.s
733 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
tls_mipsx.s
709 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
tls_ppc64x.s
1.5 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
tls_riscv64.s
726 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
tls_s390x.s
1.55 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
tls_stub.go
260 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
tls_windows_amd64.go
294 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📁
trace
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
trace.go
45.8 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
traceback.go
48.18 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
traceback_test.go
11.64 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
type.go
17.43 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
typekind.go
742 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
utf8.go
3.39 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_elf32.go
2.76 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_elf64.go
2.84 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_freebsd.go
2.44 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_freebsd_arm.go
454 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_freebsd_arm64.go
443 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_freebsd_x86.go
1.85 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_in_none.go
443 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_linux.go
7.77 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_linux_386.go
669 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_linux_amd64.go
685 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_linux_arm.go
669 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_linux_arm64.go
670 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_linux_loong64.go
793 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_linux_mips64x.go
850 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_linux_ppc64x.go
672 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_linux_riscv64.go
666 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
vdso_linux_s390x.go
681 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
vlop_386.s
2.02 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
vlop_arm.s
7.06 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
vlop_arm_test.go
3.75 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
vlrt.go
6.71 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
wincallback.go
3.45 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
write_err.go
291 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
write_err_android.go
4.65 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
zcallback_windows.go
155 bytes
12/01/2022 06:13:00 PM
rw-r--r--
📄
zcallback_windows.s
63.02 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
zcallback_windows_arm.s
89.32 KB
12/01/2022 06:13:00 PM
rw-r--r--
📄
zcallback_windows_arm64.s
89.32 KB
12/01/2022 06:13:00 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" "fmt" "internal/testenv" "os" "os/exec" "path/filepath" "regexp" "runtime" "strconv" "strings" "testing" ) // 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 "windows": t.Skip("gdb tests fail on Windows: https://golang.org/issue/22687") 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") } 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") } cmd := exec.Command("gdb", "-nx", "-q", "--batch", "-iex", "python import sys; print('go gdb python support')") 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. "??"). } const helloSource = ` import "fmt" import "runtime" var gslice []string func main() { mapvar := make(map[string]string, 13) slicemap := make(map[string][]string,11) 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 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"), ) 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) } 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) } 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. 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"), } got, err := testenv.RunWithTimeout(t, exec.Command("gdb", args...)) t.Logf("gdb output:\n%s", got) if err != nil { if 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) } if bytes.Contains(got, []byte("Couldn't get registers: No such process.")) { // GDB bug: https://sourceware.org/bugzilla/show_bug.cgi?id=9086 testenv.SkipFlaky(t, 50838) } if 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"), } 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"), } 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) 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"), } 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"), } 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) } } }