In embedded applications, two pieces of code might have exactly the same set of addresses, but get paged out manually depending on what code is needed at that time.
You can see more here:
http://www.sourceware.org/binutils/docs-2.10/ld_3.html#SEC37
https://en.wikipedia.org/wiki/Overlay_(programming)
Suggested plan for Bloaty: Instead of using just the VM address to disambiguate, use (VM address, file offset). This will allow overlays to work correctly.