---
name: "llvm-addr2line"
section: "1"
platform: "linux"
package: "llvm"
version: "23.1.4-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/llvm-addr2line"
---

# llvm-addr2line(1)

a drop-in replacement for addr2line

## NAME

llvm-addr2line - a drop-in replacement for addr2line

## SYNOPSIS

**llvm-addr2line** \[*options*\]

## DESCRIPTION

**llvm-addr2line** is an alias for the **[llvm-symbolizer(1)](/llvm-symbolizer/1.md) \<llvm-symbolizer.html\>** tool with different defaults. The goal is to make it a drop-in replacement for GNU's **addr2line**.

Here are some of those differences:

- •

  **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.

- •

  **llvm-addr2line** defaults not to print function names. Use -f \<llvm-symbolizer.html#llvm-symbolizer-opt-f\> to enable that.

- •

  **llvm-addr2line** defaults not to demangle function names. Use -C \<llvm-symbolizer.html#llvm-symbolizer-opt-c\> to switch the demangling on.

- •

  **llvm-addr2line** defaults not to print inlined frames. Use -i \<llvm-symbolizer.html#llvm-symbolizer-opt-i\> to show inlined frames for a source code location in an inlined function.

- •

  **llvm-addr2line** uses --output-style=GNU \<llvm-symbolizer.html#llvm-symbolizer-opt-output-style\> by default.

- •

  **llvm-addr2line** parses options from the environment variable **LLVM\_ADDR2LINE\_OPTS** instead of from **LLVM\_SYMBOLIZER\_OPTS**.

- •

  **llvm-addr2line** accepts an address with a '+' prefix, e.g. *+0x00777fff*. This is treated as a symbol name by **llvm-symbolizer**.

## SEE ALSO

**[llvm-symbolizer(1)](/llvm-symbolizer/1.md) \<llvm-symbolizer.html\>**

## Author

Maintained by the LLVM Team (https://llvm.org/).

## Copyright

2003-2026, LLVM Project
