수호의 메모장
plt & got 본문
최초 호출
puts("blah");
->
call puts@plt
puts@plt:
1) jmp [puts@got]
2) puts@got -> 동적 링커로 넘어감
3) 동적 링커가 puts@got에 실제 함수 주소를 쓰게 됨
4) 이후 jmp to real func address
2번째 이후 호출
call puts@plt -> jmp [puts@got] -> real func
3번 과정으로 인해 [puts@got]에는 real func address가 써있음.
