Misinterpreted FILE note for 32bit core files in readelf

Mark Wielaard mjw at redhat.com
Thu Apr 10 11:55:47 UTC 2014


On Thu, 2014-04-10 at 10:42 +0200, Markus Engel wrote:
> For 32bit core files, the FILE note is misinterpreted (tested in Version 
> 0.158 and git with readelf being a 64 and 32 bit binary), here is an 
> example output:
> CORE                  72  FILE
>      2 files:
>        00000000-080eb000 36d67b6ccd38000 135180288    gel/z/a.out
>      Not enough data in NT_FILE note.
> 
> In readelf.c:handle_file_note, count and page_size are already 
> interpreted as 64 bit values, which advances ptr by 2*8 instead of 2*4.
> I traced this further to buf_read_ulong, where u has a size of 8, which 
> is given to convert, returning data + 8.
> Besides tracing these things I don't know how to fix it, mostly because 
> I don't know where exactly things go an unintended way :)

Thanks for the report. I can confirm that a core file list generated by
the 3.13 linux kernel on x86_64 looks fine with eu-readelf -n, but looks
bad, giving "Not enough data in NT_FILE note." on i686. I'll try to
figure out where things go wrong.

Cheers,

Mark



More information about the elfutils-devel mailing list