From fb749760444f6570fa03bc91aa36024b7e4b4e55 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 24 Dec 2022 23:43:18 -0500 Subject: [PATCH] sim: cpu: fix SMP msg prefix helper This code fails to compile when SMP is enabled due to some obvious errors. Fix those and change the logic to avoid CPP to prevent any future rot from creeping back in. --- sim/common/sim-utils.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sim/common/sim-utils.c b/sim/common/sim-utils.c index 259b14cce29..d4a624c3b6f 100644 --- a/sim/common/sim-utils.c +++ b/sim/common/sim-utils.c @@ -123,14 +123,17 @@ sim_cpu_lookup (SIM_DESC sd, const char *cpu_name) const char * sim_cpu_msg_prefix (sim_cpu *cpu) { -#if MAX_NR_PROCESSORS == 1 - return ""; -#else static char *prefix; + if (MAX_NR_PROCESSORS == 1) + return ""; + if (prefix == NULL) { + SIM_DESC sd = CPU_STATE (cpu); int maxlen = 0; + int i; + for (i = 0; i < MAX_NR_PROCESSORS; ++i) { int len = strlen (CPU_NAME (STATE_CPU (sd, i))); @@ -140,8 +143,8 @@ sim_cpu_msg_prefix (sim_cpu *cpu) prefix = (char *) xmalloc (maxlen + 5); } sprintf (prefix, "%s: ", CPU_NAME (cpu)); + return prefix; -#endif } /* Cover fn to sim_io_eprintf. */ -- 2.30.2