[PATCH 1/4] pe/coff: Display GUID build-id in the conventional way
Christopher Faylor
cgf-use-the-mailinglist-please@sourceware.org
Mon Apr 21 14:04:00 GMT 2014
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
More information about the Binutils
mailing list