summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2021-05-15 10:48:02 -0400
committerMike Frysinger <vapier@gentoo.org>2021-05-15 11:00:00 -0400
commitbe2bc30f9cb3e8dd8b566db551a8ce3cc305e015 (patch)
treeb956da9b71b744d3600ee4a1a7817c4f92f3c2ba
parentc5a2e0123b7241be6a2022f1acb8fa700dda628a (diff)
downloadbinutils-gdb-be2bc30f9cb3e8dd8b566db551a8ce3cc305e015.tar.gz
sim: ppc: clean up various warnings
A random grab bag of minor fixes to enable -Werror for this port. Cast address vars to long when the format was using %l. Use %zu with sizeof operations. Add const to a bunch of strings. Trim unused variables. Fix sizeof call to calculate target storage and not the pointer itself.
-rw-r--r--sim/ppc/ChangeLog36
-rw-r--r--sim/ppc/Makefile.in3
-rwxr-xr-xsim/ppc/configure22
-rw-r--r--sim/ppc/configure.ac17
-rw-r--r--sim/ppc/device.c12
-rw-r--r--sim/ppc/emul_chirp.c5
-rw-r--r--sim/ppc/hw_glue.c4
-rw-r--r--sim/ppc/hw_ide.c4
-rw-r--r--sim/ppc/hw_init.c4
-rw-r--r--sim/ppc/hw_phb.c4
-rw-r--r--sim/ppc/hw_shm.c3
-rw-r--r--sim/ppc/igen.c1
-rw-r--r--sim/ppc/interrupts.c2
-rw-r--r--sim/ppc/ld-insn.c2
-rw-r--r--sim/ppc/main.c2
-rw-r--r--sim/ppc/options.c2
-rw-r--r--sim/ppc/ppc-instructions5
-rw-r--r--sim/ppc/psim.c26
-rw-r--r--sim/ppc/psim.h10
-rw-r--r--sim/ppc/tree.c2
-rw-r--r--sim/ppc/vm.c6
-rw-r--r--sim/ppc/vm_n.h4
22 files changed, 122 insertions, 54 deletions
diff --git a/sim/ppc/ChangeLog b/sim/ppc/ChangeLog
index e1ed6d624af..42db5f26857 100644
--- a/sim/ppc/ChangeLog
+++ b/sim/ppc/ChangeLog
@@ -1,3 +1,39 @@
+2021-05-15 Mike Frysinger <vapier@gentoo.org>
+
+ * Makefile.in (WERROR_CFLAGS): Define.
+ (STD_CFLAGS): Add $(WERROR_CFLAGS).
+ * configure.ac: Add --enable-werror.
+ * device.c (device_full_name): Delete full_name variable.
+ (device_clean): Delete system variable.
+ * emul_chirp.c (chirp_emul_getprop): Cast vars to unsigned long.
+ (chirp_emul_seek): Likewise.
+ * hw_glue.c (hw_glue_init_address): Use %zu format.
+ * hw_ide.c (hw_ide_io_read_buffer): Cast vars to unsigned long.
+ (hw_ide_io_write_buffer): Likewise.
+ * hw_init.c (update_for_binary_section): Cast vars to unsigned long.
+ * hw_phb.c (hw_phb_dma_read_buffer): Likewise.
+ (hw_phb_dma_write_buffer): Likewise.
+ * hw_shm.c (hw_shm_init_data): Delete d variable.
+ (hw_shm_attach_address_callback): Delete shm variable.
+ * igen.c (gen_semantics_c): Include tree.h.
+ * interrupts.c (alignment_interrupt): Cast vars to unsigned long.
+ * ld-insn.c (dump_insn_field): Cast vars to unsigned long.
+ * main.c (main): Add const to argv.
+ * options.c (print_options): Cast var to int.
+ * ppc-instructions: Add %s to format. Delete shifted variable. Add
+ parenthesis to binary operations.
+ * psim.c (find_arg): Add const to return and argv.
+ (is_num): Add const to string.
+ (psim_options): Add const to return and argv, and p & param.
+ (psim_command): Add const to argv, device, and media.
+ (psim_stack): Add const to argv and envp.
+ * psim.h: Add const to psim_options, psim_command, and psim_stack.
+ * tree.c (parse_reg_property): Delete & from sizeof.
+ * vm.c (om_virtual_to_real): Const vars to long.
+ * vm_n.h (vm_data_map_read_N): Change format to %zu.
+ (vm_data_map_write_N): Likewise.
+ * configure: Regenerate.
+
2021-05-14 Mike Frysinger <vapier@gentoo.org>
* Makefile.in: Update path.
diff --git a/sim/ppc/Makefile.in b/sim/ppc/Makefile.in
index 63b957d1b4f..9fc864e677a 100644
--- a/sim/ppc/Makefile.in
+++ b/sim/ppc/Makefile.in
@@ -64,6 +64,7 @@ AR = @AR@
AR_FLAGS = rc
CC = @CC@
CFLAGS = @CFLAGS@
+WERROR_CFLAGS = @WERROR_CFLAGS@
CC_FOR_BUILD = @CC_FOR_BUILD@
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
BISON = bison
@@ -103,7 +104,7 @@ CONFIG_CFLAGS = \
$(DEVZERO_CFLAGS)
SIM_FPU_CFLAGS = @sim_fpu_cflags@
-STD_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS)
+STD_CFLAGS = $(CFLAGS) $(WERROR_CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS)
NOWARN_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(INCLUDES) $(SIM_FPU_CFLAGS)
BUILD_CFLAGS = $(CFLAGS_FOR_BUILD) $(INCLUDES) $(WARNING_CFLAGS)
diff --git a/sim/ppc/configure b/sim/ppc/configure
index 3de2ba81a82..235595b7b2c 100755
--- a/sim/ppc/configure
+++ b/sim/ppc/configure
@@ -678,6 +678,7 @@ build
REPORT_BUGS_TEXI
REPORT_BUGS_TO
PKGVERSION
+WERROR_CFLAGS
EGREP
GREP
CPP
@@ -773,6 +774,7 @@ enable_sim_stdio
enable_sim_switch
enable_sim_timebase
enable_sim_trace
+enable_werror
enable_sim_warnings
enable_sim_xor_endian
with_pkgversion
@@ -1435,6 +1437,7 @@ Optional Features:
--enable-sim-switch Use a switch instead of a table for instruction call.
--enable-sim-timebase Specify whether the PPC timebase is supported.
--enable-sim-trace Specify whether tracing is supported.
+ --enable-werror treat compile warnings as errors
--enable-sim-warnings=opts Extra CFLAGS for turning on compiler warnings except for idecode.o, semantics.o and psim.o
--enable-sim-xor-endian=n Specify number bytes involved in PowerPC XOR bi-endian mode (default 8).
--enable-plugins Enable support for plugins
@@ -4758,6 +4761,25 @@ _ACEOF
$as_echo "$sim_trace" >&6; }
+# Check whether --enable-werror was given.
+if test "${enable_werror+set}" = set; then :
+ enableval=$enable_werror; case "${enableval}" in
+ yes | y) ERROR_ON_WARNING="yes" ;;
+ no | n) ERROR_ON_WARNING="no" ;;
+ *) as_fn_error $? "bad value ${enableval} for --enable-werror" "$LINENO" 5 ;;
+ esac
+fi
+
+# Enable -Werror by default when using gcc
+if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
+ ERROR_ON_WARNING=yes
+fi
+WERROR_CFLAGS=""
+if test "${ERROR_ON_WARNING}" = yes ; then
+ WERROR_CFLAGS="-Werror"
+fi
+
+
# Check whether --enable-sim-warnings was given.
if test "${enable_sim_warnings+set}" = set; then :
enableval=$enable_sim_warnings; case "${enableval}" in
diff --git a/sim/ppc/configure.ac b/sim/ppc/configure.ac
index 6482fbab1d7..21913a91329 100644
--- a/sim/ppc/configure.ac
+++ b/sim/ppc/configure.ac
@@ -587,6 +587,23 @@ AC_DEFINE_UNQUOTED([WITH_TRACE], [$sim_trace], [Sim trace settings])
AC_MSG_RESULT($sim_trace)
+AC_ARG_ENABLE(werror,
+ AS_HELP_STRING([--enable-werror], [treat compile warnings as errors]),
+ [case "${enableval}" in
+ yes | y) ERROR_ON_WARNING="yes" ;;
+ no | n) ERROR_ON_WARNING="no" ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
+ esac])
+# Enable -Werror by default when using gcc
+if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
+ ERROR_ON_WARNING=yes
+fi
+WERROR_CFLAGS=""
+if test "${ERROR_ON_WARNING}" = yes ; then
+ WERROR_CFLAGS="-Werror"
+fi
+AC_SUBST(WERROR_CFLAGS)
+
AC_ARG_ENABLE(sim-warnings,
[ --enable-sim-warnings=opts Extra CFLAGS for turning on compiler warnings except for idecode.o, semantics.o and psim.o],
[case "${enableval}" in
diff --git a/sim/ppc/device.c b/sim/ppc/device.c
index 6a0209e5ce6..4abef6f9e23 100644
--- a/sim/ppc/device.c
+++ b/sim/ppc/device.c
@@ -180,10 +180,9 @@ device_full_name(device *leaf,
unsigned sizeof_buf)
{
/* get a buffer */
- char full_name[1024];
- if (buf == (char*)0) {
- buf = full_name;
- sizeof_buf = sizeof(full_name);
+ if (buf == NULL) {
+ sizeof_buf = 1024;
+ buf = malloc(sizeof_buf);
}
/* construct a name */
@@ -211,9 +210,6 @@ device_full_name(device *leaf,
strcat (buf, unit);
}
- /* return it usefully */
- if (buf == full_name)
- buf = (char *) strdup(full_name);
return buf;
}
@@ -1915,8 +1911,6 @@ INLINE_DEVICE\
device_clean(device *me,
void *data)
{
- psim *system;
- system = (psim*)data;
TRACE(trace_device_init, ("device_clean - initializing %s", me->path));
clean_device_interrupt_edges(&me->interrupt_destinations);
clean_device_instances(me);
diff --git a/sim/ppc/emul_chirp.c b/sim/ppc/emul_chirp.c
index d4214f51b97..ed49169cc23 100644
--- a/sim/ppc/emul_chirp.c
+++ b/sim/ppc/emul_chirp.c
@@ -533,7 +533,7 @@ chirp_emul_getprop(os_emul_data *data,
break;
case ihandle_property:
TRACE(trace_os_emul, ("getprop - ihandle=0x%lx(0x%lx`%s')\n",
- BE2H_cell(*(unsigned_cell*)prop->array),
+ (unsigned long)BE2H_cell(*(unsigned_cell*)prop->array),
(unsigned long)device_find_ihandle_property(phandle, name),
ihandle_name(device_find_ihandle_property(phandle, name))));
break;
@@ -1143,7 +1143,8 @@ chirp_emul_seek(os_emul_data *data,
(unsigned long)args.ihandle,
(unsigned long)ihandle,
ihandle_name(ihandle),
- args.pos_hi, args.pos_lo));
+ (unsigned long)args.pos_hi,
+ (unsigned long)args.pos_lo));
if (ihandle == NULL) {
/* OpenFirmware doesn't define this error */
error("chirp: invalid ihandle passed to seek method");
diff --git a/sim/ppc/hw_glue.c b/sim/ppc/hw_glue.c
index c8247733930..2af2434b5c3 100644
--- a/sim/ppc/hw_glue.c
+++ b/sim/ppc/hw_glue.c
@@ -193,13 +193,13 @@ hw_glue_init_address(device *me)
if (glue->sizeof_output == 0)
device_error(me, "at least one reg property size must be nonzero");
if (glue->sizeof_output % sizeof(unsigned_word) != 0)
- device_error(me, "reg property size must be %d aligned", sizeof(unsigned_word));
+ device_error(me, "reg property size must be %zu aligned", sizeof(unsigned_word));
/* and the address */
device_address_to_attach_address(device_parent(me),
&unit.address, &glue->space, &glue->address,
me);
if (glue->address % (sizeof(unsigned_word) * max_nr_interrupts) != 0)
- device_error(me, "reg property address must be %d aligned",
+ device_error(me, "reg property address must be %zu aligned",
sizeof(unsigned_word) * max_nr_interrupts);
glue->nr_outputs = glue->sizeof_output / sizeof(unsigned_word);
glue->output = zalloc(glue->sizeof_output);
diff --git a/sim/ppc/hw_ide.c b/sim/ppc/hw_ide.c
index 9d3a7118b71..6c5e05163ba 100644
--- a/sim/ppc/hw_ide.c
+++ b/sim/ppc/hw_ide.c
@@ -766,7 +766,7 @@ hw_ide_io_read_buffer(device *me,
*(unsigned8*)dest = controller->reg[reg];
break;
default:
- device_error(me, "bus-error at address 0x%lx", addr);
+ device_error(me, "bus-error at address 0x%lx", (unsigned long)addr);
break;
}
return nr_bytes;
@@ -820,7 +820,7 @@ hw_ide_io_write_buffer(device *me,
controller->reg[reg] = *(unsigned8*)source;
break;
default:
- device_error(me, "bus-error at 0x%lx", addr);
+ device_error(me, "bus-error at 0x%lx", (unsigned long)addr);
break;
}
return nr_bytes;
diff --git a/sim/ppc/hw_init.c b/sim/ppc/hw_init.c
index 779c95c5a24..e46643c9b49 100644
--- a/sim/ppc/hw_init.c
+++ b/sim/ppc/hw_init.c
@@ -369,8 +369,8 @@ update_for_binary_section(bfd *abfd,
mem_in[2] = section_vma;
if (device_instance_call_method(memory, "claim", 3, mem_in, 1, mem_out) < 0)
device_error(me, "failed to claim memory for section at 0x%lx (0x%lx",
- section_vma,
- section_size);
+ (unsigned long)section_vma,
+ (unsigned long)section_size);
if (mem_out[0] != section_vma)
device_error(me, "section address not as requested");
}
diff --git a/sim/ppc/hw_phb.c b/sim/ppc/hw_phb.c
index 08defc2868c..70d59d30844 100644
--- a/sim/ppc/hw_phb.c
+++ b/sim/ppc/hw_phb.c
@@ -967,7 +967,7 @@ hw_phb_dma_read_buffer(device *me,
device_error(me, "Do not support DMA into own bus");
/* do it */
DTRACE(phb, ("dma read - %s:0x%lx (%d bytes)\n",
- pci_space->name, addr, nr_bytes));
+ pci_space->name, (unsigned long)addr, nr_bytes));
return device_dma_read_buffer(device_parent(me),
dest, pci_space->parent_space,
addr, nr_bytes);
@@ -996,7 +996,7 @@ hw_phb_dma_write_buffer(device *me,
device_error(me, "Do not support DMA into own bus");
/* do it */
DTRACE(phb, ("dma write - %s:0x%lx (%d bytes)\n",
- pci_space->name, addr, nr_bytes));
+ pci_space->name, (unsigned long)addr, nr_bytes));
return device_dma_write_buffer(device_parent(me),
source, pci_space->parent_space,
addr, nr_bytes,
diff --git a/sim/ppc/hw_shm.c b/sim/ppc/hw_shm.c
index f2fa144244a..c4d5cae8345 100644
--- a/sim/ppc/hw_shm.c
+++ b/sim/ppc/hw_shm.c
@@ -89,7 +89,6 @@ static void
hw_shm_init_data(device *me)
{
hw_shm_device *shm = (hw_shm_device*)device_data(me);
- const device_unit *d;
reg_property_spec reg;
int i;
@@ -147,8 +146,6 @@ hw_shm_attach_address_callback(device *me,
access_type access,
device *client) /*callback/default*/
{
- hw_shm_device *shm = (hw_shm_device*)device_data(me);
-
if (space != 0)
error("shm_attach_address_callback() invalid address space\n");
diff --git a/sim/ppc/igen.c b/sim/ppc/igen.c
index c036f049aef..0bf3b58ca26 100644
--- a/sim/ppc/igen.c
+++ b/sim/ppc/igen.c
@@ -218,6 +218,7 @@ gen_semantics_c(insn_table *table,
lf_printf(file, "#include \"cpu.h\"\n");
lf_printf(file, "#include \"idecode.h\"\n");
lf_printf(file, "#include \"semantics.h\"\n");
+ lf_printf(file, "#include \"tree.h\"\n");
lf_printf(file, "#ifdef HAVE_COMMON_FPU\n");
lf_printf(file, "#include \"sim-inline.h\"\n");
lf_printf(file, "#include \"sim-fpu.h\"\n");
diff --git a/sim/ppc/interrupts.c b/sim/ppc/interrupts.c
index db100fd26b9..133638fdcaf 100644
--- a/sim/ppc/interrupts.c
+++ b/sim/ppc/interrupts.c
@@ -262,7 +262,7 @@ alignment_interrupt(cpu *processor,
case USER_ENVIRONMENT:
case VIRTUAL_ENVIRONMENT:
- cpu_error(processor, cia, "alignment interrupt - ra=0x%lx", ra);
+ cpu_error(processor, cia, "alignment interrupt - ra=0x%lx", (unsigned long)ra);
case OPERATING_ENVIRONMENT:
DAR = (spreg)ra;
diff --git a/sim/ppc/ld-insn.c b/sim/ppc/ld-insn.c
index 585071a861f..126fc78037b 100644
--- a/sim/ppc/ld-insn.c
+++ b/sim/ppc/ld-insn.c
@@ -828,7 +828,7 @@ dump_insn_field(insn_field *field,
int indent)
{
- printf("(insn_field*)0x%x\n", (unsigned)field);
+ printf("(insn_field*)0x%lx\n", (unsigned long)field);
dumpf(indent, "(first %d)\n", field->first);
diff --git a/sim/ppc/main.c b/sim/ppc/main.c
index f3f2e9ef338..0c1a070fc2c 100644
--- a/sim/ppc/main.c
+++ b/sim/ppc/main.c
@@ -251,7 +251,7 @@ cntrl_c(int sig)
int
-main(int argc, char **argv)
+main(int argc, char * const *argv)
{
const char *name_of_file;
char *arg_;
diff --git a/sim/ppc/options.c b/sim/ppc/options.c
index ddb492f54fb..e327187b375 100644
--- a/sim/ppc/options.c
+++ b/sim/ppc/options.c
@@ -233,7 +233,7 @@ print_options (void)
(((i == ARRAY_SIZE (defines) - 1)
|| (((i + 1) % cols) == 0))
? 0
- : max_len + 4 - strlen (defines[i])),
+ : max_len + 4 - (int)strlen (defines[i])),
"");
}
printf_filtered ("\n");
diff --git a/sim/ppc/ppc-instructions b/sim/ppc/ppc-instructions
index 9f9773477f7..70aa04e2210 100644
--- a/sim/ppc/ppc-instructions
+++ b/sim/ppc/ppc-instructions
@@ -331,7 +331,7 @@ void::model-static::model_trace_release:model_data *model_ptr, model_busy *busy
}
}
if (busy->vscr_busy)
- TRACE(trace_model, ("VSCR Register is now available.\n", spr_name(busy->spr_busy)));
+ TRACE(trace_model, ("VSCR Register %s is now available.\n", spr_name(busy->spr_busy)));
# Trace making registers busy
void::model-static::model_trace_make_busy:model_data *model_ptr, unsigned32 int_mask, unsigned32 fp_mask, unsigned32 cr_mask
@@ -3315,7 +3315,6 @@ void::function::invalid_zero_divide_operation:cpu *processor, unsigned_word cia,
unsigned64 mask;
int n = MASKED(*rB, 59, 63);
signed32 source = (signed32)*rS; /* signed to keep sign bit */
- signed32 shifted = source >> n;
int S = (MASKED(*rS,32,32) != 0);
signed64 r = ((unsigned64) source);
r = ((unsigned64) source) << 32 | (unsigned32) source;
@@ -3324,7 +3323,7 @@ void::function::invalid_zero_divide_operation:cpu *processor, unsigned_word cia,
mask = (unsigned64) MASK64(n+32,63);
else
mask = (unsigned64) 0;
- *rA = (signed_word) (r & mask | ((signed64) -1*S) & ~mask); /* if 64bit will sign extend */
+ *rA = (signed_word) ((r & mask) | (((signed64) -1*S) & ~mask)); /* if 64bit will sign extend */
if (S && (MASKED(r & ~mask,32,63)!=0))
XER |= xer_carry;
else
diff --git a/sim/ppc/psim.c b/sim/ppc/psim.c
index ebb9cb42737..70c02f7141d 100644
--- a/sim/ppc/psim.c
+++ b/sim/ppc/psim.c
@@ -93,10 +93,10 @@ psim_tree(void)
}
STATIC_INLINE_PSIM\
-(char *)
-find_arg(char *err_msg,
+(const char *)
+find_arg(const char *err_msg,
int *ptr_to_argp,
- char **argv)
+ char * const *argv)
{
*ptr_to_argp += 1;
if (argv[*ptr_to_argp] == NULL)
@@ -216,7 +216,7 @@ psim_usage (int verbose, int help, SIM_OPEN_KIND kind)
/* Test "string" for containing a string of digits that form a number
between "min" and "max". The return value is the number or "err". */
static
-int is_num( char *string, int min, int max, int err)
+int is_num(const char *string, int min, int max, int err)
{
int result = 0;
@@ -236,9 +236,9 @@ int is_num( char *string, int min, int max, int err)
}
INLINE_PSIM\
-(char **)
+(char * const *)
psim_options(device *root,
- char **argv,
+ char * const *argv,
SIM_OPEN_KIND kind)
{
device *current = root;
@@ -247,8 +247,8 @@ psim_options(device *root,
return NULL;
argp = 0;
while (argv[argp] != NULL && argv[argp][0] == '-') {
- char *p = argv[argp] + 1;
- char *param;
+ const char *p = argv[argp] + 1;
+ const char *param;
while (*p != '\0') {
switch (*p) {
default:
@@ -395,7 +395,7 @@ psim_options(device *root,
INLINE_PSIM\
(void)
psim_command(device *root,
- char **argv)
+ char * const *argv)
{
int argp = 0;
if (argv[argp] == NULL) {
@@ -409,8 +409,8 @@ psim_command(device *root,
trace_option(opt, 1);
}
else if (strcmp(*argv, "change-media") == 0) {
- char *device = find_arg("Missing device name", &argp, argv);
- char *media = argv[++argp];
+ const char *device = find_arg("Missing device name", &argp, argv);
+ const char *media = argv[++argp];
device_ioctl(tree_find_device(root, device), NULL, 0,
device_ioctl_change_media, media);
}
@@ -738,8 +738,8 @@ psim_init(psim *system)
INLINE_PSIM\
(void)
psim_stack(psim *system,
- char **argv,
- char **envp)
+ char * const *argv,
+ char * const *envp)
{
/* pass the stack device the argv/envp and let it work out what to
do with it */
diff --git a/sim/ppc/psim.h b/sim/ppc/psim.h
index c38b03d8994..2070cbf7b90 100644
--- a/sim/ppc/psim.h
+++ b/sim/ppc/psim.h
@@ -47,14 +47,14 @@ typedef struct _psim_status {
extern device *psim_tree
(void);
-extern char **psim_options
+extern char * const *psim_options
(device *root,
- char **argv,
+ char * const *argv,
SIM_OPEN_KIND kind);
extern void psim_command
(device *root,
- char **argv);
+ char * const *argv);
extern void psim_merge_device_file
@@ -79,8 +79,8 @@ extern void psim_init
extern void psim_stack
(psim *system,
- char **argv,
- char **envp);
+ char * const *argv,
+ char * const *envp);
/* Run/stop the system */
diff --git a/sim/ppc/tree.c b/sim/ppc/tree.c
index a0e0820b4d9..5c35d32f3c5 100644
--- a/sim/ppc/tree.c
+++ b/sim/ppc/tree.c
@@ -528,7 +528,7 @@ parse_reg_property(device *current,
if (device_nr_size_cells(bus) > 0)
chp = parse_size(current, bus, chp, &regs[reg_nr].size);
else
- memset(&regs[reg_nr].size, 0, sizeof (&regs[reg_nr].size));
+ memset(&regs[reg_nr].size, 0, sizeof (regs[reg_nr].size));
}
/* create it */
diff --git a/sim/ppc/vm.c b/sim/ppc/vm.c
index 8cf4e8fcf53..9562fb6762c 100644
--- a/sim/ppc/vm.c
+++ b/sim/ppc/vm.c
@@ -627,9 +627,9 @@ om_virtual_to_real(om_map *map,
TRACE(trace_vm,
("ea=0x%lx - htab search %d - htab=0x%lx hash=0x%lx mask=0x%lx pteg=0x%lx\n",
(long)ea, current_hash,
- map->real_address_of_page_table,
- page_hash,
- map->page_table_hash_mask,
+ (long)map->real_address_of_page_table,
+ (long)page_hash,
+ (long)map->page_table_hash_mask,
(long)real_address_of_pte_group));
for (real_address_of_pte_0 = real_address_of_pte_group;
real_address_of_pte_0 < (real_address_of_pte_group
diff --git a/sim/ppc/vm_n.h b/sim/ppc/vm_n.h
index 563cd1ca6a1..ce1e05059e1 100644
--- a/sim/ppc/vm_n.h
+++ b/sim/ppc/vm_n.h
@@ -59,7 +59,7 @@ vm_data_map_read_N(vm_data_map *map,
unsigned_N val;
if (vm_data_map_read_buffer(map, &val, ea, sizeof(unsigned_N), processor, cia)
!= sizeof(unsigned_N)) {
- cpu_error(processor, cia, "misaligned %d byte read to 0x%lx failed",
+ cpu_error(processor, cia, "misaligned %zu byte read to 0x%lx failed",
sizeof(unsigned_N), (unsigned long)ea);
}
val = T2H_N(val);
@@ -107,7 +107,7 @@ vm_data_map_write_N(vm_data_map *map,
unsigned_N data = H2T_N(val);
if (vm_data_map_write_buffer(map, &data, ea, sizeof(unsigned_N), 0, processor, cia)
!= sizeof(unsigned_N)) {
- cpu_error(processor, cia, "misaligned %d byte write to 0x%lx failed",
+ cpu_error(processor, cia, "misaligned %zu byte write to 0x%lx failed",
sizeof(unsigned_N), (unsigned long)ea);
}
if (WITH_MON & MONITOR_LOAD_STORE_UNIT) {