Bug 24756 - Unknown debugging section .debug_addr (-gsplit-dwarf)
Summary: Unknown debugging section .debug_addr (-gsplit-dwarf)
Status: NEW
Alias: None
Product: dwz
Classification: Unclassified
Component: default (show other bugs)
Version: unspecified
: P2 enhancement
Target Milestone: ---
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-07-02 10:25 UTC by Matthias Klose
Modified: 2024-02-03 13:30 UTC (History)
5 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Klose 2019-07-02 10:25:49 UTC
seen with 0.12, and trunk 20190702 on i686-linux-gnu:

$ dwz -mlibpocl2.debug -Mlibpocl2.debug -- libpocl.so.2.2.0 libllvmopencl.so
dwz: libpocl.so.2.2.0: Unknown debugging section .debug_addr
dwz: libllvmopencl.so: Unknown debugging section .debug_addr
dwz: Too few files for multifile optimization

test case at
https://people.debian.org/~doko/tmp/dwz-tst-i386.tar.xz
Comment 1 Tom de Vries 2019-07-02 10:30:33 UTC
This can easily be reproduced with:
...
$ gcc hello.c -gsplit-dwarf -g -c
$ gcc hello.o -g
$ dwz a.out
dwz: a.out: Unknown debugging section .debug_addr
...
Comment 2 Mark Wielaard 2019-07-02 10:49:48 UTC
The reproducer in comment #2 is nicer because it will have the .dwo files, which need to somehow be handled.

The testcase from the description has been executables linked with some object files which were compiled with -gsplit-dwarf, because it does have some skeleton units (and a .debug_addr section) but is missing the .dwo files (or .dwp archive) containing the split unit sections. Without the split units you cannot resolve the skeleton units (the split units will refer to the .debug_addr table).