LLVM-ADDR2LINE(1)
π LLVM-ADDR2LINE(1) β the llvm manual, bestie edition
okay so this is the LLVM-ADDR2LINE(1) page from the LLVM manual set, and it's genuinely one of the shorter ones, so we're gonna get through it together, no stress πΈ
β¨ NAME β¨
llvm-addr2line β it's literally a drop-in replacement for addr2line. that's the whole pitch, that's the vibe π
β¨ SYNOPSIS β¨
llvm-addr2line [options]
like, that's it. options go in, magic comes out β¨
π¦ DESCRIPTION π¦
so llvm-addr2line is an alias for the llvm-symbolizer(1) tool (there's a link to llvm-symbolizer.html in the original docs, iykyk) β but with different defaults. and the whole goal of that? to make it a drop-in replacement for GNU's addr2line. periodt π
here are some of those differences, and bestie, you're gonna wanna read these because they change everything about how it behaves:
llvm-addr2lineinterprets all addresses as hexadecimal and ignores an optional0xprefix. meanwhilellvm-symbolizertries to figure out the base from the literal's prefix, and defaults to decimal if there's no prefix. so no prefix = hex here, decimal there. iconic difference, honestly πllvm-addr2linedefaults not to print function names. use-fto enable that (original page links tollvm-symbolizer.html#llvm-symbolizer-opt-f).llvm-addr2linedefaults not to demangle function names. use-Cto switch the demangling on (link in the original:llvm-symbolizer.html#llvm-symbolizer-opt-c).llvm-addr2linedefaults not to print inlined frames. use-ito show inlined frames for a source code location in an inlined function (original link:llvm-symbolizer.html#llvm-symbolizer-opt-i).llvm-addr2lineuses--output-style=GNUby default (original link:llvm-symbolizer.html#llvm-symbolizer-opt-output-style). default aesthetic is GNU. slay πllvm-addr2lineparses options from the environment variableLLVM_ADDR2LINE_OPTSinstead of fromLLVM_SYMBOLIZER_OPTS. yes, different env var, don't @ me πllvm-addr2lineaccepts an address with a+prefix, e.g.+0x00777fff. This is treated as a symbol name byllvm-symbolizer. (that one's important, don't skip it β it's not an address to them, it's a symbol name fr fr π)
lowkey the theme here is: everything that's opt-in over in llvm-symbolizer land is still opt-in here, but the output style and the hex interpretation and the env var are already flipped for you. know the defaults before you go blaming the tool π«Ά
π SEE ALSO π
llvm-symbolizer(1)β the actual main character this whole thing is aliasing (original link:llvm-symbolizer.html) π
β Author β
Maintained by the LLVM Team (https://llvm.org/). they're doing great, honestly π«Ά
π Copyright π
2003-2026, LLVM Project
and that's the whole page, bestie!! π¦ go forth and symbolize your addresses π
sign-off: this little rewrite is dated 2026-05-15, and it's page 21 of the LLVM manual set β LLVM-ADDR2LINE(1) forever, mwah π
π¦ where this page comes from
- fedora 44: llvm21 21.1.8-5.fc44 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- fedora 44: llvm21 21.1.8-5.fc44 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms