Skip to content

Instantly share code, notes, and snippets.

@dseeni
Forked from planetis-m/mybuildcmds.rst
Created October 4, 2023 23:15
Show Gist options
  • Select an option

  • Save dseeni/b4e7300e29f5594c0d64f0dbf3eb8326 to your computer and use it in GitHub Desktop.

Select an option

Save dseeni/b4e7300e29f5594c0d64f0dbf3eb8326 to your computer and use it in GitHub Desktop.
My build commands

Debug

nim c --cc:clang --mm:orc --panics:on --threads:on --threadanalysis:off --tlsEmulation:off -l:"-fuse-ld=mold" %f

Release

nim c --cc:clang --mm:orc --panics:on --threads:on --threadanalysis:off --tlsEmulation:off -l:"-fuse-ld=mold" -d:release %f

Performance

nim c --cc:clang --mm:orc --panics:on --threads:on --threadanalysis:off --tlsEmulation:off -t:"-march=native -ffast-math" -l:"-flto" -d:danger %f

ASan

nim c --cc:clang --mm:arc --panics:on --threads:on --threadanalysis:off --tlsEmulation:off -d:useMalloc -t:"-fsanitize=address,undefined" -l:"-fsanitize=address,undefined" -d:nosignalhandler -d:release -g %f

LibFuzzer

nim c --cc:clang --mm:orc --panics:on -d:useMalloc -t:"-fsanitize=fuzzer,address,undefined" -l:"-fsanitize=fuzzer,address,undefined" -d:nosignalhandler --nomain:on -d:release -g %f

TSan

nim c --cc:clang --mm:arc --panics:on --threads:on --threadanalysis:off --tlsEmulation:off -d:useMalloc -t:"-fsanitize=thread" -l:"-fsanitize=thread" -d:nosignalhandler -d:release -g %f

Disassembler

objdump --no-show-raw-insn -drwlS -M intel %n

Nimpretty

nimpretty --indent:2 --maxLineLen:100 %f

Perf

perf record -e cycles:pp --call-graph dwarf %f
perf annotate -M intel

Rebuild toolchain

git pull
./koch boot -d:release --mm:markandsweep --panics:on --exceptions:goto
./koch toolsNoExternal tools -d:release --mm:markandsweep --panics:on --exceptions:goto
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment