🏷️ELF 파일 형식
- ELF 파일 형식은 크게 ELF 헤더와 섹션으로 나누어진다.
📌ELF 헤더
📌ELF 섹션
.text
.rdata
.data
.bss
.symtab
.rel.text와 .rel.data
.debug
.line
.strtab
🏷️Object file vs 실행 가능한 파일
- 두 파일 모두 ELF형식인데 차이가 있다.
- 링커는 ELF 파일(object file)의 헤더와 섹션 정보를 읽어서 하나로 묶은 다음 실행 가능한 최종 바이너리 파일을 만든다.
- scatter file이 함께 링커의 입력으로 들어간다.
📌Object file
📌실행 가능한 최종 바이너리 파일
- ELF 파일이다.
- 단, 섹션 별로 메모리의 어느 주소에 위치해야하는지에 대한 정보를 갖고 있다.
- 이 정보를 제공하는 파일이 링커의 입력으로 전달되는 스캐터 파일이다.
- 모든 정보를 다 갖고있는 실행 가능한 최종 바이너리 파일은 로더에 의해 조각 조각 분해되어 메모리에 복사된다.