3 个版本
0.1.3 | 2022年2月25日 |
---|---|
0.1.1 | 2022年2月25日 |
0.1.0 | 2021年10月30日 |
#15 在 #trim 中
15KB
405 行
包含 (库文件, 3KB) x.o
trim-go-asm
从 $ go tool compile -S
中去除 Go 汇编
安装
$cargo install trim-go-asm
使用方法
版本 0.1 只能从 stdin 解析输入。因此,$ go tool compile -S x.go > trim-go-asm
是最可能的用法。
贡献
欢迎任何贡献!
待办事项
- 通过选项读取文件。
- 通过选项接受
*.go
,然后运行go tool compile -S <filename>.go | trim-go-asm > <filename>.s
- 通过
-o
指定输出路径 - 仅为我 添加子命令
for-me
USAGE:
trim-go-asm [OPTIONS]
OPTIONS:
--fm todo!
-h, --help Print help information
--ra Replace `ABIInternal` to 4(NOSPLIT)
--rpf Remove PCDATA and FUNCDATA insts, if you want to enable this option, you must
enable --tg too.
--tg Trim Goroutine prologue / epilogue
// Trim these instructions.
MOVQ (TLS), CX
CMPQ SP, 16(CX)
PCDATA $0, $-2
JLS 70
PCDATA $0, $-1
// ...
NOP
PCDATA $1, $-1
PCDATA $0, $-2
CALL runtime.morestack_noctxt(SB)
PCDATA $0, $-1
JMP 0
-V, --version Print version information
依赖项
~1.5MB
~24K SLoC