When using -g and -dsym, llvm-objdump opens the dSYM file and keeps the MachOObjectFile alive, while the memory buffer that the MachOObjectFile was based on gets destroyed.
This segfaults with a pretty large file. I am open to suggestions on how to test this even if it doesn't really segfault, since it seems that there are no -g nor -dsym tests for llvm-objdump.