PLT
외부 프로시저를 연결해주는 테이블, PLT를 통해 다른 라이브러리에 있는 프로시저를 호출해 사용할 수 있다.
GOT
PLT가 참조하는 테이블, 프로시저들의 주소가 들어있다.
처음 호출
함수 호출 -> PLT 이동 -> GOT 참조(null) -> dl_resolve 함수 실행 -> GOT에 함수 주소 쓰여짐 -> 해당 함수로 점프
처음 이후의 호출
함수 호출 -> PLT 이동 -> GOT 참조(주소 존재) -> 해당 함수로 점프
debugging
처음 printf를 실행한다.
printf_got 로 jump 한다.
_dl_runtime_resolve_xsavec 실행
한 번 실행 후에는 got에 실제 주소가 쓰여 있다.
<틀린 부분이 있다면 비난과 욕설을 해주세요>