컴퓨터 시스템 : CSAPP 7장 정리 - 7.7 재배치
·
크래프톤 정글 (컴퓨터 시스템: CSAPP)/7장 링커
7.7 재배치 (Relocation)링커가 심볼 결합을 완료하면, 각 심볼 참조가 하나의 정확한 정의와 연결되어 있다. 그다음 링커는 재배치(relocation) 과정을 통해 각 심볼에 실행 시간 주소(run-time address)를 할당한다. 이 과정은 두 단계로 나뉜다.1단계 : 섹션 및 심볼 정의 재배치링커는 입력된 목적 파일들에서 동일한 종류의 섹션들을 병합(merge)한다.예: 모든 .data 섹션을 병합하여 최종 실행 파일의 .data 섹션으로 만든다.병합된 섹션들과 원래 섹션들 각각에 대해 실행 시간 주소를 할당한다.모든 전역 변수, 함수, 명령어는 이제 고유한 주소를 가지게 된다.2단계 : 섹션 내부 심볼 참조 재배치 .text, .data 섹션 내부에 있는 심볼 참조를 올바른 주소로 수..