, call printf@PLT call [printf@GOTPLT] , , printf , ( ). call printf call printf@PLT, jmp printf jmp printf@PLT mov eax, printf mov eax, printf@PLT printf printf@PLT. call printf call [printf@GOTPLT] , CALL JMP - . , CALL , , CALL CALL.
, , CALL, , 5 , 6 . , nop; call printf@CALL nop; call printf@CALL , . , , - NOP.
, 32- x86 PLT . jmp [xxx@GOTPLT] jmp [xxx@GOTPLT] PLT , CALL JMP, xxx@GOTPLT , , . JMP, .plt , . 4K , , , , , .
, 32- x86. , @GOTPLT, 64- x86 @GOTPLT RIP.
- GCC (6.1 ) -fno-plt. 64- x86 call printf@GOTPCREL[rip] call printf call printf. , , , . , , . , , . 32- -fno-plt x86 -fno-plt , , (-fpic -fpie), call printf@GOT[ebx]. , , GOT, .
, Windows , , "dllimport", , DLL. , , . , DLL, , , .
Drepper , ( Linux).