Closed
Description
According to http://llvm.org/docs/LangRef.html#pointer-type, the semantics of non-zero address spaces are target-specific. Rust is currently putting different types in different address spaces to make it easier for the garbage collector to find them all. This seems incorrect to me, and causes problems on targets that treat different address spaces differently. For example, according to http://llvm.org/releases/2.9/docs/CodeGenerator.html#x86, the x86 target uses address 256 to mean GS-relative addresses, and 257 to mean FS-relative addresses.