It is common for getSymVA to be called at least twice for each symbol. Once for the symbol table, once for a relocation using it.
The operation is fairly expensive, so it is probably worth caching it (I will attach the benchmark results).
One issue with this is that with thunks getVA is called multiple times and produces different results as thunks are added. It is easy to just disable this for architectures that need thunks, but I am curious if someone more familiar with thunks thinks we can do better.
BTW, we should probably add testcase with thunks to the benchmarks we use. Peter, do you have a chromium build for aarch64 we could use?