[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug binutils/27387] [readelf] Support -ggdb3 -gsplit-dwarf output
From: |
nickc at redhat dot com |
Subject: |
[Bug binutils/27387] [readelf] Support -ggdb3 -gsplit-dwarf output |
Date: |
Mon, 01 Mar 2021 11:58:46 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=27387
--- Comment #13 from Nick Clifton <nickc at redhat dot com> ---
Hi Tom,
> > .section .debug_macro.dwo,"e",@progbits
> > .value 0x4 # DWARF macro version number
I think that this may be a clue. It looks like the assembler is creating
version 4 .debug_macro.dwo sections, but the DWARF-5 standard only defines
version 5 sections. Ie, the assembler is for a proposed GNU extension to
DWARF, rather than for an official DWARF-5 version.
I think that this matters because of the following bytes:
[This is from the second .debug_macro.dwo section in hello.s, as this
is simpler):
.value 0x4 <= version
.byte 0 <= flags
.byte 0x5
.uleb128 0x13
.uleb128 0x2a4
According to my reading of section 6.3.1 there ought to be *two* bytes
following the flags, and before the first LEB128 value:
"The table starts with a 1-byte count of the defined opcodes,
followed by an entry for each of those opcodes. Each entry
starts with a 1-byte unsigned opcode number ..."
And then only one LEB128 value for each entry:
"... followed by unsigned LEB128 encoded number of operands
and for each operand there is a single unsigned byte
describing the form in which the operand is encoded."
So basically the encoding sequence used for v4 .debug_macro.dwo
sections is completely different from the encoding for v5 sections.
Hence I think that we need to find the specification for this v4
type of section. Do you know where it might be found ?
I also suspect that the "version 0" errors that we have been seeing
are due to the tools trying to interpret these sections as v5
sections, and so getting very confused.
Cheers
Nick
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug binutils/27387] [readelf] Support -ggdb3 -gsplit-dwarf output,
nickc at redhat dot com <=
- [Bug binutils/27387] [readelf] Support -ggdb3 -gsplit-dwarf output, vries at gcc dot gnu.org, 2021/03/01
- [Bug binutils/27387] [readelf] Support -ggdb3 -gsplit-dwarf output, vries at gcc dot gnu.org, 2021/03/01
- [Bug binutils/27387] [readelf] Support -ggdb3 -gsplit-dwarf output, vries at gcc dot gnu.org, 2021/03/01
- [Bug binutils/27387] [readelf] Support -ggdb3 -gsplit-dwarf output, vries at gcc dot gnu.org, 2021/03/01
- [Bug binutils/27387] [readelf] Support -ggdb3 -gsplit-dwarf output, cvs-commit at gcc dot gnu.org, 2021/03/05
- [Bug binutils/27387] [readelf] Support -ggdb3 -gsplit-dwarf output, nickc at redhat dot com, 2021/03/05