simpleperf: Update calculating file_offset for AutoFDO output

AutoFDO used to convert file offsets to virtual addrs using
"base_addr + file_offset". It is incorrect for binaries generated
with an executable segment having different file offset and virtual
addr. So simpleperf workaround this when generating AutoFDO output.

Now AutoFDO has fixed the conversion, as in
https://github.com/google/autofdo/blame/master/symbol_map.h#L327.
So remove this workaround.

As shown in local experiments, it doesn't affect the conversion
of platform libraries. But it does affects binaries generated
with "-Wl,-z,noseparate-code" and vmlinux.

Also add tests for the address conversion. The tests need
to run and check manually.

Bug: 244367902
Test: run simpleperf_unit_test
Test: run tests as documented in autofdo_addr_test.cpp
Change-Id: I5d14fd0711b05d3d2c44ea4269fc03558c83803a
9 files changed