linux g ++ x64通过FS段寄存器访问内存

时间:2015-01-16 11:57:09

标签: assembly g++ 64-bit x86-64

在linux上使用g ++,amd64,我知道线程本地存储是通过段寄存器GS访问的。 我想有办法指示编译器通过FS寄存器访问其他一些内存。 那个内存是一个垃圾收集区,我想随意切换到其他银行。 有可能吗? (我想它应该是因为它可以用于线程本地存储)。

1 个答案:

答案 0 :(得分:1)

我将探讨的部分答案是Clang

http://llvm.org/releases/3.3/tools/clang/docs/LanguageExtensions.html

“使用地址空间#256注释指针使其成为相对于X86 GS段寄存器生成的代码,地址空间#257使其相对于X86 FS段。请注意,这是非常低的-level特性只有在你知道自己在做什么时才应该使用(例如在OS内核中)。“