gpt4 book ai didi

linux - X64_64 的 arch_prctl(ARCH_GET_FS, &addr) 在 ppc64 上的等价物

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:14:16 27 4
gpt4 key购买 nike

我有一个 X86_64 代码可以检索指向线程状态的指针:

uintptr_t addr;
arch_prctl(ARCH_GET_FS, &addr);

正如我在 ABI 上看到的那样,我想这就是 r13 的用途。我实现了以下代码,我希望它们的行为与 arch_prctl 相同:

uintptr_t addr;
__asm__ ("\tmr %0, 13" : "=r" (addr));

有这么简单吗?有没有更好的办法?

在 ppc64le 机器上使用 debian 8.1

最佳答案

我不清楚你真正想做什么。

但是如果你想要线程指针,r13 是 ppc64 和 ppc64le 上的正确寄存器,而 r2 是 ppc 上的正确寄存器。您仍然需要注意如何访问线程本地存储中的字段,因为它们是特定于 ABI 的。

第 3.7.2 章来自 PPC64 ELF V2 ABI将为您提供有关如何访问 TLS 中某些字段的更多详细信息。如果您更喜欢阅读一些代码,this file是部分魔法真正发生的地方。

关于linux - X64_64 的 arch_prctl(ARCH_GET_FS, &addr) 在 ppc64 上的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32717975/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com