This is the mail archive of the cgen@sourceware.org mailing list for the CGEN project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: sim-model.scm @cpu@ vs @prefix@ confusion


Dave Korn wrote:
Hi CGEN,

  It looks to me like there are a couple of spots in -gen-mach-defns where the
 prefix should be used instead of the cpu, specifically when referencing
*_INSN__MAX and in the names of the *_engine_run_* functions.  Certainly
that's how genmloop.sh and friends expect them to look.  I had to apply the
attached patch otherwise I get undefined references in the generated mloop.c,
so here it is.

cgen/ChangeLog:

	* sim-model.scm (-gen-mach-defns): Replace @cpu@ and @CPU@ by @prefix@
	and @PREFIX@ when setting CPU_MAX_INSNS and the CPU_*_ENGINE_FNs.

  I'm not sure about the relation between cpu and prefix yet, but in my
generated files the prefix appears to be a concatenation of isa and cpu.
Maybe in other ports the prefix ends up just being equal to the cpu and that's
why this hasn't caused any problems in /src?  I didn't investigate yet.

    cheers,
      DaveK


Thanks for the patch! I looked into this and you are correct. I'll apply the patch tomorrow.

For reference sake, prefix is set here in src/sim/common/cgen.sh. This explains where <cpu>_<isa> is coming from.

if test -z "$isa" ; then
 isa=all
 prefix=$cpu
else
 prefix=${cpu}_$isa
fi

[Seems like the test should be $isa == "" || $isa == "all", but that's another patch.]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]