2017-05-18 2 views
0

나는 -h 옵션을 사용하여 readelf를 실행하려고 시도했으며 Version이라는 두 개의 필드에 모두 숫자 1을 표시합니다.readelf는 두 개의 버전 번호를 표시합니다

필드 중 하나에서 버전 1 (현재), 다른 필드에서 버전 0x1이 표시됩니다.

이 두 필드의 의미는 무엇입니까?

ELF Header: 
    Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
    Class:        ELF32 
    Data:        2's complement, little endian 
    Version:       1 (current) 
    OS/ABI:       UNIX - System V 
    ABI Version:      0 
    Type:        EXEC (Executable file) 
    Machine:       <unknown>: 0xFFFF 
    Version:       0x1 
    Entry point address:    0x0 
    Start of program headers:   52 (bytes into file) 
    Start of section headers:   2384 (bytes into file) 
    Flags:        0x0 
    Size of this header:    52 (bytes) 
    Size of program headers:   32 (bytes) 
    Number of program headers:   5 
    Size of section headers:   40 (bytes) 
    Number of section headers:   11 
    Section header string table index: 10 

답변

0

이 버전이라는 두 개의 필드

두 가지 버전이 있습니다 표시 : 하나는 e_ident의 일부를하고, ELF 형식 자신을 식별합니다. 다른 하나는 e_version이며 "오브젝트 파일 버전"을 식별합니다.

이 필드 중 하나의 변경 사항에 대해서는 알지 못하므로 실제로는 항상 둘 다 1입니다.

관련 문제