readelf отображает два номера версии

Я попытался запустить readelf с параметром -h, и он отображает два поля под названием «Версия», в каждом из которых указано число 1.

В одном из полей указано «Версия 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

person Har    schedule 18.05.2017    source источник


Ответы (1)


он отображает два поля с именем Версия

Существует существует две версии: одна является частью e_ident и идентифицирует сам формат ELF. Другой e_version идентифицирует "версию объектного файла".

Я не знаю о каких-либо изменениях в любом из этих полей, поэтому на практике они оба всегда равны 1.

person Employed Russian    schedule 18.05.2017