sim: mips: fix missing prototype in multi-run generation
authorMike Frysinger <vapier@gentoo.org>
Thu, 4 Nov 2021 03:44:19 +0000 (23:44 -0400)
committerMike Frysinger <vapier@gentoo.org>
Thu, 4 Nov 2021 03:53:10 +0000 (23:53 -0400)
commite5c9e53c9b8d5c8519b251f91de7bc453d1086be
tree9d065cc2fadfc2b1d7f9e1fca1f6a6870cd4c1aa
parentf2f105f518413ea3e4c212f89585f9a8a5dddcdd
sim: mips: fix missing prototype in multi-run generation

The multi-run logic for mips involves a bit of codegen and rewriting
of files to include per-architecture prefixes.  That can result in
files with missing prototypes which cause compiler errors.  In the
case of mips-sde-elf targets, we have:
$srcdir/m16run.c -> $builddir/m16mips64r2_run.c
  sim_engine_run -> m16mips64r2_engine_run
$srcdir/micromipsrun.c -> micromipsmicromips_run.c
  sim_engine_run -> micromips64micromips_engine_run

micromipsmicromips_run.c:80:1: error: no previous prototype for 'micromips64micromips_engine_run' [-Werror=missing-prototypes]
   80 | micromips64micromips_engine_run (SIM_DESC sd, int next_cpu_nr, int nr_cpus,

We generate headers for those prototypes in the configure script,
but only include them in the generated multi-run.c file.  Update the
rewrite logic to turn the sim-engine.h include into the relevant
generated engine include so these files also have their prototypes.
$srcdir/m16run.c -> $builddir/m16mips64r2_run.c
  sim-engine.h -> m16mips64r2_engine.h
$srcdir/micromipsrun.c -> micromipsmicromips_run.c
  sim-engine.h -> micromips64micromips_engine.h
sim/mips/Makefile.in
sim/mips/m16run.c