ELF file이란
- ELF는 리눅스 시스템에서 사용되는 중요 실행 파일 형식이다. 사용자 어플리케이션, 공유 라이브러리, 커널 모듈, 커널 자체 모두 ELF 형식으로 저장된다.
파일 레이아웃
각 ELF 파일은 하나의 ELF 헤더와 파일 데이터로 이루어진다. 파일 데이터는 다음을 포함한다.
- 0개 이상의 세그먼트들을 정의하는 프로그램 헤더 테이블
- 0개 이상의 섹션들을 정의하는 섹션 헤더 테이블
- 프로그램 헤더 테이블 또는 섹션 헤더 테이블의 엔트리들에 의해 참조되는 데이터
- 섹션들은 Linking과 relocation에 필요한 중요 정보를 포함
- 세그먼트들은 파일의 런타임 실행에 필요한 정보를 포함
- 전체 파일의 어떤 바이트는 최대 한 개의 섹션에 의해 소유될 수 있음
- 어떠한 섹션에 의해서도 소유되지 않는 고아 바이트들이 존재할 수 있음

wikipedia - ELF