The recent patch to heap-allocate compunit_symtabs introduced a
use-after-free that can occur when destroying an objfile. The bug
here is that the objfile obstack is destroyed before compunit_symtabs;
but the compunit_symtabs destructor refers to the symtabs, which are
allocated on the obstack.
This patch fixes the problem. This was reported using ASAN, but I
reproduced it with valgrind and verified that this fixes the problem.