This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
2010/9/11 Dave Korn <dave.korn.cygwin@gmail.com>: > On 11/09/2010 11:14, Kai Tietz wrote: >> Hello, >> >> this patch adds feature of sorting .pdata elements ascending. >> >> ChangeLog >> >> 2010-09-11 ?Kai Tietz >> >> ? ? ? ? * peXXigen.c (sort_x64_pdata): New helper. >> ? ? ? ? (_bfd_XXi_final_link_postscript): Do pdata sorting. >> >> Tested for x86_64-w64-mingw32 and i686-pc-cygwin. Ok for apply? > > ?Well, one thing ... > > +sort_x64_pdata (const void *l, const void *r) > +{ > + ?const void *lp = ((const void *) l); > + ?const void *rp = ((const void *) r); > > ... why are you casting those const void *s to const void *? ?It looks like a > thinko to me. Well, those lines are a habit (normally qsort works on arrays, so a dereferencing is necessary, but here the field itself is sorted and so this cast is superflous). I'll update it. > ?BTW, the fact that you can just sort all the pdata elements like that and > there's nothing to update in the testsuite... that indicates there's nothing > testing that .pdata section contents get correctly generated, doesn't it? ?How > would we know if the sort routine is even working at all? ?(Well obviously I > suppose you've checked some files manually, but this could really do with at > least a trivial dump test to make sure that the whole shebang keeps working.) > > ? ?cheers, > ? ? ?DaveK Well, there is a way to check this (if you having a gcc version which is able to produce pdata entries). The objdump tools supports dumping of pdata/xdata for x64 and here you can see that entries are sorted afterwards. The sorting itself is btw mentioned in pe-coff specification, so I assume that other targets - like arm wince - need here sorting in future, too. But as they aren't using SEH at the moment (at least status of binutils indicates that), I spared here the casing for other targets for this. We will add testcases for x64 SEH, when initial support of x64 SEH is in gcc. Regards, Kai -- |? (\_/) This is Bunny. Copy and paste | (='.'=) Bunny into your signature to help | (")_(") him gain world domination
Attachment:
sort_pdata.diff
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |