https://en.wikipedia.org/wiki/Executable_and_Linkable_Format

파일 헤더 (-h)

$ readelf -h ./httpd
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
  Entry point address:               0x426bb0
  Start of program headers:          64 (bytes into file)
  Start of section headers:          2493360 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         8
  Size of section headers:           64 (bytes)
  Number of section headers:         39
  Section header string table index: 36

심볼 테이블 (-s)

$ readelf -s ./httpd | head
 
Symbol table '.dynsym' contains 2619 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND initgroups@GLIBC_2.2.5 (2)
     2: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND chdir@GLIBC_2.2.5 (2)
     3: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND printf@GLIBC_2.2.5 (2)
     4: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND memset@GLIBC_2.2.5 (2)
     5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND getgrnam@GLIBC_2.2.5 (2)
     6: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND syslog@GLIBC_2.2.5 (2)

재배치 정보 (-r)

$ readelf -r ./httpd | head

Relocation section '.rela.dyn' at offset 0x1ee08 contains 10 entries:
  Offset          Info           Type           Sym. Value    Sym. Name + Addend
0000006b4470  000b00000006 R_X86_64_GLOB_DAT 0000000000000000 __gmon_start__ + 0
0000006b9580  037400000005 R_X86_64_COPY     00000000006b9580 apr_month_snames + 0
0000006b95b0  02a000000005 R_X86_64_COPY     00000000006b95b0 apr_day_snames + 0
0000006b95d0  017300000005 R_X86_64_COPY     00000000006b95d0 apr_hook_debug_current + 0
0000006b95d8  039400000005 R_X86_64_COPY     00000000006b95d8 apr_hook_debug_enabled + 0
0000006b95e0  042900000005 R_X86_64_COPY     00000000006b95e0 apr_bucket_type_file + 0
0000006b9620  03eb00000005 R_X86_64_COPY     00000000006b9620 apr_bucket_type_eos + 0

동적 세그먼트 정보 (-d)

$ readelf -d ./httpd
 
Dynamic section at offset 0xb4250 contains 29 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libz.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000f (RPATH)              Library rpath: [/home/jongpak/apps/apache-2.2.34/lib]
 0x000000000000000c (INIT)               0x4239b0
 0x000000000000000d (FINI)               0x489a88