[PATCH] [binutils/readelf] Fix printing of dwarf5 .debug_info.dwo
Tom de Vries
tdevries@suse.de
Thu May 30 12:22:59 GMT 2024
On 5/30/24 13:03, Nick Clifton wrote:
> Hi Tom,
>
>> Fix this by assuming a sane default for str_offsets_base for dwarf5:
>> the size
>> of the header of the .debug_str_offsets section, which is 8 for 32-bit
>> dwarf
>> and 16 for 64-bit dwarf.
>>
>> Implement this by moving the reading of DW_AT_str_offsets_base to
>> read_bases,
>> which also fixes the printing of DW_FORM_strx strings in the skeleton
>> compilation unit entries for attributes before the DW_AT_str_offsets_base
>> attribute.
>>
>> Conforming with the other code in read_bases, we only handle
>> DW_FORM_sec_offset, which means the code dealing with negative
>> str_offsets_base can be dropped.
>>
>> Tested on x86_64-linux.
>
> The patch itself looks fine, but the new test fails for some targets,
> such as:
>
> alpha-linux-gnu
> mipsisa64r6-elf
> nios2-elf
>
> The failure message looks like this:
>
> output: readelf: Warning: DIE at offset 0x14 refers to abbreviation
> number 15349 which does not exist
>
> Also the sh-elf target fails but for a different reason:
>
> readelf-str-offsets-base.s: Assembler messages:
> readelf-str-offsets-base.s:17: Error: misaligned data
>
> Would you mind taking a look at these please ?
>
> It is OK to skip the test for a particular architecture if there
> is a good reason for it. But if you do decide to do that, please
> add the reason into the test driver file as a comment.
>
Hi Nick,
thanks for the review.
These failures where caused by using directives that were not a fixed
amount of bytes. Fixed in a v2 submitted here (
https://sourceware.org/pipermail/binutils/2024-May/134421.html ).
Thanks,
- Tom
> Cheers
> Nick
>
>
More information about the Binutils
mailing list