blob: 71b6b06cbc0895377f2aebc11e7a444645a560bd [file] [log] [blame]
// Check dynamic section tags in case of shared library file.
RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-so.mips \
RUN: | FileCheck %s -check-prefix ELF-MIPS
ELF-MIPS: Format: ELF32-mips
ELF-MIPS: Arch: mipsel
ELF-MIPS: AddressSize: 32bit
ELF-MIPS: LoadName:
ELF-MIPS: DynamicSection [ (23 entries)
ELF-MIPS: Tag Type Name/Value
ELF-MIPS: 0x00000001 NEEDED Shared library: [libc.so.6]
ELF-MIPS: 0x0000000C INIT 0x528
ELF-MIPS: 0x0000000D FINI 0x860
ELF-MIPS: 0x00000004 HASH 0x210
ELF-MIPS: 0x00000005 STRTAB 0x3D8
ELF-MIPS: 0x00000006 SYMTAB 0x2A8
ELF-MIPS: 0x0000000A STRSZ 231 (bytes)
ELF-MIPS: 0x0000000B SYMENT 16 (bytes)
ELF-MIPS: 0x00000003 PLTGOT 0x108E0
ELF-MIPS: 0x00000011 REL 0x518
ELF-MIPS: 0x00000012 RELSZ 16 (bytes)
ELF-MIPS: 0x00000013 RELENT 8 (bytes)
ELF-MIPS: 0x70000001 MIPS_RLD_VERSION 1
ELF-MIPS: 0x70000005 MIPS_FLAGS NOTPOT
ELF-MIPS: 0x70000006 MIPS_BASE_ADDRESS 0x0
ELF-MIPS: 0x7000000A MIPS_LOCAL_GOTNO 10
ELF-MIPS: 0x70000011 MIPS_SYMTABNO 19
ELF-MIPS: 0x70000012 MIPS_UNREFEXTNO 26
ELF-MIPS: 0x70000013 MIPS_GOTSYM 0xD
ELF-MIPS: 0x6FFFFFFE VERNEED 0x4E8
ELF-MIPS: 0x6FFFFFFF VERNEEDNUM 1
ELF-MIPS: 0x6FFFFFF0 VERSYM 0x4C0
ELF-MIPS: 0x00000000 NULL 0x0
ELF-MIPS: ]
// Check dynamic section tags in case of non-pic executable file.
RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-exe.mips \
RUN: | FileCheck %s -check-prefix ELF-MIPS-EXE
ELF-MIPS-EXE: Format: ELF32-mips
ELF-MIPS-EXE: Arch: mipsel
ELF-MIPS-EXE: AddressSize: 32bit
ELF-MIPS-EXE: LoadName:
ELF-MIPS-EXE: DynamicSection [ (26 entries)
ELF-MIPS-EXE: Tag Type Name/Value
ELF-MIPS-EXE: 0x00000001 NEEDED Shared library: [libc.so.6]
ELF-MIPS-EXE: 0x0000000C INIT 0x400418
ELF-MIPS-EXE: 0x0000000D FINI 0x4007B0
ELF-MIPS-EXE: 0x00000004 HASH 0x4002B8
ELF-MIPS-EXE: 0x00000005 STRTAB 0x40036C
ELF-MIPS-EXE: 0x00000006 SYMTAB 0x4002EC
ELF-MIPS-EXE: 0x0000000A STRSZ 107 (bytes)
ELF-MIPS-EXE: 0x0000000B SYMENT 16 (bytes)
ELF-MIPS-EXE: 0x70000016 MIPS_RLD_MAP 0x410880
ELF-MIPS-EXE: 0x00000015 DEBUG 0x0
ELF-MIPS-EXE: 0x00000003 PLTGOT 0x410890
ELF-MIPS-EXE: 0x70000001 MIPS_RLD_VERSION 1
ELF-MIPS-EXE: 0x70000005 MIPS_FLAGS NOTPOT
ELF-MIPS-EXE: 0x70000006 MIPS_BASE_ADDRESS 0x400000
ELF-MIPS-EXE: 0x7000000A MIPS_LOCAL_GOTNO 5
ELF-MIPS-EXE: 0x70000011 MIPS_SYMTABNO 8
ELF-MIPS-EXE: 0x70000012 MIPS_UNREFEXTNO 32
ELF-MIPS-EXE: 0x70000013 MIPS_GOTSYM 0x7
ELF-MIPS-EXE: 0x00000014 PLTREL REL
ELF-MIPS-EXE: 0x00000017 JMPREL 0x400408
ELF-MIPS-EXE: 0x00000002 PLTRELSZ 16 (bytes)
ELF-MIPS-EXE: 0x70000032 MIPS_PLTGOT 0x410854
ELF-MIPS-EXE: 0x6FFFFFFE VERNEED 0x4003E8
ELF-MIPS-EXE: 0x6FFFFFFF VERNEEDNUM 1
ELF-MIPS-EXE: 0x6FFFFFF0 VERSYM 0x4003D8
ELF-MIPS-EXE: 0x00000000 NULL 0x0
ELF-MIPS-EXE: ]
RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-exe.x86 \
RUN: | FileCheck %s -check-prefix ELF-X86-EXE
ELF-X86-EXE: Format: ELF32-i386
ELF-X86-EXE: Arch: i386
ELF-X86-EXE: AddressSize: 32bit
ELF-X86-EXE: LoadName:
ELF-X86-EXE: DynamicSection [ (30 entries)
ELF-X86-EXE: Tag Type Name/Value
ELF-X86-EXE: 0x00000001 NEEDED Shared library: [libstdc++.so.6]
ELF-X86-EXE: 0x00000001 NEEDED Shared library: [libgcc_s.so.1]
ELF-X86-EXE: 0x00000001 NEEDED Shared library: [libc.so.6]
ELF-X86-EXE: 0x0000000C INIT 0x62C
ELF-X86-EXE: 0x0000000D FINI 0x920
ELF-X86-EXE: 0x00000019 INIT_ARRAY 0x19FC
ELF-X86-EXE: 0x0000001B INIT_ARRAYSZ 4 (bytes)
ELF-X86-EXE: 0x0000001A FINI_ARRAY 0x1A00
ELF-X86-EXE: 0x0000001C FINI_ARRAYSZ 4 (bytes)
ELF-X86-EXE: 0x00000004 HASH 0x18C
ELF-X86-EXE: 0x6FFFFEF5 GNU_HASH 0x1E4
ELF-X86-EXE: 0x00000005 STRTAB 0x328
ELF-X86-EXE: 0x00000006 SYMTAB 0x218
ELF-X86-EXE: 0x0000000A STRSZ 408 (bytes)
ELF-X86-EXE: 0x0000000B SYMENT 16 (bytes)
ELF-X86-EXE: 0x00000015 DEBUG 0x0
ELF-X86-EXE: 0x00000003 PLTGOT 0x1B30
ELF-X86-EXE: 0x00000002 PLTRELSZ 64 (bytes)
ELF-X86-EXE: 0x00000014 PLTREL REL
ELF-X86-EXE: 0x00000017 JMPREL 0x5EC
ELF-X86-EXE: 0x00000011 REL 0x564
ELF-X86-EXE: 0x00000012 RELSZ 136 (bytes)
ELF-X86-EXE: 0x00000013 RELENT 8 (bytes)
ELF-X86-EXE: 0x00000016 TEXTREL
ELF-X86-EXE: 0x0000001E FLAGS TEXTREL
ELF-X86-EXE: 0x6FFFFFFE VERNEED 0x4E4
ELF-X86-EXE: 0x6FFFFFFF VERNEEDNUM 3
ELF-X86-EXE: 0x6FFFFFF0 VERSYM 0x4C0
ELF-X86-EXE: 0x6FFFFFFA RELCOUNT 6
ELF-X86-EXE: 0x00000000 NULL 0x0
ELF-X86-EXE: ]
RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-so.x86 \
RUN: | FileCheck %s -check-prefix ELF-X86-SO
ELF-X86-SO: Format: ELF64-x86-64
ELF-X86-SO: Arch: x86_64
ELF-X86-SO: AddressSize: 64bit
ELF-X86-SO: LoadName:
ELF-X86-SO: DynamicSection [ ({{[0-9]+}} entries)
ELF-X86-SO: Tag Type Name/Value
ELF-X86-SO: 0x0000000000000001 NEEDED Shared library: [libc.so.6]
ELF-X86-SO: 0x0000000000000001 NEEDED Shared library: [ld-linux-x86-64.so.2]
ELF-X86-SO: 0x000000007FFFFFFF FILTER Filter library: [filter.so]
ELF-X86-SO: 0x000000007FFFFFFD AUXILIARY Auxiliary library: [aux.so]
ELF-X86-SO: 0x000000000000000C INIT 0x{{[0-9A-F]+}}
ELF-X86-SO: 0x000000000000000D FINI 0x{{[0-9A-F]+}}
ELF-X86-SO: 0x0000000000000019 INIT_ARRAY 0x{{[0-9A-F]+}}
ELF-X86-SO: 0x000000000000001B INIT_ARRAYSZ 8 (bytes)
ELF-X86-SO: 0x000000000000001A FINI_ARRAY 0x{{[0-9A-F]+}}
ELF-X86-SO: 0x000000000000001C FINI_ARRAYSZ 8 (bytes)
ELF-X86-SO: 0x000000006FFFFEF5 GNU_HASH 0x1C8
ELF-X86-SO: 0x0000000000000005 STRTAB 0x3A0
ELF-X86-SO: 0x0000000000000006 SYMTAB 0x208
ELF-X86-SO: 0x000000000000000A STRSZ {{[0-9]+}} (bytes)
ELF-X86-SO: 0x000000000000000B SYMENT 24 (bytes)
ELF-X86-SO: 0x0000000000000003 PLTGOT 0x201000
ELF-X86-SO: 0x0000000000000002 PLTRELSZ 48 (bytes)
ELF-X86-SO: 0x0000000000000014 PLTREL RELA
ELF-X86-SO: 0x0000000000000017 JMPREL 0x{{[0-9A-F]+}}
ELF-X86-SO: 0x0000000000000007 RELA 0x{{[0-9A-F]+}}
ELF-X86-SO: 0x0000000000000008 RELASZ 240 (bytes)
ELF-X86-SO: 0x0000000000000009 RELAENT 24 (bytes)
ELF-X86-SO: 0x000000006FFFFFFE VERNEED 0x{{[0-9A-F]+}}
ELF-X86-SO: 0x000000006FFFFFFF VERNEEDNUM 2
ELF-X86-SO: 0x000000006FFFFFF0 VERSYM 0x{{[0-9A-F]+}}
ELF-X86-SO: 0x000000006FFFFFF9 RELACOUNT 3
ELF-X86-SO: 0x0000000000000000 NULL 0x0
RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-so.aarch64 \
RUN: | FileCheck %s -check-prefix ELF-AARCH64-SO
ELF-AARCH64-SO: Format: ELF64-aarch64-little
ELF-AARCH64-SO: Arch: aarch64
ELF-AARCH64-SO: AddressSize: 64bit
ELF-AARCH64-SO: LoadName:
ELF-AARCH64-SO: DynamicSection [ (26 entries)
ELF-AARCH64-SO: Tag Type Name/Value
ELF-AARCH64-SO: 0x0000000000000001 NEEDED Shared library: [libc.so.6]
ELF-AARCH64-SO: 0x000000000000000C INIT 0x660
ELF-AARCH64-SO: 0x000000000000000D FINI 0x83C
ELF-AARCH64-SO: 0x0000000000000019 INIT_ARRAY 0x10DB8
ELF-AARCH64-SO: 0x000000000000001B INIT_ARRAYSZ 8 (bytes)
ELF-AARCH64-SO: 0x000000000000001A FINI_ARRAY 0x10DC0
ELF-AARCH64-SO: 0x000000000000001C FINI_ARRAYSZ 8 (bytes)
ELF-AARCH64-SO: 0x000000006FFFFEF5 GNU_HASH 0x1F0
ELF-AARCH64-SO: 0x0000000000000005 STRTAB 0x420
ELF-AARCH64-SO: 0x0000000000000006 SYMTAB 0x240
ELF-AARCH64-SO: 0x000000000000000A STRSZ 210 (bytes)
ELF-AARCH64-SO: 0x000000000000000B SYMENT 24 (bytes)
ELF-AARCH64-SO: 0x0000000000000003 PLTGOT 0x10FE8
ELF-AARCH64-SO: 0x0000000000000002 PLTRELSZ 96 (bytes)
ELF-AARCH64-SO: 0x0000000000000014 PLTREL RELA
ELF-AARCH64-SO: 0x0000000000000017 JMPREL 0x600
ELF-AARCH64-SO: 0x000000006FFFFEF6 TLSDESC_PLT 0x6D0
ELF-AARCH64-SO: 0x000000006FFFFEF7 TLSDESC_GOT 0x10FE0
ELF-AARCH64-SO: 0x0000000000000007 RELA 0x540
ELF-AARCH64-SO: 0x0000000000000008 RELASZ 192 (bytes)
ELF-AARCH64-SO: 0x0000000000000009 RELAENT 24 (bytes)
ELF-AARCH64-SO: 0x000000006FFFFFFE VERNEED 0x520
ELF-AARCH64-SO: 0x000000006FFFFFFF VERNEEDNUM 1
ELF-AARCH64-SO: 0x000000006FFFFFF0 VERSYM 0x4F2
ELF-AARCH64-SO: 0x000000006FFFFFF9 RELACOUNT 3
ELF-AARCH64-SO: 0x0000000000000000 NULL 0x0
ELF-AARCH64-SO: ]