readelf가 Linux 대신 내 운영 체제로 "System V"를 표시하는 이유는 무엇입니까?

readelf가 Linux 대신 내 운영 체제로 "System V"를 표시하는 이유는 무엇입니까?

나는 ELF 파일 형식을 이해하기 위해 gcc로 작은 C 프로그램(2줄의 코드)을 컴파일했습니다. readelf -h대상 파일에서 작업하면 헤더에 다음이 있습니다.

OS/ABI:                            UNIX - System V 

저는 Fedora를 사용하고 있는데 Linux는 사용하지 않는 이유는 무엇입니까?

편집하다: 제가 정리했어요

int main(){
  int x = 0;
  x++;
}

그리고 gcc -o main.o -c main.c. 내 gcc 버전은

gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) 

답변1

다양한 플랫폼의 ELF 실행 파일 간에는 약간의 차이가 있습니다. "UNIX - System V"는 공통 분모입니다.시스템 V어디야?매우 낮은 주파수형식은 다음과 같습니다. 해당 값은 0입니다. 이 값은 실행 파일이 운영 체제별 확장자를 사용하지 않음을 나타냅니다. Debian GNU/Linux는 실행 파일을 생성하기 위해 최소한 GCC/binutils를 구성하며 이 필드는 기본적으로 0으로 설정됩니다.

관련 정보