This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH 1/4] pe/coff: Display GUID build-id in the conventional way
- From: Christopher Faylor <cgf-use-the-mailinglist-please at sourceware dot org>
- To: Jon TURNEY <jon dot turney at dronecode dot org dot uk>, binutils at sourceware dot org
- Date: Mon, 21 Apr 2014 10:04:12 -0400
- Subject: Re: [PATCH 1/4] pe/coff: Display GUID build-id in the conventional way
- Authentication-results: sourceware.org; auth=none
- References: <1397151908-4336-1-git-send-email-jon dot turney at dronecode dot org dot uk> <1397151908-4336-2-git-send-email-jon dot turney at dronecode dot org dot uk>
On Thu, Apr 10, 2014 at 06:45:05PM +0100, Jon TURNEY wrote:
>bfd/ChangeLog:
>
>2014-04-10 Jon TURNEY <jon.turney@dronecode.org.uk>
>
> * peXXigen.c (pe_print_debugdata): Display GUID build-id in the
> conventional way
>
>Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
>---
> bfd/peXXigen.c | 15 ++++++++++++++-
> 1 file changed, 14 insertions(+), 1 deletion(-)
>
>diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c
>index ea7846f..ebb80b1 100644
>--- a/bfd/peXXigen.c
>+++ b/bfd/peXXigen.c
>@@ -2435,7 +2435,20 @@ pe_print_debugdata (bfd * abfd, void * vfile)
> idd.SizeOfData, cvinfo))
> continue;
>
>- for (i = 0; i < cvinfo->SignatureLength; i++)
>+ /* The standard way to display a GUID seems to be as 4,2,2 bytes in
>+ host order, followed by 8 single bytes, which we adopt for
>+ consistency with other tools. Display non-GUID signatures as a
>+ sequence of bytes. */
>+ i = 0;
>+ if (cvinfo->SignatureLength >= CV_INFO_SIGNATURE_LENGTH)
>+ {
>+ char *guid = &(cvinfo->Signature[0]);
Isn't this just 'cvinfo->Signature'?
>+ sprintf (signature, "%08x", *(uint32_t *)(guid));
Can't this just be coalesced into one sprintf?
>+ sprintf (signature + 8, "%04x", *(uint16_t *)(guid + 4));
>+ sprintf (signature + 12, "%04x", *(uint16_t *)(guid + 6));
>+ i = 8;
>+ }
cgf