Hey Kevin,
Can someone familiar with libbackend.a comment on what is in it?
The libbackend.a contains the middle-end and back-end part of GCC. The
name of this library might be a bit misleading, but this library isn't
just the pure back-end.
There
are hooks for the backend, right?
The hooks are already resolved in this static library.
The machine description also has to
be in there ... in some representation?
Yes, a kind of. The machine description is transformed into C code
during the build process and this C code is in libbackend.a
I am thinking about fiddling with making this a dynamic library. I
won't bother if the access patterns will cause the performance to
plummet.
If I remember correctly, as part of the GCC Modularization project
(gcc.gnu.org/wiki/ModularGCC), each back-end should at some point in
time become a shared library so that GCC might choose the back-end at
runtime and NOT at build-time. But that's the future ...
Andi*
*