https://sourceware.org/bugzilla/show_bug.cgi?id=32927
--- Comment #2 from Henning Meyer <hmeyer.eu at gmail dot com> ---
The following C++ program represents the simplest example I could find that is
complicated enough to warrant the creation of discontinuous ranges in debug
information:
#include <memory>
struct Base {};
void func() {
static std::unique_ptr<Base> varStatic = std::make_unique<Base>();
}
int main(int, char**) {
func();
return 0;
}
I compile with g++-14 -g3 -gdwarf-5 -O2 -c:
readelf --dwarf-check --debug-dump=Ranges
Contents of the .debug_rnglists section:
readelf: Warning: Range lists in .debug_rnglists section start at 0xc
Table at Offset: 0:
Length: 0x5d
DWARF version: 5
Address size: 8
Segment size: 0
Offset entries: 0
Offset Begin End
0000000c 0000000000000024 (base address)
00000015 0000000000000024 000000000000002e
00000018 000000000000003c 0000000000000043
0000001b <End of list>
readelf: Warning: There is a hole [0xc - 0x1c] in .debug_rnglists section.
0000001c 000000000000002e (base address)
00000025 000000000000002e 000000000000002e (start == end)
00000028 000000000000003c 0000000000000043
0000002b <End of list>
readelf: Warning: There is a hole [0x1c - 0x2c] in .debug_rnglists section.
0000002c 000000000000002e (base address)
00000035 000000000000002e 000000000000003c
00000038 0000000000000043 000000000000004f
0000003b 0000000000000050 0000000000000053
0000003e 0000000000000055 000000000000005e
00000041 <End of list>
readelf: Warning: There is a hole [0x2c - 0x42] in .debug_rnglists section.
00000042 0000000000000000 0000000000000076
0000004c 0000000000000000 0000000000000017
00000056 0000000000000000 000000000000000e
00000060 <End of list>
(That is the complete output). I can attach the binary, it is 180K in size.
--
You are receiving this mail because:
You are on the CC list for the bug.