When two sections shared the same address, the disassembly code was using pointer values to break ties when sorting. Since those values aren't guaranteed to have a specific order, this meant the disassembly code would sometimes change which section to pick when finding symbols targeted by calls in fully linked objects.
This change fixes the non-determinism, so that the same section is always picked. This might have a negative impact in that now a section without any symbol might be picked over a section with symbols, but this will be addressed in a later commit.
More of a question: shall we place generic disassembly behavior to test/tools/llvm-objdump/ELF/ ?
I know that we mostly place disassembly tests under X86/, so this patch is consistent with the current practice and does not need a change.