tc1989tc 发表于 2014-12-03 21:13

gcc 内嵌函数__builtin_eh_return

如题,gcc里面的很多__builtin_xxxx 函数在哪里可以查看啊。
去gcc官网下了分gcc手册。。里面有一些 ,但是不全啊。
请问有人知道吗这些内嵌函数 到哪里可以查看 函数介绍 全面的

Tinnal 发表于 2014-12-04 23:19

__builtin_eh_return好像是ARM的吧。不是通用的builtin函数。

tc1989tc 发表于 2014-12-05 08:38

有相关文档介绍嘛

Tinnal 发表于 2014-12-05 09:14

回复 3# tc1989tc


    http://www.delorie.com/gnu/docs/gcc/gccint_82.html

9.8 Standard Pattern Names For Generation

Here is a table of the instruction names that are meaningful in the RTL generation pass of the compiler. Giving one of these names to an instruction pattern tells the RTL generation pass that it can use the pattern to accomplish a certain task.

<省略>

`eh_return'
This pattern, if defined, affects the way __builtin_eh_return, and thence the call frame exception handling library routines, are built. It is intended to handle non-trivial actions needed along the abnormal return path.
The pattern takes two arguments. The first is an offset to be applied to the stack pointer. It will have been copied to some appropriate location (typically EH_RETURN_STACKADJ_RTX) which will survive until after reload to when the normal epilogue is generated. The second argument is the address of the exception handler to which the function should return. This will normally need to copied by the pattern to some special register or memory location.

This pattern only needs to be defined if call frame exception handling is to be used, and simple moves involving EH_RETURN_STACKADJ_RTX and EH_RETURN_HANDLER_RTX are not sufficient

这已经是GCC RTL处理的细节了,如果你还想问下去,就只能把你的贴转到编译器的版块那边了。

Tinnal 发表于 2014-12-05 09:19

http://www.delorie.com/gnu/docs/gcc/gccint_123.html

10.10.2 Exception Handling Support
页: [1]
查看完整版本: gcc 内嵌函数__builtin_eh_return