http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56128
--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-11 15:54:17 UTC --- Perhaps instead of global vars defined outside of libasan (which e.g. requires GOT accesses to those vars in libasan), it might be better to have the scale and offset as arguments of __asan_init? Then you could easily test at runtime, whether all compilation units agree on the same offset/scale, and complain if they don't. Then __asan_mapping_offset and __asan_mapping_scale or how are the vars called could be hidden attribute, used with PC relative addressing and avoid one extra indirection, and more importantly have better runtime checking of mismatches.