compreendendo bibliotecas compartilhadas usando o gcc

Estou tentando entender o seguinte comportamento de bibliotecas compartilhadas em C

Machine One

$ cat one.c 
#include<stdio.h>

int main() {
    printf ("%d", 45);
}
$ gcc one.c -o one -O3
$ ldd one
    linux-gate.so.1 =>  (0x00331000)
    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00bc2000)
    /lib/ld-linux.so.2 (0x006dc000)
$ cat two.c 
int main() {
    int i = 0;
}
$ gcc two.c -o two -O3
$ ldd two
    linux-gate.so.1 =>  (0x006f7000)
    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00110000)
    /lib/ld-linux.so.2 (0x00eb0000)
$

Máquina Dois

$ cat three.c
#include<stdio.h>

int main() {
    printf ("%d", 45);
}
$ gcc three.c -o three -O3
$ ldd three
    /usr/lib/libcwait.so (0xb7ffd000)
    libc.so.6 => /lib/tls/i686/nosegneg/libc.so.6 (0x002de000)
    /lib/ld-linux.so.2 (0x002bf000)
$

Algumas coisas que eu não entendo completamente no momento:

Qual é o endereço indicado entre parênteses (por exemplo,(0x002de000)) significar?

Esses endereços são diferentes mesmo para a mesma biblioteca na mesma máquina, o que sugere que esses são endereços dos locais na memória em que essas bibliotecas são carregadas. Mas, se isso for verdade, por que essas bibliotecas são carregadas na memória (eu ainda não executei os programas, eles não deveriam ser carregados apenas em tempo de execução?).

Porquetwo precisa de alguma biblioteca? Eu tenho usado-O3e a saída do assembler é

$ gcc two.c -S -O3 
$ cat two.s
    .file   "two.c"
    .text
    .p2align 4,,15
.globl main
    .type   main, @function
main:
    pushl   %ebp
    movl    %esp, %ebp
    popl    %ebp
    ret
    .size   main, .-main
    .ident  "GCC: (Ubuntu 4.4.3-4ubuntu5) 4.4.3"
    .section    .note.GNU-stack,"",@progbits
$

Qual é a necessidade de qualquer biblioteca?

Na Máquina Dois, por que é/usr/lib/libcwait.so sendo usado em vez delinux-gate.so.1?

Eu acho que isso ocorre porque o kernel na Máquina Dois é muito antigo (2.6.9) e a bibliotecalinux-gate.so.1 não está disponível. Essa é a razão?

questionAnswers(3)

yourAnswerToTheQuestion