https://sourceware.org/bugzilla/show_bug.cgi?id=26548
Bug ID: 26548
Summary: LEB decoding error
Product: binutils
Version: 2.34
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: binutils
Assignee: unassigned at sourceware dot org
Reporter: laurent.stacul at amadeus dot com
Target Milestone: ---
Let's consider the following program:
#include <limits>
#include <iostream>
int main(int argc, const char *argv[])
{
std::cout << std::numeric_limits<long>::min() <<std::endl;
return 0;
}
This program works as expected.
If I compile it with the debug symbols (g++ -g), and try to retrieve the debug
info with readelf:
> readelf --debug-dump=info a.out
I have the following behaviour:
- version <= 2.33: no error
- version == 2.34: Error: LEB value too large
- version == 2.35: Error: /workdir/src/binutils-2.35.0/binutils/dwarf.c:2231:
read LEB value is too large to store in destination variable
It fails when decoding the DW_TAG_variable describing
'_ZN9__gnu_cxx24__numeric_traits_integerIlE5__minE'.
Laurent
System information:
OS: Ubuntu 20.04 LTS
g++: (Ubuntu 9.3.0-10ubuntu2) 9.3.0
GNU readelf (GNU Binutils for Ubuntu) 2.34
(I also reproduce the described problem with other combinations of the binutils
(up to 2.35) and gcc (up to 11 experimental)).
--
You are receiving this mail because:
You are on the CC list for the bug.