[patch]: Dump of .pdata/.xdata for x64 coff

Kai Tietz ktietz70@googlemail.com
Mon Apr 20 07:36:00 GMT 2009


2009/4/20 Dave Korn <dave.korn.cygwin@googlemail.com>:
> Kai Tietz wrote:
>> Hello,
>>
>> I reworked the patch and add some constants, helper macros, and
>> structures for pdata/xdata interpretation to coff/x86_64.h file. So
>> the code gets a bit more clear. Additional I could clarify the
>> unwind_info flag value 3.
>
>    Hi Kai,
>
>  This is all excellent now, thanks for doing such a great job!
>
>> Tested for x86_64-pc-mingw32 and regression test on i686-pc-cygwin.
>>
>> Ok for apply?
>
>  ... I have a suggestion: since .pdata and .xdata are only features of PE
> targets, shouldn't it work just as well to put the data structures and macros
> into include/coff/pe.h?
>
>  I've attached a minor respin of your patch, which does this.  I also tweaked
> a couple of tiny grammar/spelling nits, and I added a bit of constification;
> you have these functions that play a sort of _swap_XXX_in role, so I thought
> it would be nice if they consistently took a const pointer to the raw external
> format data.  That had a minor knock-on effect via ui->rawUnwindCodes and
> ui->rawScopeEntries, so the outcome was that I made everything below the level
> of pex64_bfd_print_pdata() treat the external data as const.  Oh, and I found
> an unused file scope version of "struct pex64_scope_entry se;" and removed it.
>
>  What do you think?  I tested it on i686-pc-cygwin and cross to
> x86_64-pc-mingw32 without any regressions, and I've kicked off an overnight
> test run against my standard list of 70-or-so random PE and COFF (and just a
> couple of ELF!) targets.  If you like it, I'll leave it to you to adjust the
> changelog entry when the formal OK is given.
>
>    cheers,
>      DaveK
>
>

Hello Dave,

Thanks for going through the language nits ;) To move the definitions
into pe.h is fine for me. I putted it into coff/x86_64.h because they
are x64 dependent only, but pe.h is fine, too.
About the const of the data block. I made it first const, too, like
you did now. I reverted this, because otherwise we would have to
redefine a new structure, when we begin to generate those entries.
Without const we can do without this need. So with the const in
structures I am not that happy here.

Cheers,
Kai

-- 
|  (\_/) This is Bunny. Copy and paste
| (='.'=) Bunny into your signature to help
| (")_(") him gain world domination



More information about the Binutils mailing list