rust-teeny-nostd: compare with asm
This commit is contained in:
@@ -2,6 +2,10 @@ alias b := build
|
||||
alias s := stat
|
||||
alias z := stat-size
|
||||
|
||||
alias basm := build-asm
|
||||
alias sasm := stat-asm
|
||||
alias zasm := stat-size-asm
|
||||
|
||||
target := "x86_64-unknown-linux-gnu"
|
||||
|
||||
build:
|
||||
@@ -16,7 +20,7 @@ build:
|
||||
-Cpanic=immediate-abort --remap-path-prefix=$PWD=[src] \
|
||||
" cargo \
|
||||
\
|
||||
-Zbuild-std=core,alloc,std,panic_abort \
|
||||
-Zbuild-std=core,panic_abort \
|
||||
-Zbuild-std-features="optimize_for_size" \
|
||||
\
|
||||
b -r --target {{ target }}
|
||||
@@ -32,8 +36,18 @@ build:
|
||||
|
||||
# Not sure why .gnu.version and .gnu.hash don't break if I remove them in my machine, but that's very relative and its related to dynamic loading, but they could reduce size by `0.2 KiB`
|
||||
|
||||
build-asm:
|
||||
clang -Wl,--gc-sections -Wl,--as-needed -Wl,--strip-all -Wl,--build-id=none -s -fuse-ld=lld -Oz same.S -o target/asm
|
||||
strip --strip-all --strip-unneeded -R .comment -R .note.\* -R .eh_frame\* target/asm
|
||||
|
||||
stat:
|
||||
stat target/{{ target }}/release/rust-teeny
|
||||
|
||||
stat-asm:
|
||||
stat target/asm
|
||||
|
||||
stat-size:
|
||||
stat target/{{ target }}/release/rust-teeny -c "%s" | numfmt --to=iec-i
|
||||
|
||||
stat-size-asm:
|
||||
stat target/asm -c "%s" | numfmt --to=iec-i
|
||||
|
||||
Reference in New Issue
Block a user