libgcc
Table of Contents
1. libgcc
GCC provides a low-level runtime library, libgcc.a or libgcc_s.so.1 on some platforms. GCC generates calls to routines in this library automatically, whenever it needs to perform some operation that is too complicated to emit inline code for.
- libgcc 是为了弥补平台本身对某些功能的支持问题, 例如 soft-float
- gcc 会针对某些代码生成对 libgcc 的隐式的调用, 例如 gcc 会把对 thread_local 的变量的读写的代码编译成对 libgcc 中 emutls 相关函数的调用, 所以针对 libgcc 的编译错误经常不那么直观
- libgcc 的主要功能包括:
- emutls 相关
- automic 相关
- soft float 相关
- clear_cache
- 数学运算, 包括乘除移位等