This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
RE: [RFC] Add support for printing pdata for x86_64 pe coff objects
- From: "Pierre Muller" <pierre dot muller at ics-cnrs dot unistra dot fr>
- To: "'Nicholas Clifton'" <nickc at redhat dot com>, <binutils at sourceware dot org>
- Date: Wed, 24 Dec 2014 00:08:40 +0100
- Subject: RE: [RFC] Add support for printing pdata for x86_64 pe coff objects
- Authentication-results: sourceware.org; auth=none
- References: <004201cfdd49$be9683c0$3bc38b40$ at muller@ics-cnrs.unistra.fr> <5499A8D3 dot 4090900 at redhat dot com>
Hi Nicholas,
thanks for the approval...
The problem is that my patch doesn't seem to work correctly anymore :(
This seems at least partially related to your recent fix for
PR 17512.
Firstly, the check for a zero size is before the
code that I added to support PE object for which size is first zero,
but virtual size must be used instead.
But even after moving the check, I still get only part
of unwind code, while most is simply replaced by
"Too many unwind codes ("...
messages.
This happen while simply trying to display pdata from
windres.o just as complied in binutils build directory for
x86_64-w64-mingw32
using cygwin environment.
It also happens for ./objdump -p ./objdump.exe
which represents a regression as compared to previous behavior.
Did you test my patch after your commit?
But, after testing, it appears that even pristine git shows the same
problem..
I don't know what I should do...
Pierre
> -----Message d'origine-----
> De : Nicholas Clifton [mailto:nickc@redhat.com]
> Envoyé : mardi 23 décembre 2014 18:40
> À : Pierre Muller; binutils@sourceware.org
> Objet : Re: [RFC] Add support for printing pdata for x86_64 pe coff
> objects
>
> Hi Pierre,
>
> > bfd/ChangeLog entry:
> >
> > 2014-10-01 Pierre Muller <muller@sourceware.org>
> >
> > Add support for pdata output for pe coff objects.
> > * pe-x86_64.c (pex64_bfd_print_pdata): Add external
> > declaration.
> > (bfd_pe_print_data): Set macro to pex64_bfd_print_data.
> > * pei-x86_64.c (pex64_bfd_print_pdata): Changed to
> > global function. Now handles multiple .pdata sections.
> > (pex_bfd_print_pdata_section): New static helper function,
> > using most of old pex_bfd_print_pdata function code, but
> adding
> > support for coff pe objects, which might have some fields
> > starting at zero offset.
> > (pex64_print_all_pdata_sections) : New static helper
> function,
> > used in call to bfd_map_over_sections inside new
> > pex66_bfd_print_pdata function.
> > (bfd_boolean pdata_count): New static variable, used to
> return
> > bfd_boolean value for pex64_bfd_print_pdata function.
>
> Approved - please apply.
>
> Sorry for the long delay in reviewing.
>
> Cheers
> Nick