[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v2 15/16] hw/openrisc/openrisc_sim: Add assertion to silence GCC w
From: |
Laurent Vivier |
Subject: |
[PULL v2 15/16] hw/openrisc/openrisc_sim: Add assertion to silence GCC warning |
Date: |
Wed, 10 Jun 2020 15:10:10 +0200 |
From: Philippe Mathieu-Daudé <philmd@redhat.com>
When compiling with GCC 10 (Fedora 32) using CFLAGS=-O2 we get:
CC or1k-softmmu/hw/openrisc/openrisc_sim.o
hw/openrisc/openrisc_sim.c: In function ‘openrisc_sim_init’:
hw/openrisc/openrisc_sim.c:87:42: error: ‘cpu_irqs[0]’ may be used
uninitialized in this function [-Werror=maybe-uninitialized]
87 | sysbus_connect_irq(s, i, cpu_irqs[i][irq_pin]);
| ~~~~~~~~^~~
While humans can tell smp_cpus will always be in the [1, 2] range,
(openrisc_sim_machine_init sets mc->max_cpus = 2), the compiler
can't.
Add an assertion to give the compiler a hint there's no use of
uninitialized data.
Buglink: https://bugs.launchpad.net/qemu/+bug/1874073
Reported-by: Martin Liška <mliska@suse.cz>
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Tested-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Stafford Horne <shorne@gmail.com>
Message-Id: <20200608160611.16966-1-philmd@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
hw/openrisc/openrisc_sim.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/openrisc/openrisc_sim.c b/hw/openrisc/openrisc_sim.c
index d08ce6181199..02f5259e5e33 100644
--- a/hw/openrisc/openrisc_sim.c
+++ b/hw/openrisc/openrisc_sim.c
@@ -134,6 +134,7 @@ static void openrisc_sim_init(MachineState *machine)
int n;
unsigned int smp_cpus = machine->smp.cpus;
+ assert(smp_cpus >= 1 && smp_cpus <= 2);
for (n = 0; n < smp_cpus; n++) {
cpu = OPENRISC_CPU(cpu_create(machine->cpu_type));
if (cpu == NULL) {
--
2.26.2
- [PULL v2 05/16] hw/isa/apm: Convert debug printf()s to trace events, (continued)
- [PULL v2 05/16] hw/isa/apm: Convert debug printf()s to trace events, Laurent Vivier, 2020/06/10
- [PULL v2 02/16] net: Do not include a newline in the id of -nic devices, Laurent Vivier, 2020/06/10
- [PULL v2 08/16] hw/arm/aspeed: Correct DRAM container region size, Laurent Vivier, 2020/06/10
- [PULL v2 01/16] Fix parameter type in vhost migration log path, Laurent Vivier, 2020/06/10
- [PULL v2 09/16] hw/hppa/dino: Use the IEC binary prefix definitions, Laurent Vivier, 2020/06/10
- [PULL v2 07/16] qemu-img: Fix doc typo for 'bitmap' subcommand, Laurent Vivier, 2020/06/10
- [PULL v2 06/16] hw/misc/auxbus: Use qemu_log_mask(UNIMP) instead of debug printf, Laurent Vivier, 2020/06/10
- [PULL v2 12/16] target/unicore32: Remove unused headers, Laurent Vivier, 2020/06/10
- [PULL v2 13/16] target/unicore32: Replace DPRINTF() by qemu_log_mask(GUEST_ERROR), Laurent Vivier, 2020/06/10
- [PULL v2 04/16] hw/unicore32/puv3: Use qemu_log_mask(ERROR) instead of debug printf(), Laurent Vivier, 2020/06/10
- [PULL v2 15/16] hw/openrisc/openrisc_sim: Add assertion to silence GCC warning,
Laurent Vivier <=
- [PULL v2 14/16] target/unicore32: Prefer qemu_semihosting_log_out() over curses, Laurent Vivier, 2020/06/10
- [PULL v2 11/16] target/i386/cpu: Use the IEC binary prefix definitions, Laurent Vivier, 2020/06/10
- [PULL v2 10/16] hw/i386/xen/xen-hvm: Use the IEC binary prefix definitions, Laurent Vivier, 2020/06/10
- [PULL v2 16/16] semihosting: remove the pthread include which seems unused, Laurent Vivier, 2020/06/10
- Re: [PULL v2 00/16] Trivial branch for 5.1 patches, Peter Maydell, 2020/06/11