Search code examples
g++objdumpbinutilsreadelfpacman-package-manager

What does "readelf error: LEB value too large" mean?


What exactly does mean this error and what can cause it?

readelf: Error: LEB value too large

What LEB stands for? Lower(st) estimated bound(ary)?

I have seen it many times, in particular when building Archlinux packages.


Solution

  • in the DWARF format context, LEB128 stands for ‘‘Little Endian Base 128’’. LEB128 is a space efficient integer encoding if the numbers are small (see DWARF spec: http://dwarfstd.org/doc/DWARF4.pdf , Appendix 4)

    The error you faced seems to be caused by a bug of binutils "a bogus error message from the DWARF LEB128 decoder when trying to read a signed LEB128 value containing the largest possible signed negative integer value."

    see https://www.mail-archive.com/[email protected]/msg35315.html