We have #[address_insignificant] now because it's needed to have LLVM merge constants. I think insignificant addresses should be the default, and TLS should be done with a macro applying an #[address_significant] attribute.
Issue #8957 covers functions, since the situation is different as we already merge them.