MENU

Fun & Interesting

PIC GOT PLT OMG: how does the procedure linkage table work in linux?

Chris Kanich 26,647 5 years ago
Video Not Working? Fix It Now

0:00 Hi everybody 0:45 Moving an executable from disk to memory 3:03 Loading each ELF segment into memory 3:53 Live demo of loading an executable 9:38 Live demo of running an executable 16:28 What is Dynamic Linking? 17:47 Dynamically vs Statically Linked Executables 20:39 The complexities of dynamic linking and the benefits 22:22 Problems with Shared libraries and shared memory 24:27 Position independent code (PIC) 26:59 Linking dynamic libraries 27:55 Linking at build time & linking at load time 29:50 Global offset table (GOT) 32:45 Linking functions at run time (lazing binding) 34:50 Procedure linkage table (PLT) 37:25 Live demo of PLT and GOT 44:50 Making the common case fast! (Common theme in systems design) 47:50 Why not link global variables like functions or link functions like global variables?

Comment