【发布时间】:2013-09-22 16:32:39
【问题描述】:
我一直在尝试将一些 GNU 扩展转换为实际的标准 C,以便它可以在 clang 上运行,知道标准 C 而不是 GNU 扩展,我有点不知所措。
__asm__ (goto("1:"
STATIC_KEY_INITIAL_NOP
".pushsection __jump_table, \"aw\" \n\t"
_ASM_ALIGN "\n\t"
_ASM_PTR "1b, %l[l_yes], %c0 \n\t"
".popsection \n\t"
: : "i" (key) : : l_yes););
我已尝试将其转换为实际的 asm,但尚未成功。
如果你好奇的话,这是我即将在 clang 上构建的内核的一部分,除了那个部分。
【问题讨论】:
-
+1 用于管理生产这样的东西,虽然我不明白,可能应该添加 -1 因为缺少 cmets。
-
这个乱七八糟的别怪我,它是 Linux 内核的一部分。
-
哦。我已经重新标记了它。顺便说一句,这不是标准 C 的领域。
标签: c linux gcc linux-kernel clang