Listing 4. The Shared Library

gcc -shared -Wl,-O1 -o libc.so -Wl,-dynamic-linker=$(GLIBCPATH)/elf/ld-linux.so.2 -B$(GLIBCPATH)/csu/ 
-Wl,--version-script=$(GLIBCPATH)/libc.map -Wl,-soname=libc.so.6 -nostdlib -nostartfiles -e __libc_main -u
__register_frame -L. -L$(GLIBCPATH)/math -L$(GLIBCPATH)/elf -L$(GLIBCPATH)/nss -L$(GLIBCPATH)/nis 
-L$(GLIBCPATH)/db2 -L$(GLIBCPATH)/rt -L$(GLIBCPATH)/resolv -L$(GLIBCPATH)/linuxthreads 
-Wl,-rpath-link=.:$(GLIBCPATH)/math:$(GLIBCPATH)/ elf:$(GLIBCPATH)/nss: $(GLIBCPATH)/nis:$(GLIBCPATH)/db2:$(GLIBCPATH)/ 
rt:$(GLIBCPATH)/resolv: $(GLIBCPATH)/linuxthreads -Wl,--whole-archive $(GLIBCPATH)/elf/soinit.os 
libc_pic.os $(GLIBCPATH)/elf/sofini.os $(GLIBCPATH)/elf/interp.os $(GLIBCPATH)/elf/ld.so 
-Wl,--no-whole-archive -lgcc