¿Cómo construir un programa en C usando una versión personalizada de glibc y enlaces estáticos?

He construido glibc 2.14 y lo instalé en el directorio~/GLIBC/glibc_install. Ahora quiero compilar y ejecutar programas utilizando esta biblioteca C en lugar de la biblioteca C predeterminada de mi sistema.

Para estar seguro de que estaba usando mi glibc personalizado, agregué una llamada para poner englibc/stdio-common/printf.c:__printf para imprimir un mensaje.

Luego reconstruí y reinstalé glibc.

Luego escribí un programa "Hello, World" y traté de compilarlo y vincularlo de la siguiente manera:

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

Pero me sale el siguiente informe de error del enlazador:

/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

¿Qué estoy haciendo mal?

Respuestas a la pregunta(3)

Su respuesta a la pregunta