* [[https://dev.gentoo.org/~vapier/crt.txt|Mini FAQ about the misc libc/gcc crt files]] * [[https://www.cs.stevens.edu/~jschauma/810/elf.html|Acronyms relevant to Executable and Linkable Format (ELF)]] $ git clone git://sourceware.org/git/glibc.git $ cd glibc # /lib/ld-linux-x86-64.so.2 dynamic linker。 $ vi elf/rtld.c * [[http://stackoverflow.com/questions/7869138/what-is-ld-2-11-1-so-and-how-can-i-look-at-the-source-code|What is “ld-2.11.1.so” and how can I look at the source code?]] $ svn checkout http://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3 * [[https://gcc.gnu.org/onlinedocs/libstdc++/|The GNU C++ Library]] ====== 初始化代碼 ====== * [[http://gcc.gnu.org/onlinedocs/gccint/Initialization.html|18.20.5 How Initialization Functions Are Handled]] * crt0.o: 由 [[https://github.com/lattera/glibc/blob/master/sysdeps/i386/start.S|start.S]]/crt0.S 實現 _start。 * crti.o: 由 [[https://github.com/gcc-mirror/gcc/blob/master/libgcc/config/i386/crti.S|crti.S]] 實現 _init/_fini 的 prologue。 * crtn.o: 由 [[https://github.com/gcc-mirror/gcc/blob/master/libgcc/config/i386/crtn.S|crtn.S]] 實現 _init/_fini 的 epilogue。 * crtbegin.o: C++ constructor。 * crtend.o: C++ destructor。 ====== Q & A ====== * [[http://blog.csdn.net/cpplang/article/details/8462768|解决libc.so.6: version `GLIBC_2.14' not found问题]] * [[https://sourceware.org/ml/libc-help/2008-12/msg00045.html|Using Multiple versions of glibc using LD_LIBRARY_PATH env variable]] ====== 外部連結 ====== * [[http://www.gnu.org/software/libc/index.html|GLIBC]] * [[https://sourceware.org/newlib/|newlib]] * [[http://www.embecosm.com/appnotes/ean9/html/index.html|Howto: Porting newlib]] * [[http://uclibc.org/|uClibc]] * [[http://blog.csdn.net/maozefa/article/details/7095040|自己动手写C语言格式化输出函数(一)]]