__attribute __((裸))不起作用

时间:2014-09-16 17:26:01

标签: arm clang

我认为这是一些配置问题。目标是armv7。

功能是

__attribute__((naked))
id new_objc_msgSend(id self, SEL op, ...) {
        __asm__ __volatile__ ("nop\n");
}

生成的代码是

Dump of assembler code for function _Z16new_objc_msgSendP11objc_objectP13objc_selectorz:
0x01bc7dfc <_Z16new_objc_msgSendP11objc_objectP13objc_selectorz+0>: stmia.w sp, {r2, r3}
0x01bc7e00 <_Z16new_objc_msgSendP11objc_objectP13objc_selectorz+4>: nop
0x01bc7e02 <_Z16new_objc_msgSendP11objc_objectP13objc_selectorz+6>: bx  lr
End of assembler dump.

即使使用__attribute__((naked)),仍会生成prolog / epilog。

0 个答案:

没有答案