escribiendo una api de glibc para una llamada al sistema [duplicar]

Posible duplicado:
Necesito ayuda con la fuente glibc

Entiendo cómo implementar nuestras propias llamadas de sistema en el kernel de Linux. Sé que podemos llamar a esto consyscall() o con_asm() en un programa de c

Pero quiero entender cómo escribir glibc api para esta nueva llamada al sistema.

Cómoopen() yread() La función glibc llama al mapeo en la llamada al sistema en el kernel?

char      message[ ] = "Hello!\n";

int main( void )
{
        write( 1, message, 7 );
        exit( 0 );
}

Cuando convierto el programa anterior en ensamblador, está dando

main:
    leal    4(%esp), %ecx
    andl    $-16, %esp
    pushl   -4(%ecx)
    pushl   %ebp
    movl    %esp, %ebp
    pushl   %ecx
    subl    $20, %esp
    movl    $7, 8(%esp)
    movl    $message, 4(%esp)
    movl    $1, (%esp)
    call    write
    movl    $0, (%esp)
    call    exit
    .size   main, .-main
    .ident  "GCC: (Debian 4.3.2-1.1) 4.3.2"
    .section        .note.GNU-stack,"",@progbits

~

3, en "call write" creo que write es glibc call here? que pasa despues de eso ¿Cómo se asigna la llamada glibc a la llamada al sistema?

Respuestas a la pregunta(1)

Su respuesta a la pregunta