From: George Dunlap <george.dunlap@citrix.com>
To: Olaf Hering <olaf@aepfle.de>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [PATCH] xenalyze: add missing casts to fix 64bit build
Date: Thu, 26 Jan 2012 12:27:35 +0000 [thread overview]
Message-ID: <1327580855.24345.1.camel@elijah> (raw)
In-Reply-To: <94f71dded5ab5a31224b.1326376371@probook.site>
[-- Attachment #1: Type: text/plain, Size: 3557 bytes --]
How about this patch instead? It makes the base variable "long", so
that we don't need the extra intermediate cast.
-George
On Thu, 2012-01-12 at 13:52 +0000, Olaf Hering wrote:
> # HG changeset patch
> # User Olaf Hering <olaf@aepfle.de>
> # Date 1326374876 -3600
> # Node ID 94f71dded5ab5a31224b852aac6b238b590b7b25
> # Parent 223e8ad4c7557960e29a7c294bb94723b2cd7f09
> xenalyze: add missing casts to fix 64bit build
>
> xenalyze.c: In function 'hvm_mmio_summary':
> xenalyze.c:3728: error: cast from pointer to integer of different size
> xenalyze.c: In function 'hvm_mmio_assist_postprocess':
> xenalyze.c:3743: error: cast to pointer from integer of different size
> xenalyze.c:3747: error: cast to pointer from integer of different size
> xenalyze.c:3759: error: cast to pointer from integer of different size
> xenalyze.c: In function 'hvm_cr_write_summary':
> xenalyze.c:4251: error: cast from pointer to integer of different size
> xenalyze.c: In function 'hvm_generic_summary':
> xenalyze.c:4800: error: cast from pointer to integer of different size
> xenalyze.c: In function 'hvm_generic_postprocess':
> xenalyze.c:4871: error: cast to pointer from integer of different size
> make: *** [xenalyze] Error 1
>
> Signed-off-by: Olaf Hering <olaf@aepfle.de>
>
> diff -r 223e8ad4c755 -r 94f71dded5ab xenalyze.c
> --- a/xenalyze.c
> +++ b/xenalyze.c
> @@ -3725,7 +3725,7 @@ void enumerate_mmio(struct hvm_data *h)
>
> void hvm_mmio_summary(struct hvm_data *h, void *data)
> {
> - int reason=(int)data;
> + int reason=(long)data;
>
> PRINT_SUMMARY(h->summary.mmio[reason],
> " mmio ");
> @@ -3740,11 +3740,11 @@ void hvm_mmio_assist_postprocess(struct
> case VMEXIT_NPF:
> case EXIT_REASON_EPT_VIOLATION:
> reason=NONPF_MMIO_NPF;
> - hvm_set_summary_handler(h, hvm_mmio_summary, (void *)reason);
> + hvm_set_summary_handler(h, hvm_mmio_summary, (void *)(long)reason);
> break;
> case EXIT_REASON_APIC_ACCESS:
> reason=NONPF_MMIO_APIC;
> - hvm_set_summary_handler(h, hvm_mmio_summary, (void *)reason);
> + hvm_set_summary_handler(h, hvm_mmio_summary, (void *)(long)reason);
> break;
> default:
> {
> @@ -3756,7 +3756,7 @@ void hvm_mmio_assist_postprocess(struct
> warned=1;
> }
> reason=NONPF_MMIO_UNKNOWN;
> - hvm_set_summary_handler(h, hvm_mmio_summary, (void *)reason);
> + hvm_set_summary_handler(h, hvm_mmio_summary, (void *)(long)reason);
> break;
> }
> }
> @@ -4248,7 +4248,7 @@ void hvm_cr3_write_summary(struct hvm_da
>
> void hvm_cr_write_summary(struct hvm_data *h, void *data)
> {
> - int cr=(int)data;
> + int cr=(long)data;
>
> PRINT_SUMMARY(h->summary.cr_write[cr],
> " cr%d ", cr);
> @@ -4797,7 +4797,7 @@ void hvm_rdtsc_process(struct record_inf
>
> void hvm_generic_summary(struct hvm_data *h, void *data)
> {
> - int evt = (int)data;
> + int evt = (long)data;
>
> assert(evt < HVM_EVENT_HANDLER_MAX);
>
> @@ -4868,7 +4868,7 @@ void hvm_generic_postprocess(struct hvm_
> else
> {
> int ret;
> - if((ret=__hvm_set_summary_handler(h, hvm_generic_summary, (void *)evt)))
> + if((ret=__hvm_set_summary_handler(h, hvm_generic_summary, (void *)(long)evt)))
> fprintf(stderr, "%s: hvm_set_summary_handler returned %d\n",
> __func__, ret);
> registered[evt]=h->exit_reason+1;
[-- Attachment #2: pointer-casts-long.diff --]
[-- Type: text/x-patch, Size: 4980 bytes --]
>From olaf@aepfle.de Thu Jan 12 13:53:15 2012
Received: from SMTP.EU.CITRIX.COM (10.31.1.27) by LONPMAILMX02.citrite.net
(10.30.203.163) with Microsoft SMTP Server id 8.3.213.0; Thu, 12 Jan 2012
13:53:15 +0000
Received: from mo-p00-ob.rzone.de ([81.169.146.161]) by SMTP.EU.CITRIX.COM
with ESMTP/TLS/EDH-RSA-DES-CBC3-SHA; 12 Jan 2012 13:53:15 +0000
Received: from probook.site (dslb-088-065-110-122.pools.arcor-ip.net
[88.65.110.122]) by smtp.strato.de (fruni mo6) (RZmta 27.3 DYNA|AUTH) with
(EDH-RSA-DES-CBC3-SHA encrypted) ESMTPA id z02699o0CDYeUs ; Thu, 12 Jan
2012 14:52:52 +0100 (MET)
Received: from probook.site (localhost [IPv6:::1]) by probook.site
(Postfix) with ESMTP id CB15318634; Thu, 12 Jan 2012 14:52:51 +0100 (CET)
From: Olaf Hering <olaf@aepfle.de>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
CC: George Dunlap <George.Dunlap@eu.citrix.com>
Date: Thu, 12 Jan 2012 13:52:51 +0000
Subject: [PATCH] xenalyze: add missing casts to fix 64bit build
Thread-Topic: [PATCH] xenalyze: add missing casts to fix 64bit build
Thread-Index: AczRMYilUkKqxSPMTEShuD89quR++A==
Message-ID: <94f71dded5ab5a31224b.1326376371@probook.site>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-Exchange-Organization-AuthSource: LONPMAILMX02.citrite.net
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-sbrs: 4.1
x-mesageid: 9971216
x-ironport-server: LONPIP01.CITRITE.NET
x-remote-ip: 81.169.146.161
x-policy: $ACCEPTED
x-ironport-anti-spam-filtered: true
x-ironport-anti-spam-result:
Av4BAC/lDk9RqZKhjWdsb2JhbABDrQkiAQEBAQkJCwkSBSKCIBMGOQE7FR8uM4d8pTeSBweJAYMcmlCMfw
x-ironport-av: E=Sophos;i="4.71,498,1320624000"; d="scan'208";a="9971216"
dkim-signature: v=1; a=rsa-sha1; c=relaxed/relaxed; t=1326376394; l=2969;
s=domk; d=aepfle.de;
h=Cc:To:From:Date:Subject:Content-Transfer-Encoding:MIME-Version:
Content-Type:X-RZG-CLASS-ID:X-RZG-AUTH; bh=X6Rg3zN9hR3a7o+4QJ3b3HFlrL4=;
b=RcH7lQSvp2kGDWRXGFz1E40PbfO1PoHdjMME7T8HAdtB1mqhT6K6IWFhRHH+Hf4OGtU
xcWSK9jxQs13YdFzUOVXZhXnodRlFPorCXKzZ2Hikbs9qrZR7F0qT2V1XFzHzdEPRK1kR
Tt2x7tJWIqguMAx/Jx/Ve4IOxfrAeOmyBIk=
user-agent: Mercurial-patchbomb/1.7.5
x-rzg-class-id: mo00
x-rzg-auth: :P2EQZWCpfu+qG7CngxMFH1J+zrwiavkK6tmQaLfmztM8TOFPjzMQEiX0jA==
x-mercurial-node: 94f71dded5ab5a31224b852aac6b238b590b7b25
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
X-Evolution-Source: imap://georged@lonpmailmx01.citrite.net/
Content-Transfer-Encoding: 8bit
# HG changeset patch
# User Olaf Hering <olaf@aepfle.de>
# Date 1326374876 -3600
# Node ID 94f71dded5ab5a31224b852aac6b238b590b7b25
# Parent 223e8ad4c7557960e29a7c294bb94723b2cd7f09
xenalyze: Use long to cast into and out of pointers
64-bit compileers will complain when casting into our out of
a pointer if the integer is not of the same size; so make all things
which are cast into or out of pointers "long", which translates
to 32-bit on 32-bit systems and 64-bit on 64-bit systems.
Reported-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
diff -r 223e8ad4c755 xenalyze.c
--- a/xenalyze.c Mon Nov 28 16:16:23 2011 +0000
+++ b/xenalyze.c Thu Jan 26 12:25:31 2012 +0000
@@ -3725,7 +3725,7 @@ void enumerate_mmio(struct hvm_data *h)
void hvm_mmio_summary(struct hvm_data *h, void *data)
{
- int reason=(int)data;
+ long reason=(long)data;
PRINT_SUMMARY(h->summary.mmio[reason],
" mmio ");
@@ -3733,7 +3733,7 @@ void hvm_mmio_summary(struct hvm_data *h
void hvm_mmio_assist_postprocess(struct hvm_data *h)
{
- int reason;
+ long reason;
switch(h->exit_reason)
{
@@ -4248,10 +4248,10 @@ void hvm_cr3_write_summary(struct hvm_da
void hvm_cr_write_summary(struct hvm_data *h, void *data)
{
- int cr=(int)data;
+ long cr=(long)data;
PRINT_SUMMARY(h->summary.cr_write[cr],
- " cr%d ", cr);
+ " cr%ld ", cr);
if ( cr==3 )
hvm_cr3_write_summary(h);
}
@@ -4797,7 +4797,7 @@ void hvm_rdtsc_process(struct record_inf
void hvm_generic_summary(struct hvm_data *h, void *data)
{
- int evt = (int)data;
+ long evt = (long)data;
assert(evt < HVM_EVENT_HANDLER_MAX);
@@ -4808,7 +4808,7 @@ void hvm_generic_summary(struct hvm_data
void hvm_generic_postprocess(struct hvm_data *h)
{
- int evt = 0;
+ long evt = 0;
static unsigned registered[HVM_EVENT_HANDLER_MAX] = { 0 };
if ( h->inflight.generic.event )
@@ -4860,7 +4860,7 @@ void hvm_generic_postprocess(struct hvm_
static unsigned warned[HVM_EXIT_REASON_MAX] = { 0 };
if ( registered[evt] != h->exit_reason+1 && !warned[h->exit_reason])
{
- fprintf(warn, "%s: HVM evt %x in %x and %x!\n",
+ fprintf(warn, "%s: HVM evt %lx in %x and %x!\n",
__func__, evt, registered[evt]-1, h->exit_reason);
warned[h->exit_reason]=1;
}
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
next prev parent reply other threads:[~2012-01-26 12:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-12 13:52 [PATCH] xenalyze: add missing casts to fix 64bit build Olaf Hering
2012-01-12 17:56 ` Ian Jackson
2012-01-26 12:27 ` George Dunlap [this message]
2012-01-26 16:43 ` Olaf Hering
2012-01-26 16:45 ` George Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1327580855.24345.1.camel@elijah \
--to=george.dunlap@citrix.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=olaf@aepfle.de \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.