LLVM-ADDR2LINE(1)

πŸ’– LLVM-ADDR2LINE πŸ’–

okay bestie, welcome to llvm-addr2line, a page from the LLVM manual collection (section 1, the user commands girlies πŸ’…). she's a whole vibe and also a drop-in replacement for addr2line, so let's get into it ✨


🌸 NAME 🌸

llvm-addr2line β€” a drop-in replacement for addr2line. literally that's her job. no cap 🫢


✨ SYNOPSIS ✨

llvm-addr2line [options]

that's it. that's the whole thing. she takes options and she slays πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the tea πŸ“: llvm-addr2line is an alias for the llvm-symbolizer(1) tool, but with different defaults. the goal is to make it a drop-in replacement for GNU's addr2line. she's cosplaying, but she's good at it πŸ‘‘

here are some of those differences, and yes you need to know all of them:

  • llvm-addr2line interprets all addresses as hexadecimal and ignores an optional 0x prefix, whereas llvm-symbolizer attempts to determine the base from the literal's prefix and defaults to decimal if there is no prefix. so like, hex is the moment, always 🌈
  • llvm-addr2line defaults not to print function names. use -f to enable that.
  • llvm-addr2line defaults not to demangle function names. use -C to switch the demangling on.
  • llvm-addr2line defaults not to print inlined frames. use -i to show inlined frames for a source code location in an inlined function.
  • llvm-addr2line uses --output-style=GNU by default. periodt.
  • llvm-addr2line parses options from the environment variable LLVM_ADDR2LINE_OPTS instead of from LLVM_SYMBOLIZER_OPTS. not me remembering the right env var for once 😭
fr fr, if you came here expecting llvm-symbolizer behaviour out of the box, she said no πŸ’€ flip the flags, bestie.

πŸŽ€ SEE ALSO πŸŽ€


πŸ’œ AUTHOR πŸ’œ

Maintained by the LLVM Team (https://llvm.org/). iconic behaviour, honestly 🫢


2003-2025, LLVM Project. the range is giving longevity πŸ’…


and that's the page, bestie 🧚 thanks for reading, she's version 14, dated 2025-05-22, and she's from LLVM β€” go forth and symbolize those addresses πŸŒΈπŸ’–βœ¨

πŸ“¦ where this page comes from