Quando / Come funziona Linux carica le librerie condivise nello spazio degli indirizzi?

La mia domanda è la seguente:

Quando è l’indirizzo degli oggetti condivisi specificato nei programmi? Durante il collegamento? Caricamento in corso? Se volessi trovare l’indirizzo di memoria del comando di system all’interno di libc all’interno del mio programma potrei trovarlo facilmente in gdb , ma cosa succede se non voglio portare il programma in un debugger?

Questo indirizzo potrebbe cambiare da esecuzione a esecuzione? Esistono altri strumenti di analisi statica che consentano di visualizzare le librerie o le funzioni che verranno caricate nello spazio di memoria di questo programma quando vengono eseguite?

EDIT: voglio queste informazioni al di fuori del programma (ad esempio utilizzando utility come objdump per raccogliere informazioni)