[qcc] TCG
Rob Landley
rob at landley.net
Fri May 8 17:07:05 PDT 2015
On 05/08/2015 04:33 PM, Bruce Ewing wrote:
> I've been digging through the actual TCG code, and I've discovered the
> following:
>
> The list of supported QEMU CPUs above are QEMU *frontends*, and are
> mostly not available as TCG backends.
>
> TCG supports precisely eight backends: x86, ia64, mips, sparc, arm,
> powerpc, s390, and aarch64. The aarch64 backend, however, is GPLv2
> licensed -- so that one is out.
Ouch.
Early on (when tcg was first introduced) the code was symmetrical, if
you had a frontend it had to also work s a backend. Apparently they
optimized that out in the past few years. :(
Sadness.
What I was really hoping was if we could get qemu developers interested
in using this, they might fill in missing needed bits. (I don't want to
_fork_ tcg. If anything it would be nice to contribute a working cc
frontend upstream into the qemu repository, although this seems unlikely
to fly. Secondly would be to make tcg a subrepo the way qemu has a
couple existing subrepos it won't build without already...)
> The TCG code itself is simply the backend from TCC, almost completely
> unmodified (some sections deleted, and a few tiny features added to
> support QEMU). Which means that all of the code that is missing to turn
> it into a C compiler backend are already available in TCC.
>
> Which means that it should be completely brainless to attach it to QCC
> as a backend -- where any other backend would require some thought. So
> it looks like TCG does indeed win as the easiest backend.
Yay!
That's sort of what it looked like, but I never had time to do a proper
deep dive into the code.
Thanks,
Rob
1431130025.0
More information about the qcc
mailing list