libinkpost.a is supposed to contain files needed by subdirs, according
to the comment. In particular, a few unit test programs in
subdirectories link against libinkpost.a but not libinkpre.a. It seems
useful to maintain this distinction: reduced link times, and it
facilitates debugging of some link-related bugs (e.g. the recent mips
problem) to have different executables link against different subsets of
the .a files.
The attached patch moves gc-related files from libinkpre.a to
According to nm, the relevant two .o files (gc.o and gc-anchored.o)
don't depend on any other object files, whereas very many files depend
on gc-anchored.o, and many of the main-containing files depend on gc.o.