$ cat tinline.c int i; static inline int finline(void) { i++; } main() { finline(); } $ gcc -O2 -gsplit-dwarf tinline.c $ addr2line -i -e a.out 0x4003b0 /home/ak/tsrc/tinline.c:6 $ gcc -O2 -g tinline.c $ addr2line -i -e a.out 0x4003b0 /home/ak/tsrc/tinline.c:6 /home/ak/tsrc/tinline.c:12 $ Similar with objdump. Happens on mainline too. This currently affects the Linux kernel.
dwarf2.c supports alternate debug info source, just not DW_AT_GNU_dwo_name.