From: Mike Frysinger Date: Sun, 25 Dec 2022 04:43:18 +0000 (-0500) Subject: sim: cpu: fix SMP msg prefix helper X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fb749760444f6570fa03bc91aa36024b7e4b4e55;p=binutils-gdb.git 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. --- 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. */