Message ID | 1347753913-5305-1-git-send-email-vapier@gentoo.org |
---|---|
State | New |
Headers | show |
On Sun, Sep 16, 2012 at 12:05 AM, Mike Frysinger <vapier@gentoo.org> wrote: > Current code triggers: > memory.c: In function 'invalid_read': > memory.c:1001: warning: format '%#x' expects type 'unsigned int', > but argument 4 has type 'target_phys_addr_t' > memory.c: In function 'invalid_write': > memory.c:1013: warning: format '%#x' expects type 'unsigned int', > but argument 4 has type 'target_phys_addr_t' > > Signed-off-by: Mike Frysinger <vapier@gentoo.org> > --- > memory.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/memory.c b/memory.c > index 58a242d..7d5f4a3 100644 > --- a/memory.c > +++ b/memory.c > @@ -998,7 +998,8 @@ static uint64_t invalid_read(void *opaque, target_phys_addr_t addr, > MemoryRegion *mr = opaque; > > if (!mr->warning_printed) { > - fprintf(stderr, "Invalid read from memory region %s at offset %#x\n", mr->name, addr); > + fprintf(stderr, "Invalid read from memory region %s at offset %#llx\n", > + mr->name, (unsigned long long)addr); The right way is not adding potentially dangerous casts but using TARGET_PRIxPHYS or TARGET_FMT_plx. > mr->warning_printed = true; > } > return -1U; > @@ -1010,7 +1011,8 @@ static void invalid_write(void *opaque, target_phys_addr_t addr, uint64_t data, > MemoryRegion *mr = opaque; > > if (!mr->warning_printed) { > - fprintf(stderr, "Invalid write to memory region %s at offset %#x\n", mr->name, addr); > + fprintf(stderr, "Invalid write to memory region %s at offset %#llx\n", > + mr->name, (unsigned long long)addr); > mr->warning_printed = true; > } > } > -- > 1.7.9.7 > >
On 2012-09-16 02:05, Mike Frysinger wrote: > Current code triggers: > memory.c: In function 'invalid_read': > memory.c:1001: warning: format '%#x' expects type 'unsigned int', > but argument 4 has type 'target_phys_addr_t' > memory.c: In function 'invalid_write': > memory.c:1013: warning: format '%#x' expects type 'unsigned int', > but argument 4 has type 'target_phys_addr_t' This version was never in git. Which QEMU are you patching, a local one? Jan > > Signed-off-by: Mike Frysinger <vapier@gentoo.org> > --- > memory.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/memory.c b/memory.c > index 58a242d..7d5f4a3 100644 > --- a/memory.c > +++ b/memory.c > @@ -998,7 +998,8 @@ static uint64_t invalid_read(void *opaque, target_phys_addr_t addr, > MemoryRegion *mr = opaque; > > if (!mr->warning_printed) { > - fprintf(stderr, "Invalid read from memory region %s at offset %#x\n", mr->name, addr); > + fprintf(stderr, "Invalid read from memory region %s at offset %#llx\n", > + mr->name, (unsigned long long)addr); > mr->warning_printed = true; > } > return -1U; > @@ -1010,7 +1011,8 @@ static void invalid_write(void *opaque, target_phys_addr_t addr, uint64_t data, > MemoryRegion *mr = opaque; > > if (!mr->warning_printed) { > - fprintf(stderr, "Invalid write to memory region %s at offset %#x\n", mr->name, addr); > + fprintf(stderr, "Invalid write to memory region %s at offset %#llx\n", > + mr->name, (unsigned long long)addr); > mr->warning_printed = true; > } > } >
On Sunday 16 September 2012 03:24:22 Blue Swirl wrote: > On Sun, Sep 16, 2012 at 12:05 AM, Mike Frysinger wrote: > > Current code triggers: > > memory.c: In function 'invalid_read': > > memory.c:1001: warning: format '%#x' expects type 'unsigned int', > > but argument 4 has type 'target_phys_addr_t' > > memory.c: In function 'invalid_write': > > memory.c:1013: warning: format '%#x' expects type 'unsigned int', > > but argument 4 has type 'target_phys_addr_t' > > > > - fprintf(stderr, "Invalid read from memory region %s at offset > > %#x\n", mr->name, addr); + fprintf(stderr, "Invalid read from > > memory region %s at offset %#llx\n", + mr->name, > > (unsigned long long)addr); > > The right way is not adding potentially dangerous casts they're not dangerous here at all > but using TARGET_PRIxPHYS or TARGET_FMT_plx. np. i just copied what was already in memory.c, but i guess that's broken too. -mike
diff --git a/memory.c b/memory.c index 58a242d..7d5f4a3 100644 --- a/memory.c +++ b/memory.c @@ -998,7 +998,8 @@ static uint64_t invalid_read(void *opaque, target_phys_addr_t addr, MemoryRegion *mr = opaque; if (!mr->warning_printed) { - fprintf(stderr, "Invalid read from memory region %s at offset %#x\n", mr->name, addr); + fprintf(stderr, "Invalid read from memory region %s at offset %#llx\n", + mr->name, (unsigned long long)addr); mr->warning_printed = true; } return -1U; @@ -1010,7 +1011,8 @@ static void invalid_write(void *opaque, target_phys_addr_t addr, uint64_t data, MemoryRegion *mr = opaque; if (!mr->warning_printed) { - fprintf(stderr, "Invalid write to memory region %s at offset %#x\n", mr->name, addr); + fprintf(stderr, "Invalid write to memory region %s at offset %#llx\n", + mr->name, (unsigned long long)addr); mr->warning_printed = true; } }
Current code triggers: memory.c: In function 'invalid_read': memory.c:1001: warning: format '%#x' expects type 'unsigned int', but argument 4 has type 'target_phys_addr_t' memory.c: In function 'invalid_write': memory.c:1013: warning: format '%#x' expects type 'unsigned int', but argument 4 has type 'target_phys_addr_t' Signed-off-by: Mike Frysinger <vapier@gentoo.org> --- memory.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)