Compiler projects using llvm
## Show that all non-machine specific tags can be read and printed correctly.
## Also show that -d is an alias for --dynamic-table.

# RUN: yaml2obj --docnum=1 %s -o %t1
# RUN: llvm-readobj --dynamic-table %t1 \
# RUN:   | FileCheck %s --strict-whitespace --match-full-lines --check-prefix=LLVM64
# RUN: llvm-readobj -d %t1 | FileCheck %s --check-prefix=LLVM64
# RUN: llvm-readelf --dynamic-table %t1 \
# RUN:   | FileCheck %s --strict-whitespace --match-full-lines --check-prefix=GNU64
# RUN: llvm-readelf -d %t1 | FileCheck %s --check-prefix=GNU64

#      LLVM64:DynamicSection [ (61 entries)
# LLVM64-NEXT:  Tag                Type                 Name/Value
# LLVM64-NEXT:  0x0000000000000001 NEEDED               Shared library: [D]
# LLVM64-NEXT:  0x0000000000000002 PLTRELSZ             16 (bytes)
# LLVM64-NEXT:  0x0000000000000003 PLTGOT               0x1000
# LLVM64-NEXT:  0x0000000000000004 HASH                 0x1000
# LLVM64-NEXT:  0x0000000000000005 STRTAB               0x1000
# LLVM64-NEXT:  0x0000000000000006 SYMTAB               0x1000
# LLVM64-NEXT:  0x0000000000000007 RELA                 0x1000
# LLVM64-NEXT:  0x0000000000000008 RELASZ               16 (bytes)
# LLVM64-NEXT:  0x0000000000000009 RELAENT              1929 (bytes)
# LLVM64-NEXT:  0x000000000000000A STRSZ                16 (bytes)
# LLVM64-NEXT:  0x000000000000000B SYMENT               2439 (bytes)
# LLVM64-NEXT:  0x000000000000000C INIT                 0x1000
# LLVM64-NEXT:  0x000000000000000D FINI                 0x1000
# LLVM64-NEXT:  0x000000000000000E SONAME               Library soname: [U]
# LLVM64-NEXT:  0x000000000000000F RPATH                Library rpath: [f]
# LLVM64-NEXT:  0x0000000000000010 SYMBOLIC             0x1234567890ABCDEF
# LLVM64-NEXT:  0x0000000000000011 REL                  0x1000
# LLVM64-NEXT:  0x0000000000000012 RELSZ                16 (bytes)
# LLVM64-NEXT:  0x0000000000000013 RELENT               291 (bytes)
# LLVM64-NEXT:  0x0000000000000014 PLTREL               RELA
# LLVM64-NEXT:  0x0000000000000015 DEBUG                0xFEDCBA0987654321
# LLVM64-NEXT:  0x0000000000000016 TEXTREL              0x1122334455667788
# LLVM64-NEXT:  0x0000000000000017 JMPREL               0x1000
# LLVM64-NEXT:  0x0000000000000018 BIND_NOW             0x8877665544332211
# LLVM64-NEXT:  0x0000000000000019 INIT_ARRAY           0x1000
# LLVM64-NEXT:  0x000000000000001A FINI_ARRAY           0x1000
# LLVM64-NEXT:  0x000000000000001B INIT_ARRAYSZ         16 (bytes)
# LLVM64-NEXT:  0x000000000000001C FINI_ARRAYSZ         16 (bytes)
# LLVM64-NEXT:  0x000000000000001D RUNPATH              Library runpath: [w]
# LLVM64-NEXT:  0x000000000000001E FLAGS                ORIGIN SYMBOLIC TEXTREL BIND_NOW STATIC_TLS {{$}}
# LLVM64-NEXT:  0x0000000000000020 PREINIT_ARRAY        0x1000
# LLVM64-NEXT:  0x0000000000000021 PREINIT_ARRAYSZ      16 (bytes)
# LLVM64-NEXT:  0x0000000000000022 SYMTAB_SHNDX         0x1000
# LLVM64-NEXT:  0x0000000000000023 RELRSZ               16 (bytes)
# LLVM64-NEXT:  0x0000000000000024 RELR                 0x1000
# LLVM64-NEXT:  0x0000000000000025 RELRENT              17185 (bytes)
# LLVM64-NEXT:  0x000000006000000F ANDROID_REL          0x1000
# LLVM64-NEXT:  0x0000000060000010 ANDROID_RELSZ        16 (bytes)
# LLVM64-NEXT:  0x0000000060000011 ANDROID_RELA         0x1000
# LLVM64-NEXT:  0x0000000060000012 ANDROID_RELASZ       16 (bytes)
# LLVM64-NEXT:  0x000000006FFFE000 ANDROID_RELR         0x1000
# LLVM64-NEXT:  0x000000006FFFE001 ANDROID_RELRSZ       0x10
# LLVM64-NEXT:  0x000000006FFFE003 ANDROID_RELRENT      0x1234
# LLVM64-NEXT:  0x000000006FFFFEF5 GNU_HASH             0x1000
# LLVM64-NEXT:  0x000000006FFFFEF6 TLSDESC_PLT          0x1000
# LLVM64-NEXT:  0x000000006FFFFEF7 TLSDESC_GOT          0x1000
# LLVM64-NEXT:  0x000000006FFFFFF9 RELACOUNT            0
# LLVM64-NEXT:  0x000000006FFFFFFA RELCOUNT             0
# LLVM64-NEXT:  0x000000006FFFFFFB FLAGS_1              NOW GLOBAL GROUP NODELETE LOADFLTR INITFIRST NOOPEN ORIGIN DIRECT TRANS INTERPOSE NODEFLIB NODUMP CONFALT ENDFILTEE DISPRELDNE DISPRELPND NODIRECT IGNMULDEF NOKSYMS NOHDR EDITED NORELOC SYMINTPOSE GLOBAUDIT SINGLETON PIE {{$}}
# LLVM64-NEXT:  0x000000006FFFFFF0 VERSYM               0x1000
# LLVM64-NEXT:  0x000000006FFFFFFC VERDEF               0x1000
# LLVM64-NEXT:  0x000000006FFFFFFD VERDEFNUM            0
# LLVM64-NEXT:  0x000000006FFFFFFE VERNEED              0x1000
# LLVM64-NEXT:  0x000000006FFFFFFF VERNEEDNUM           0
# LLVM64-NEXT:  0x000000007FFFFFFD AUXILIARY            Auxiliary library: [D]
# LLVM64-NEXT:  0x000000007FFFFFFE USED                 Not needed object: [U]
# LLVM64-NEXT:  0x000000007FFFFFFF FILTER               Filter library: [U]
# LLVM64-NEXT:  0x0000000012345678 <unknown:>0x12345678 0x8765432187654321
# LLVM64-NEXT:  0x000000006ABCDEF0 <unknown:>0x6abcdef0 0x9988776655443322
# LLVM64-NEXT:  0x0000000076543210 <unknown:>0x76543210 0x5555666677778888
# LLVM64-NEXT:  0x0000000000000000 NULL                 0x0
# LLVM64-NEXT:]

#      GNU64:Dynamic section at offset {{.*}} contains 61 entries:
# GNU64-NEXT:  Tag                Type                   Name/Value
# GNU64-NEXT:  0x0000000000000001 (NEEDED)               Shared library: [D]
# GNU64-NEXT:  0x0000000000000002 (PLTRELSZ)             16 (bytes)
# GNU64-NEXT:  0x0000000000000003 (PLTGOT)               0x1000
# GNU64-NEXT:  0x0000000000000004 (HASH)                 0x1000
# GNU64-NEXT:  0x0000000000000005 (STRTAB)               0x1000
# GNU64-NEXT:  0x0000000000000006 (SYMTAB)               0x1000
# GNU64-NEXT:  0x0000000000000007 (RELA)                 0x1000
# GNU64-NEXT:  0x0000000000000008 (RELASZ)               16 (bytes)
# GNU64-NEXT:  0x0000000000000009 (RELAENT)              1929 (bytes)
# GNU64-NEXT:  0x000000000000000a (STRSZ)                16 (bytes)
# GNU64-NEXT:  0x000000000000000b (SYMENT)               2439 (bytes)
# GNU64-NEXT:  0x000000000000000c (INIT)                 0x1000
# GNU64-NEXT:  0x000000000000000d (FINI)                 0x1000
# GNU64-NEXT:  0x000000000000000e (SONAME)               Library soname: [U]
# GNU64-NEXT:  0x000000000000000f (RPATH)                Library rpath: [f]
# GNU64-NEXT:  0x0000000000000010 (SYMBOLIC)             0x1234567890abcdef
# GNU64-NEXT:  0x0000000000000011 (REL)                  0x1000
# GNU64-NEXT:  0x0000000000000012 (RELSZ)                16 (bytes)
# GNU64-NEXT:  0x0000000000000013 (RELENT)               291 (bytes)
# GNU64-NEXT:  0x0000000000000014 (PLTREL)               RELA
# GNU64-NEXT:  0x0000000000000015 (DEBUG)                0xfedcba0987654321
# GNU64-NEXT:  0x0000000000000016 (TEXTREL)              0x1122334455667788
# GNU64-NEXT:  0x0000000000000017 (JMPREL)               0x1000
# GNU64-NEXT:  0x0000000000000018 (BIND_NOW)             0x8877665544332211
# GNU64-NEXT:  0x0000000000000019 (INIT_ARRAY)           0x1000
# GNU64-NEXT:  0x000000000000001a (FINI_ARRAY)           0x1000
# GNU64-NEXT:  0x000000000000001b (INIT_ARRAYSZ)         16 (bytes)
# GNU64-NEXT:  0x000000000000001c (FINI_ARRAYSZ)         16 (bytes)
# GNU64-NEXT:  0x000000000000001d (RUNPATH)              Library runpath: [w]
# GNU64-NEXT:  0x000000000000001e (FLAGS)                ORIGIN SYMBOLIC TEXTREL BIND_NOW STATIC_TLS {{$}}
# GNU64-NEXT:  0x0000000000000020 (PREINIT_ARRAY)        0x1000
# GNU64-NEXT:  0x0000000000000021 (PREINIT_ARRAYSZ)      16 (bytes)
# GNU64-NEXT:  0x0000000000000022 (SYMTAB_SHNDX)         0x1000
# GNU64-NEXT:  0x0000000000000023 (RELRSZ)               16 (bytes)
# GNU64-NEXT:  0x0000000000000024 (RELR)                 0x1000
# GNU64-NEXT:  0x0000000000000025 (RELRENT)              17185 (bytes)
# GNU64-NEXT:  0x000000006000000f (ANDROID_REL)          0x1000
# GNU64-NEXT:  0x0000000060000010 (ANDROID_RELSZ)        16 (bytes)
# GNU64-NEXT:  0x0000000060000011 (ANDROID_RELA)         0x1000
# GNU64-NEXT:  0x0000000060000012 (ANDROID_RELASZ)       16 (bytes)
# GNU64-NEXT:  0x000000006fffe000 (ANDROID_RELR)         0x1000
# GNU64-NEXT:  0x000000006fffe001 (ANDROID_RELRSZ)       0x10
# GNU64-NEXT:  0x000000006fffe003 (ANDROID_RELRENT)      0x1234
# GNU64-NEXT:  0x000000006ffffef5 (GNU_HASH)             0x1000
# GNU64-NEXT:  0x000000006ffffef6 (TLSDESC_PLT)          0x1000
# GNU64-NEXT:  0x000000006ffffef7 (TLSDESC_GOT)          0x1000
# GNU64-NEXT:  0x000000006ffffff9 (RELACOUNT)            0
# GNU64-NEXT:  0x000000006ffffffa (RELCOUNT)             0
# GNU64-NEXT:  0x000000006ffffffb (FLAGS_1)              NOW GLOBAL GROUP NODELETE LOADFLTR INITFIRST NOOPEN ORIGIN DIRECT TRANS INTERPOSE NODEFLIB NODUMP CONFALT ENDFILTEE DISPRELDNE DISPRELPND NODIRECT IGNMULDEF NOKSYMS NOHDR EDITED NORELOC SYMINTPOSE GLOBAUDIT SINGLETON PIE {{$}}
# GNU64-NEXT:  0x000000006ffffff0 (VERSYM)               0x1000
# GNU64-NEXT:  0x000000006ffffffc (VERDEF)               0x1000
# GNU64-NEXT:  0x000000006ffffffd (VERDEFNUM)            0
# GNU64-NEXT:  0x000000006ffffffe (VERNEED)              0x1000
# GNU64-NEXT:  0x000000006fffffff (VERNEEDNUM)           0
# GNU64-NEXT:  0x000000007ffffffd (AUXILIARY)            Auxiliary library: [D]
# GNU64-NEXT:  0x000000007ffffffe (USED)                 Not needed object: [U]
# GNU64-NEXT:  0x000000007fffffff (FILTER)               Filter library: [U]
# GNU64-NEXT:  0x0000000012345678 (<unknown:>0x12345678) 0x8765432187654321
# GNU64-NEXT:  0x000000006abcdef0 (<unknown:>0x6abcdef0) 0x9988776655443322
# GNU64-NEXT:  0x0000000076543210 (<unknown:>0x76543210) 0x5555666677778888
# GNU64-NEXT:  0x0000000000000000 (NULL)                 0x0

--- !ELF
FileHeader:
  Class:      ELFCLASS[[BITS=64]]
  Data:       ELFDATA2LSB
  Type:       ET_EXEC
  EPhEntSize: [[PHENTSIZE=<none>]]
Sections:
  - Name:    .dynstr
    Type:    SHT_STRTAB
    Address: 0x1000
    Size:    0x10
    Content: "004400550066007700"
  - Name:    .dynamic
    Type:    SHT_DYNAMIC
    Address: 0x1010
    Entries:
      - Tag:   DT_NEEDED
        Value: 0x1
      - Tag:   DT_PLTRELSZ
        Value: 0x10
      - Tag:   DT_PLTGOT
        Value: 0x1000
      - Tag:   DT_HASH
        Value: 0x1000
      - Tag:   DT_STRTAB
        Value: 0x1000
      - Tag:   DT_SYMTAB
        Value: 0x1000
      - Tag:   DT_RELA
        Value: 0x1000
      - Tag:   DT_RELASZ
        Value: 0x10
      - Tag:   DT_RELAENT
        Value: 0x789
      - Tag:   DT_STRSZ
        Value: 0x10
      - Tag:   DT_SYMENT
        Value: 0x987
      - Tag:   DT_INIT
        Value: 0x1000
      - Tag:   DT_FINI
        Value: 0x1000
      - Tag:   DT_SONAME
        Value: 0x3
      - Tag:   DT_RPATH
        Value: 0x5
      - Tag:   DT_SYMBOLIC
        Value: [[SYMBOLIC=0x1234567890abcdef]]
      - Tag:   DT_REL
        Value: 0x1000
      - Tag:   DT_RELSZ
        Value: 0x10
      - Tag:   DT_RELENT
        Value: 0x123
      - Tag:   DT_PLTREL
        Value: 0x7
      - Tag:   DT_DEBUG
        Value: [[DEBUG=0xfedcba0987654321]]
      - Tag:   DT_TEXTREL
        Value: [[TEXTREL=0x1122334455667788]]
      - Tag:   DT_JMPREL
        Value: 0x1000
      - Tag:   DT_BIND_NOW
        Value: [[BINDNOW=0x8877665544332211]]
      - Tag:   DT_INIT_ARRAY
        Value: 0x1000
      - Tag:   DT_FINI_ARRAY
        Value: 0x1000
      - Tag:   DT_INIT_ARRAYSZ
        Value: 0x10
      - Tag:   DT_FINI_ARRAYSZ
        Value: 0x10
      - Tag:   DT_RUNPATH
        Value: 0x7
      - Tag:   DT_FLAGS
        Value: [[FLAGS=0xffffffffffffffff]]
      - Tag:   DT_PREINIT_ARRAY
        Value: 0x1000
      - Tag:   DT_PREINIT_ARRAYSZ
        Value: 0x10
      - Tag:   DT_SYMTAB_SHNDX
        Value: 0x1000
      - Tag:   DT_RELRSZ
        Value: 0x10
      - Tag:   DT_RELR
        Value: 0x1000
      - Tag:   DT_RELRENT
        Value: 0x4321
      - Tag:   DT_ANDROID_REL
        Value: 0x1000
      - Tag:   DT_ANDROID_RELSZ
        Value: 0x10
      - Tag:   DT_ANDROID_RELA
        Value: 0x1000
      - Tag:   DT_ANDROID_RELASZ
        Value: 0x10
      - Tag:   DT_ANDROID_RELR
        Value: 0x1000
      - Tag:   DT_ANDROID_RELRSZ
        Value: 0x10
      - Tag:   DT_ANDROID_RELRENT
        Value: 0x1234
      - Tag:   DT_GNU_HASH
        Value: 0x1000
      - Tag:   DT_TLSDESC_PLT
        Value: 0x1000
      - Tag:   DT_TLSDESC_GOT
        Value: 0x1000
      - Tag:   DT_RELACOUNT
        Value: 0x0
      - Tag:   DT_RELCOUNT
        Value: 0x0
      - Tag:   DT_FLAGS_1
        Value: [[FLAGS=0xffffffffffffffff]]
      - Tag:   DT_VERSYM
        Value: 0x1000
      - Tag:   DT_VERDEF
        Value: 0x1000
      - Tag:   DT_VERDEFNUM
        Value: 0x0
      - Tag:   DT_VERNEED
        Value: 0x1000
      - Tag:   DT_VERNEEDNUM
        Value: 0x0
      - Tag:   DT_AUXILIARY
        Value: 0x1
      - Tag:   DT_USED
        Value: 0x3
      - Tag:   DT_FILTER
        Value: 0x3
## Show behaviour for unknown values in special and un-marked ranges.
## An arbitrary unknown value outside of the special ranges.
      - Tag:   0x12345678
        Value: [[UNKNOWN=0x8765432187654321]]
## An OS specific tag.
      - Tag:   0x6abcdef0
        Value: [[OSSPEC=0x9988776655443322]]
## A processor specific tags.
      - Tag:   0x76543210
        Value: [[PROCSPEC=0x5555666677778888]]
      - Tag:   DT_NULL
        Value: 0x0
ProgramHeaders:
  - Type:     PT_LOAD
    VAddr:    0x1000
    FirstSec: .dynstr
    LastSec:  .dynamic
  - Type:     PT_DYNAMIC
    VAddr:    0x1010
    FirstSec: .dynamic
    LastSec:  .dynamic

# RUN: yaml2obj %s --docnum=1 -DBITS=32 -DSYMBOLIC=0x12345678 -DDEBUG=0xfedcba09 \
# RUN:   -DTEXTREL=0x11223344 -DBINDNOW=0x88776655 -DFLAGS=0xffffffff \
# RUN:   -DUNKNOWN=0x87654321 -DOSSPEC=0x99887766 -DPROCSPEC=0x55556666 -o %t2
# RUN: llvm-readobj --dynamic-table %t2 \
# RUN:   | FileCheck %s --check-prefix=LLVM32 --strict-whitespace --match-full-lines
# RUN: llvm-readobj -d %t2 | FileCheck %s --check-prefix=LLVM32 --strict-whitespace --match-full-lines
# RUN: llvm-readelf --dynamic-table %t2 \
# RUN:   | FileCheck %s --check-prefix=GNU32 --strict-whitespace --match-full-lines
# RUN: llvm-readelf -d %t2 | FileCheck %s --check-prefix=GNU32 --strict-whitespace --match-full-lines

#      LLVM32:DynamicSection [ (61 entries)
# LLVM32-NEXT:  Tag        Type                 Name/Value
# LLVM32-NEXT:  0x00000001 NEEDED               Shared library: [D]
# LLVM32-NEXT:  0x00000002 PLTRELSZ             16 (bytes)
# LLVM32-NEXT:  0x00000003 PLTGOT               0x1000
# LLVM32-NEXT:  0x00000004 HASH                 0x1000
# LLVM32-NEXT:  0x00000005 STRTAB               0x1000
# LLVM32-NEXT:  0x00000006 SYMTAB               0x1000
# LLVM32-NEXT:  0x00000007 RELA                 0x1000
# LLVM32-NEXT:  0x00000008 RELASZ               16 (bytes)
# LLVM32-NEXT:  0x00000009 RELAENT              1929 (bytes)
# LLVM32-NEXT:  0x0000000A STRSZ                16 (bytes)
# LLVM32-NEXT:  0x0000000B SYMENT               2439 (bytes)
# LLVM32-NEXT:  0x0000000C INIT                 0x1000
# LLVM32-NEXT:  0x0000000D FINI                 0x1000
# LLVM32-NEXT:  0x0000000E SONAME               Library soname: [U]
# LLVM32-NEXT:  0x0000000F RPATH                Library rpath: [f]
# LLVM32-NEXT:  0x00000010 SYMBOLIC             0x12345678
# LLVM32-NEXT:  0x00000011 REL                  0x1000
# LLVM32-NEXT:  0x00000012 RELSZ                16 (bytes)
# LLVM32-NEXT:  0x00000013 RELENT               291 (bytes)
# LLVM32-NEXT:  0x00000014 PLTREL               RELA
# LLVM32-NEXT:  0x00000015 DEBUG                0xFEDCBA09
# LLVM32-NEXT:  0x00000016 TEXTREL              0x11223344
# LLVM32-NEXT:  0x00000017 JMPREL               0x1000
# LLVM32-NEXT:  0x00000018 BIND_NOW             0x88776655
# LLVM32-NEXT:  0x00000019 INIT_ARRAY           0x1000
# LLVM32-NEXT:  0x0000001A FINI_ARRAY           0x1000
# LLVM32-NEXT:  0x0000001B INIT_ARRAYSZ         16 (bytes)
# LLVM32-NEXT:  0x0000001C FINI_ARRAYSZ         16 (bytes)
# LLVM32-NEXT:  0x0000001D RUNPATH              Library runpath: [w]
# LLVM32-NEXT:  0x0000001E FLAGS                ORIGIN SYMBOLIC TEXTREL BIND_NOW STATIC_TLS {{$}}
# LLVM32-NEXT:  0x00000020 PREINIT_ARRAY        0x1000
# LLVM32-NEXT:  0x00000021 PREINIT_ARRAYSZ      16 (bytes)
# LLVM32-NEXT:  0x00000022 SYMTAB_SHNDX         0x1000
# LLVM32-NEXT:  0x00000023 RELRSZ               16 (bytes)
# LLVM32-NEXT:  0x00000024 RELR                 0x1000
# LLVM32-NEXT:  0x00000025 RELRENT              17185 (bytes)
# LLVM32-NEXT:  0x6000000F ANDROID_REL          0x1000
# LLVM32-NEXT:  0x60000010 ANDROID_RELSZ        16 (bytes)
# LLVM32-NEXT:  0x60000011 ANDROID_RELA         0x1000
# LLVM32-NEXT:  0x60000012 ANDROID_RELASZ       16 (bytes)
# LLVM32-NEXT:  0x6FFFE000 ANDROID_RELR         0x1000
# LLVM32-NEXT:  0x6FFFE001 ANDROID_RELRSZ       0x10
# LLVM32-NEXT:  0x6FFFE003 ANDROID_RELRENT      0x1234
# LLVM32-NEXT:  0x6FFFFEF5 GNU_HASH             0x1000
# LLVM32-NEXT:  0x6FFFFEF6 TLSDESC_PLT          0x1000
# LLVM32-NEXT:  0x6FFFFEF7 TLSDESC_GOT          0x1000
# LLVM32-NEXT:  0x6FFFFFF9 RELACOUNT            0
# LLVM32-NEXT:  0x6FFFFFFA RELCOUNT             0
# LLVM32-NEXT:  0x6FFFFFFB FLAGS_1              NOW GLOBAL GROUP NODELETE LOADFLTR INITFIRST NOOPEN ORIGIN DIRECT TRANS INTERPOSE NODEFLIB NODUMP CONFALT ENDFILTEE DISPRELDNE DISPRELPND NODIRECT IGNMULDEF NOKSYMS NOHDR EDITED NORELOC SYMINTPOSE GLOBAUDIT SINGLETON PIE {{$}}
# LLVM32-NEXT:  0x6FFFFFF0 VERSYM               0x1000
# LLVM32-NEXT:  0x6FFFFFFC VERDEF               0x1000
# LLVM32-NEXT:  0x6FFFFFFD VERDEFNUM            0
# LLVM32-NEXT:  0x6FFFFFFE VERNEED              0x1000
# LLVM32-NEXT:  0x6FFFFFFF VERNEEDNUM           0
# LLVM32-NEXT:  0x7FFFFFFD AUXILIARY            Auxiliary library: [D]
# LLVM32-NEXT:  0x7FFFFFFE USED                 Not needed object: [U]
# LLVM32-NEXT:  0x7FFFFFFF FILTER               Filter library: [U]
# LLVM32-NEXT:  0x12345678 <unknown:>0x12345678 0x87654321
# LLVM32-NEXT:  0x6ABCDEF0 <unknown:>0x6abcdef0 0x99887766
# LLVM32-NEXT:  0x76543210 <unknown:>0x76543210 0x55556666
# LLVM32-NEXT:  0x00000000 NULL                 0x0
# LLVM32-NEXT:]

#      GNU32:Dynamic section at offset 0x84 contains 61 entries:
# GNU32-NEXT:  Tag        Type                   Name/Value
# GNU32-NEXT:  0x00000001 (NEEDED)               Shared library: [D]
# GNU32-NEXT:  0x00000002 (PLTRELSZ)             16 (bytes)
# GNU32-NEXT:  0x00000003 (PLTGOT)               0x1000
# GNU32-NEXT:  0x00000004 (HASH)                 0x1000
# GNU32-NEXT:  0x00000005 (STRTAB)               0x1000
# GNU32-NEXT:  0x00000006 (SYMTAB)               0x1000
# GNU32-NEXT:  0x00000007 (RELA)                 0x1000
# GNU32-NEXT:  0x00000008 (RELASZ)               16 (bytes)
# GNU32-NEXT:  0x00000009 (RELAENT)              1929 (bytes)
# GNU32-NEXT:  0x0000000a (STRSZ)                16 (bytes)
# GNU32-NEXT:  0x0000000b (SYMENT)               2439 (bytes)
# GNU32-NEXT:  0x0000000c (INIT)                 0x1000
# GNU32-NEXT:  0x0000000d (FINI)                 0x1000
# GNU32-NEXT:  0x0000000e (SONAME)               Library soname: [U]
# GNU32-NEXT:  0x0000000f (RPATH)                Library rpath: [f]
# GNU32-NEXT:  0x00000010 (SYMBOLIC)             0x12345678
# GNU32-NEXT:  0x00000011 (REL)                  0x1000
# GNU32-NEXT:  0x00000012 (RELSZ)                16 (bytes)
# GNU32-NEXT:  0x00000013 (RELENT)               291 (bytes)
# GNU32-NEXT:  0x00000014 (PLTREL)               RELA
# GNU32-NEXT:  0x00000015 (DEBUG)                0xfedcba09
# GNU32-NEXT:  0x00000016 (TEXTREL)              0x11223344
# GNU32-NEXT:  0x00000017 (JMPREL)               0x1000
# GNU32-NEXT:  0x00000018 (BIND_NOW)             0x88776655
# GNU32-NEXT:  0x00000019 (INIT_ARRAY)           0x1000
# GNU32-NEXT:  0x0000001a (FINI_ARRAY)           0x1000
# GNU32-NEXT:  0x0000001b (INIT_ARRAYSZ)         16 (bytes)
# GNU32-NEXT:  0x0000001c (FINI_ARRAYSZ)         16 (bytes)
# GNU32-NEXT:  0x0000001d (RUNPATH)              Library runpath: [w]
# GNU32-NEXT:  0x0000001e (FLAGS)                ORIGIN SYMBOLIC TEXTREL BIND_NOW STATIC_TLS {{$}}
# GNU32-NEXT:  0x00000020 (PREINIT_ARRAY)        0x1000
# GNU32-NEXT:  0x00000021 (PREINIT_ARRAYSZ)      16 (bytes)
# GNU32-NEXT:  0x00000022 (SYMTAB_SHNDX)         0x1000
# GNU32-NEXT:  0x00000023 (RELRSZ)               16 (bytes)
# GNU32-NEXT:  0x00000024 (RELR)                 0x1000
# GNU32-NEXT:  0x00000025 (RELRENT)              17185 (bytes)
# GNU32-NEXT:  0x6000000f (ANDROID_REL)          0x1000
# GNU32-NEXT:  0x60000010 (ANDROID_RELSZ)        16 (bytes)
# GNU32-NEXT:  0x60000011 (ANDROID_RELA)         0x1000
# GNU32-NEXT:  0x60000012 (ANDROID_RELASZ)       16 (bytes)
# GNU32-NEXT:  0x6fffe000 (ANDROID_RELR)         0x1000
# GNU32-NEXT:  0x6fffe001 (ANDROID_RELRSZ)       0x10
# GNU32-NEXT:  0x6fffe003 (ANDROID_RELRENT)      0x1234
# GNU32-NEXT:  0x6ffffef5 (GNU_HASH)             0x1000
# GNU32-NEXT:  0x6ffffef6 (TLSDESC_PLT)          0x1000
# GNU32-NEXT:  0x6ffffef7 (TLSDESC_GOT)          0x1000
# GNU32-NEXT:  0x6ffffff9 (RELACOUNT)            0
# GNU32-NEXT:  0x6ffffffa (RELCOUNT)             0
# GNU32-NEXT:  0x6ffffffb (FLAGS_1)              NOW GLOBAL GROUP NODELETE LOADFLTR INITFIRST NOOPEN ORIGIN DIRECT TRANS INTERPOSE NODEFLIB NODUMP CONFALT ENDFILTEE DISPRELDNE DISPRELPND NODIRECT IGNMULDEF NOKSYMS NOHDR EDITED NORELOC SYMINTPOSE GLOBAUDIT SINGLETON PIE {{$}}
# GNU32-NEXT:  0x6ffffff0 (VERSYM)               0x1000
# GNU32-NEXT:  0x6ffffffc (VERDEF)               0x1000
# GNU32-NEXT:  0x6ffffffd (VERDEFNUM)            0
# GNU32-NEXT:  0x6ffffffe (VERNEED)              0x1000
# GNU32-NEXT:  0x6fffffff (VERNEEDNUM)           0
# GNU32-NEXT:  0x7ffffffd (AUXILIARY)            Auxiliary library: [D]
# GNU32-NEXT:  0x7ffffffe (USED)                 Not needed object: [U]
# GNU32-NEXT:  0x7fffffff (FILTER)               Filter library: [U]
# GNU32-NEXT:  0x12345678 (<unknown:>0x12345678) 0x87654321
# GNU32-NEXT:  0x6abcdef0 (<unknown:>0x6abcdef0) 0x99887766
# GNU32-NEXT:  0x76543210 (<unknown:>0x76543210) 0x55556666
# GNU32-NEXT:  0x00000000 (NULL)                 0x0

## When printing the "Name/Value" column we want to have the minimal possible indentation.
## Use an arbitrary dynamic tag to demonstrate this.

# RUN: yaml2obj %s --docnum=2 -o %t3
# RUN: llvm-readobj --dynamic-table %t3 \
# RUN:   | FileCheck %s --check-prefix=INDENT-LLVM-64 --strict-whitespace
# RUN: llvm-readelf --dynamic-table %t3 \
# RUN:   | FileCheck %s --check-prefix=INDENT-GNU-64 --strict-whitespace

# RUN: yaml2obj %s --docnum=2 -DBITS=32 -o %t4
# RUN: llvm-readobj --dynamic-table %t4 \
# RUN:   | FileCheck %s --check-prefix=INDENT-LLVM-32 --strict-whitespace
# RUN: llvm-readelf --dynamic-table %t4 \
# RUN:   | FileCheck %s --check-prefix=INDENT-GNU-32 --strict-whitespace

# INDENT-LLVM-64:Tag                Type   Name/Value
# INDENT-LLVM-64:0x0000000000000001 NEEDED Shared

# INDENT-GNU-64:Tag                Type     Name/Value
# INDENT-GNU-64:0x0000000000000001 (NEEDED) Shared

# INDENT-LLVM-32:Tag        Type   Name/Value
# INDENT-LLVM-32:0x00000001 NEEDED Shared

# INDENT-GNU-32:Tag        Type     Name/Value
# INDENT-GNU-32:0x00000001 (NEEDED) Shared

--- !ELF
FileHeader:
  Class: ELFCLASS[[BITS=64]]
  Data:  ELFDATA2LSB
  Type:  ET_EXEC
Sections:
  - Name: .dynamic
    Type: SHT_DYNAMIC
    Entries:
     - Tag:   DT_NEEDED
       Value: 0x1
     - Tag:   DT_NULL
       Value: 0x0

## Check how we dump dynamic tags when we are unable to read program headers.
# RUN: yaml2obj --docnum=1 -DPHENTSIZE=1 %s -o %t-phentsize-err
# RUN: llvm-readobj --dynamic-table %t-phentsize-err 2>&1 | \
# RUN:   FileCheck %s --implicit-check-not=warning: -DFILE=%t-phentsize-err \
# RUN:     --check-prefixes=PHENTSIZE-WARN,PHENTSIZE-LLVM
# RUN: llvm-readelf --dynamic-table %t-phentsize-err 2>&1 | \
# RUN:   FileCheck %s --implicit-check-not=warning: -DFILE=%t-phentsize-err \
# RUN:     --check-prefixes=PHENTSIZE-WARN,PHENTSIZE-GNU

# PHENTSIZE-WARN:      warning: '[[FILE]]': unable to read program headers to locate the PT_DYNAMIC segment: invalid e_phentsize: 1
# PHENTSIZE-WARN-NEXT: warning: '[[FILE]]': unable to parse DT_HASH: invalid e_phentsize: 1
# PHENTSIZE-WARN-NEXT: warning: '[[FILE]]': unable to parse DT_STRTAB: invalid e_phentsize: 1
# PHENTSIZE-WARN-NEXT: warning: '[[FILE]]': unable to parse DT_SYMTAB: invalid e_phentsize: 1
# PHENTSIZE-WARN-NEXT: warning: '[[FILE]]': unable to parse DT_RELA: invalid e_phentsize: 1
# PHENTSIZE-WARN-NEXT: warning: '[[FILE]]': DT_SYMENT value of 0x987 is not the size of a symbol (0x18)
# PHENTSIZE-WARN-NEXT: warning: '[[FILE]]': unable to parse DT_REL: invalid e_phentsize: 1
# PHENTSIZE-WARN-NEXT: warning: '[[FILE]]': unable to parse DT_JMPREL: invalid e_phentsize: 1
# PHENTSIZE-WARN-NEXT: warning: '[[FILE]]': unable to parse DT_SYMTAB_SHNDX: invalid e_phentsize: 1
# PHENTSIZE-WARN-NEXT: warning: '[[FILE]]': unable to parse DT_RELR: invalid e_phentsize: 1
# PHENTSIZE-WARN-NEXT: warning: '[[FILE]]': unable to parse DT_ANDROID_RELR: invalid e_phentsize: 1
# PHENTSIZE-WARN-NEXT: warning: '[[FILE]]': unable to parse DT_GNU_HASH: invalid e_phentsize: 1

# PHENTSIZE-LLVM:      warning: '[[FILE]]': string table was not found
# PHENTSIZE-LLVM-NEXT: LoadName: <?>

# PHENTSIZE-LLVM:      DynamicSection [ (61 entries)
# PHENTSIZE-LLVM-NEXT:   Tag                Type                 Name/Value
# PHENTSIZE-LLVM-NEXT:   0x0000000000000001 NEEDED               Shared library: [<?>]
# PHENTSIZE-LLVM-NEXT:   0x0000000000000002 PLTRELSZ             16 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x0000000000000003 PLTGOT               0x1000
# PHENTSIZE-LLVM-NEXT:   0x0000000000000004 HASH                 0x1000
# PHENTSIZE-LLVM-NEXT:   0x0000000000000005 STRTAB               0x1000
# PHENTSIZE-LLVM-NEXT:   0x0000000000000006 SYMTAB               0x1000
# PHENTSIZE-LLVM-NEXT:   0x0000000000000007 RELA                 0x1000
# PHENTSIZE-LLVM-NEXT:   0x0000000000000008 RELASZ               16 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x0000000000000009 RELAENT              1929 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x000000000000000A STRSZ                16 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x000000000000000B SYMENT               2439 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x000000000000000C INIT                 0x1000
# PHENTSIZE-LLVM-NEXT:   0x000000000000000D FINI                 0x1000
# PHENTSIZE-LLVM-NEXT:   0x000000000000000E SONAME               Library soname: [<?>]
# PHENTSIZE-LLVM-NEXT:   0x000000000000000F RPATH                Library rpath: [<?>]
# PHENTSIZE-LLVM-NEXT:   0x0000000000000010 SYMBOLIC             0x1234567890ABCDEF
# PHENTSIZE-LLVM-NEXT:   0x0000000000000011 REL                  0x1000
# PHENTSIZE-LLVM-NEXT:   0x0000000000000012 RELSZ                16 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x0000000000000013 RELENT               291 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x0000000000000014 PLTREL               RELA
# PHENTSIZE-LLVM-NEXT:   0x0000000000000015 DEBUG                0xFEDCBA0987654321
# PHENTSIZE-LLVM-NEXT:   0x0000000000000016 TEXTREL              0x1122334455667788
# PHENTSIZE-LLVM-NEXT:   0x0000000000000017 JMPREL               0x1000
# PHENTSIZE-LLVM-NEXT:   0x0000000000000018 BIND_NOW             0x8877665544332211
# PHENTSIZE-LLVM-NEXT:   0x0000000000000019 INIT_ARRAY           0x1000
# PHENTSIZE-LLVM-NEXT:   0x000000000000001A FINI_ARRAY           0x1000
# PHENTSIZE-LLVM-NEXT:   0x000000000000001B INIT_ARRAYSZ         16 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x000000000000001C FINI_ARRAYSZ         16 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x000000000000001D RUNPATH              Library runpath: [<?>]
# PHENTSIZE-LLVM-NEXT:   0x000000000000001E FLAGS                ORIGIN SYMBOLIC TEXTREL BIND_NOW STATIC_TLS
# PHENTSIZE-LLVM-NEXT:   0x0000000000000020 PREINIT_ARRAY        0x1000
# PHENTSIZE-LLVM-NEXT:   0x0000000000000021 PREINIT_ARRAYSZ      16 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x0000000000000022 SYMTAB_SHNDX         0x1000
# PHENTSIZE-LLVM-NEXT:   0x0000000000000023 RELRSZ               16 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x0000000000000024 RELR                 0x1000
# PHENTSIZE-LLVM-NEXT:   0x0000000000000025 RELRENT              17185 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x000000006000000F ANDROID_REL          0x1000
# PHENTSIZE-LLVM-NEXT:   0x0000000060000010 ANDROID_RELSZ        16 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x0000000060000011 ANDROID_RELA         0x1000
# PHENTSIZE-LLVM-NEXT:   0x0000000060000012 ANDROID_RELASZ       16 (bytes)
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFE000 ANDROID_RELR         0x1000
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFE001 ANDROID_RELRSZ       0x10
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFE003 ANDROID_RELRENT      0x1234
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFFEF5 GNU_HASH             0x1000
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFFEF6 TLSDESC_PLT          0x1000
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFFEF7 TLSDESC_GOT          0x1000
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFFFF9 RELACOUNT            0
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFFFFA RELCOUNT             0
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFFFFB FLAGS_1              NOW GLOBAL GROUP NODELETE LOADFLTR INITFIRST NOOPEN ORIGIN DIRECT TRANS INTERPOSE NODEFLIB NODUMP CONFALT ENDFILTEE DISPRELDNE DISPRELPND NODIRECT IGNMULDEF NOKSYMS NOHDR EDITED NORELOC SYMINTPOSE GLOBAUDIT SINGLETON PIE {{$}}
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFFFF0 VERSYM               0x1000
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFFFFC VERDEF               0x1000
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFFFFD VERDEFNUM            0
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFFFFE VERNEED              0x1000
# PHENTSIZE-LLVM-NEXT:   0x000000006FFFFFFF VERNEEDNUM           0
# PHENTSIZE-LLVM-NEXT:   0x000000007FFFFFFD AUXILIARY            Auxiliary library: [<?>]
# PHENTSIZE-LLVM-NEXT:   0x000000007FFFFFFE USED                 Not needed object: [<?>]
# PHENTSIZE-LLVM-NEXT:   0x000000007FFFFFFF FILTER               Filter library: [<?>]
# PHENTSIZE-LLVM-NEXT:   0x0000000012345678 <unknown:>0x12345678 0x8765432187654321
# PHENTSIZE-LLVM-NEXT:   0x000000006ABCDEF0 <unknown:>0x6abcdef0 0x9988776655443322
# PHENTSIZE-LLVM-NEXT:   0x0000000076543210 <unknown:>0x76543210 0x5555666677778888
# PHENTSIZE-LLVM-NEXT:   0x0000000000000000 NULL                 0x0
# PHENTSIZE-LLVM-NEXT: ]

# PHENTSIZE-GNU:      Dynamic section at offset 0xc0 contains 61 entries:
# PHENTSIZE-GNU-NEXT:   Tag                Type                   Name/Value
# PHENTSIZE-GNU-NEXT: warning: '[[FILE]]': string table was not found
# PHENTSIZE-GNU-NEXT:   0x0000000000000001 (NEEDED)               Shared library: [<?>]
# PHENTSIZE-GNU-NEXT:   0x0000000000000002 (PLTRELSZ)             16 (bytes)
# PHENTSIZE-GNU-NEXT:   0x0000000000000003 (PLTGOT)               0x1000
# PHENTSIZE-GNU-NEXT:   0x0000000000000004 (HASH)                 0x1000
# PHENTSIZE-GNU-NEXT:   0x0000000000000005 (STRTAB)               0x1000
# PHENTSIZE-GNU-NEXT:   0x0000000000000006 (SYMTAB)               0x1000
# PHENTSIZE-GNU-NEXT:   0x0000000000000007 (RELA)                 0x1000
# PHENTSIZE-GNU-NEXT:   0x0000000000000008 (RELASZ)               16 (bytes)
# PHENTSIZE-GNU-NEXT:   0x0000000000000009 (RELAENT)              1929 (bytes)
# PHENTSIZE-GNU-NEXT:   0x000000000000000a (STRSZ)                16 (bytes)
# PHENTSIZE-GNU-NEXT:   0x000000000000000b (SYMENT)               2439 (bytes)
# PHENTSIZE-GNU-NEXT:   0x000000000000000c (INIT)                 0x1000
# PHENTSIZE-GNU-NEXT:   0x000000000000000d (FINI)                 0x1000
# PHENTSIZE-GNU-NEXT:   0x000000000000000e (SONAME)               Library soname: [<?>]
# PHENTSIZE-GNU-NEXT:   0x000000000000000f (RPATH)                Library rpath: [<?>]
# PHENTSIZE-GNU-NEXT:   0x0000000000000010 (SYMBOLIC)             0x1234567890abcdef
# PHENTSIZE-GNU-NEXT:   0x0000000000000011 (REL)                  0x1000
# PHENTSIZE-GNU-NEXT:   0x0000000000000012 (RELSZ)                16 (bytes)
# PHENTSIZE-GNU-NEXT:   0x0000000000000013 (RELENT)               291 (bytes)
# PHENTSIZE-GNU-NEXT:   0x0000000000000014 (PLTREL)               RELA
# PHENTSIZE-GNU-NEXT:   0x0000000000000015 (DEBUG)                0xfedcba0987654321
# PHENTSIZE-GNU-NEXT:   0x0000000000000016 (TEXTREL)              0x1122334455667788
# PHENTSIZE-GNU-NEXT:   0x0000000000000017 (JMPREL)               0x1000
# PHENTSIZE-GNU-NEXT:   0x0000000000000018 (BIND_NOW)             0x8877665544332211
# PHENTSIZE-GNU-NEXT:   0x0000000000000019 (INIT_ARRAY)           0x1000
# PHENTSIZE-GNU-NEXT:   0x000000000000001a (FINI_ARRAY)           0x1000
# PHENTSIZE-GNU-NEXT:   0x000000000000001b (INIT_ARRAYSZ)         16 (bytes)
# PHENTSIZE-GNU-NEXT:   0x000000000000001c (FINI_ARRAYSZ)         16 (bytes)
# PHENTSIZE-GNU-NEXT:   0x000000000000001d (RUNPATH)              Library runpath: [<?>]
# PHENTSIZE-GNU-NEXT:   0x000000000000001e (FLAGS)                ORIGIN SYMBOLIC TEXTREL BIND_NOW STATIC_TLS
# PHENTSIZE-GNU-NEXT:   0x0000000000000020 (PREINIT_ARRAY)        0x1000
# PHENTSIZE-GNU-NEXT:   0x0000000000000021 (PREINIT_ARRAYSZ)      16 (bytes)
# PHENTSIZE-GNU-NEXT:   0x0000000000000022 (SYMTAB_SHNDX)         0x1000
# PHENTSIZE-GNU-NEXT:   0x0000000000000023 (RELRSZ)               16 (bytes)
# PHENTSIZE-GNU-NEXT:   0x0000000000000024 (RELR)                 0x1000
# PHENTSIZE-GNU-NEXT:   0x0000000000000025 (RELRENT)              17185 (bytes)
# PHENTSIZE-GNU-NEXT:   0x000000006000000f (ANDROID_REL)          0x1000
# PHENTSIZE-GNU-NEXT:   0x0000000060000010 (ANDROID_RELSZ)        16 (bytes)
# PHENTSIZE-GNU-NEXT:   0x0000000060000011 (ANDROID_RELA)         0x1000
# PHENTSIZE-GNU-NEXT:   0x0000000060000012 (ANDROID_RELASZ)       16 (bytes)
# PHENTSIZE-GNU-NEXT:   0x000000006fffe000 (ANDROID_RELR)         0x1000
# PHENTSIZE-GNU-NEXT:   0x000000006fffe001 (ANDROID_RELRSZ)       0x10
# PHENTSIZE-GNU-NEXT:   0x000000006fffe003 (ANDROID_RELRENT)      0x1234
# PHENTSIZE-GNU-NEXT:   0x000000006ffffef5 (GNU_HASH)             0x1000
# PHENTSIZE-GNU-NEXT:   0x000000006ffffef6 (TLSDESC_PLT)          0x1000
# PHENTSIZE-GNU-NEXT:   0x000000006ffffef7 (TLSDESC_GOT)          0x1000
# PHENTSIZE-GNU-NEXT:   0x000000006ffffff9 (RELACOUNT)            0
# PHENTSIZE-GNU-NEXT:   0x000000006ffffffa (RELCOUNT)             0
# PHENTSIZE-GNU-NEXT:   0x000000006ffffffb (FLAGS_1)              NOW GLOBAL GROUP NODELETE LOADFLTR INITFIRST NOOPEN ORIGIN DIRECT TRANS INTERPOSE NODEFLIB NODUMP CONFALT ENDFILTEE DISPRELDNE DISPRELPND NODIRECT IGNMULDEF NOKSYMS NOHDR EDITED NORELOC SYMINTPOSE GLOBAUDIT SINGLETON PIE
# PHENTSIZE-GNU-NEXT:   0x000000006ffffff0 (VERSYM)               0x1000
# PHENTSIZE-GNU-NEXT:   0x000000006ffffffc (VERDEF)               0x1000
# PHENTSIZE-GNU-NEXT:   0x000000006ffffffd (VERDEFNUM)            0
# PHENTSIZE-GNU-NEXT:   0x000000006ffffffe (VERNEED)              0x1000
# PHENTSIZE-GNU-NEXT:   0x000000006fffffff (VERNEEDNUM)           0
# PHENTSIZE-GNU-NEXT:   0x000000007ffffffd (AUXILIARY)            Auxiliary library: [<?>]
# PHENTSIZE-GNU-NEXT:   0x000000007ffffffe (USED)                 Not needed object: [<?>]
# PHENTSIZE-GNU-NEXT:   0x000000007fffffff (FILTER)               Filter library: [<?>]
# PHENTSIZE-GNU-NEXT:   0x0000000012345678 (<unknown:>0x12345678) 0x8765432187654321
# PHENTSIZE-GNU-NEXT:   0x000000006abcdef0 (<unknown:>0x6abcdef0) 0x9988776655443322
# PHENTSIZE-GNU-NEXT:   0x0000000076543210 (<unknown:>0x76543210) 0x5555666677778888
# PHENTSIZE-GNU-NEXT:   0x0000000000000000 (NULL)                 0x0