Procedure Linkage Table
প্রসিডিওর লিংকেজ টেবিল
Shared library-র function call-এর trampoline — প্রথম call-এ dynamic linker-এ resolve হয়, পরের call সরাসরি লাফায় (lazy binding)।
also: PLT
call puts@plt
↓
puts@plt: jmp *GOT[puts] ; প্রথমবার GOT → plt+push/jmp (resolver)
; resolve হওয়ার পরে GOT → আসল puts
- Lazy binding: যে function call-ই হয়নি, তার address resolve-ই হয় না — startup দ্রুত
- দাম: indirect jump (branch predictor ঠিকঠাক হলে সস্তা), আর
-z now-এ lazy বন্ধ করা যায় - Security: PLT/GOT hijack classic technique — RELRO, CFI এর জবাব
objdump -d a.out-এputs@pltlabel গুলোই এই যন্ত্রের দৃশ্যমান অংশ