Como construir um programa em C usando uma versão customizada de glibc e link estático?

Eu construí o glibc 2.14 e o instalei no diretório~/GLIBC/glibc_install. Agora eu quero construir e executar programas usando essa biblioteca C em vez da biblioteca C padrão do meu sistema.

Para ter certeza de que eu estava usando meu glibc personalizado, adicionei uma chamada para colocar emglibc/stdio-common/printf.c:__printf para imprimir uma mensagem.

Então eu reconstruí e reinstalei o glibc.

Então eu escrevi um programa "Hello, World" e tentei compilar e vinculá-lo da seguinte maneira:

gcc -nodefaultlibs -static -lgcc -L~/GLIBC/glibc_install/lib -o myprog myprog.c

Mas recebo o seguinte relatório de erro do vinculador:

/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start':
(.text+0x19): undefined reference to `__libc_csu_init'
/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start':
(.text+0x25): undefined reference to `__libc_start_main'
/tmp/ccACTQEp.o: In function `main':
c1.c:(.text+0xa): undefined reference to `puts'
collect2: ld returned 1 exit status

O que estou fazendo de errado?

questionAnswers(3)

yourAnswerToTheQuestion