Aşağıdakiler gerçekten iyi bir referanstır: http://www.ibm.com/developerworks/linux/library/l-dynamic-libraries/ . Farklı seviyelerde farklı referansların sonunda bir bibliyografya içerir. Her kanlı ayrıntıyı bilmek istiyorsanız, doğrudan kaynağa gidebilirsiniz: http://www.akkadia.org/drepper/dsohowto.pdf . (Ulrich Drepper Linux dinamik bağlayıcısını yazdı.)
"Objdump -h myexe" veya "readelf -S myexe" gibi bir komut çalıştırarak yürütülebilir dosyadaki tüm bölümlere gerçekten iyi bir genel bakış elde edebilirsiniz.
.İnterp bölümü, bu nesnedeki sembolleri dinamik olarak bağlamak için kullanılacak dinamik yükleyicinin adını içerir. .Dynamic bölümü, program yükleyicisinin dinamik yükleyicinin okuması kolay olacak şekilde biçimlendirilmiş bir damıtmasıdır. (Yani tüm diğer bölümlere işaret eder.)
.Got (Global Ofset Tablosu) ve .plt (Prosedür Bağlantı Tablosu), dinamik bağlayıcı tarafından manipüle edilen iki ana yapıdır. .Got değişkenler için bir dolaylı tablodur ve .plt işlevler için bir dolaylı tablodur. Her bir yürütülebilir dosya veya kitaplığın ("paylaşılan nesneler" olarak adlandırılır) kendi .got ve .plt değerleri vardır ve bunlar, paylaşılan başka bir nesnede gerçekte bulunan paylaşılan nesne tarafından başvurulan sembollerin tablolarıdır.
.Dynsyn, paylaşılan nesnenizdeki simgelerle ilgili tüm bilgileri içerir (hem tanımladığınız hem de başvurmanız gereken dış simgeler.) .Dynsyn, gerçek sembol adlarını içermez. Bunlar .dynstr içinde bulunur ve .dynsyn'in .dynstr'e işaretçileri vardır. .gnu.hash, sembollerin ada göre hızlı aranması için kullanılan bir karma tablodur. Ayrıca yalnızca işaretçiler (.dynstr'e işaretçiler ve kepçe zincirleri yapmak için kullanılan işaretçiler) içerir.
Paylaşılan nesneniz "foo" sembolünü kaldırdığında, dinamik bağlayıcı, aradığınız "foo" yu hangisinin aradığını (ve sonra da "foo" adresi bu paylaşılan nesnenin içindedir.) Dinamik bağlayıcı bunu bağlı tüm paylaşılan nesnelerin .gnu.hash bölümünde (veya .gnu içermeyen eski paylaşılan nesnelerin .hash bölümünde) arayarak yapar. karma bölümü.) Bağlantılı paylaşılan nesnede doğru adresi bulduktan sonra, onu paylaşılan nesnenizin .got veya .plt dosyasına koyar.