summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/tools/llvm-elfabi/binary-read-add-soname.test20
-rw-r--r--llvm/test/tools/llvm-elfabi/binary-read-arch.test20
-rw-r--r--llvm/test/tools/llvm-elfabi/binary-read-bad-soname.test23
-rw-r--r--llvm/test/tools/llvm-elfabi/binary-read-bad-vaddr.test23
-rw-r--r--llvm/test/tools/llvm-elfabi/binary-read-neededlibs-bad-offset.test27
-rw-r--r--llvm/test/tools/llvm-elfabi/binary-read-neededlibs.test27
-rw-r--r--llvm/test/tools/llvm-elfabi/binary-read-no-dt-strsz.test14
-rw-r--r--llvm/test/tools/llvm-elfabi/binary-read-no-dt-strtab.test14
-rw-r--r--llvm/test/tools/llvm-elfabi/binary-read-replace-soname.test23
-rw-r--r--llvm/test/tools/llvm-elfabi/binary-read-soname-no-null.test23
-rw-r--r--llvm/test/tools/llvm-elfabi/binary-read-soname.test23
-rw-r--r--llvm/test/tools/llvm-objdump/private-headers-no-dynamic-segment.test61
-rw-r--r--llvm/test/tools/llvm-readobj/demangle.test39
-rw-r--r--llvm/test/tools/llvm-readobj/gnu-hash-symbols.test30
-rw-r--r--llvm/test/tools/obj2yaml/dynamic-section.test248
15 files changed, 493 insertions, 122 deletions
diff --git a/llvm/test/tools/llvm-elfabi/binary-read-add-soname.test b/llvm/test/tools/llvm-elfabi/binary-read-add-soname.test
index 49c37ef754d..744fa51d056 100644
--- a/llvm/test/tools/llvm-elfabi/binary-read-add-soname.test
+++ b/llvm/test/tools/llvm-elfabi/binary-read-add-soname.test
@@ -16,15 +16,19 @@ Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_ALLOC ]
- Address: 0x0008
- AddressAlign: 8
- Content: "0a000000000000000100000000000000050000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000"
- # DT_STRSZ 1 (0x1)
- # DT_STRTAB 0x0
- # DT_SYMTAB 0x0
- # DT_NULL 0x0
- Size: 64
+ Address: 0x0000000000000008
Link: .dynstr
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_STRSZ
+ Value: 0x0000000000000001
+ - Tag: DT_STRTAB
+ Value: 0x0000000000000000
+ - Tag: DT_SYMTAB
+ Value: 0x0000000000000000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_R ]
diff --git a/llvm/test/tools/llvm-elfabi/binary-read-arch.test b/llvm/test/tools/llvm-elfabi/binary-read-arch.test
index 23f99a3721f..918a0c667d9 100644
--- a/llvm/test/tools/llvm-elfabi/binary-read-arch.test
+++ b/llvm/test/tools/llvm-elfabi/binary-read-arch.test
@@ -16,15 +16,19 @@ Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_ALLOC ]
- Address: 0x0008
- AddressAlign: 8
- Content: "0a000000000000000100000000000000050000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000"
- # DT_STRSZ 1 (0x1)
- # DT_STRTAB 0x0
- # DT_SYMTAB 0x0
- # DT_NULL 0x0
- Size: 64
+ Address: 0x0000000000000008
Link: .dynstr
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_STRSZ
+ Value: 0x0000000000000001
+ - Tag: DT_STRTAB
+ Value: 0x0000000000000000
+ - Tag: DT_SYMTAB
+ Value: 0x0000000000000000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_R ]
diff --git a/llvm/test/tools/llvm-elfabi/binary-read-bad-soname.test b/llvm/test/tools/llvm-elfabi/binary-read-bad-soname.test
index e0e6ac27859..a92d61e607d 100644
--- a/llvm/test/tools/llvm-elfabi/binary-read-bad-soname.test
+++ b/llvm/test/tools/llvm-elfabi/binary-read-bad-soname.test
@@ -16,16 +16,21 @@ Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_ALLOC ]
- Address: 0x0008
- AddressAlign: 8
- Content: "0e000000000000000d000000000000000a000000000000000100000000000000050000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000"
- # DT_SONAME 13 (0x0d)
- # DT_STRSZ 1 (0x01)
- # DT_STRTAB 0x0
- # DT_SYMTAB 0x0
- # DT_NULL 0x0
- Size: 80
+ Address: 0x0000000000000008
Link: .dynstr
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_SONAME
+ Value: 0x000000000000000D
+ - Tag: DT_STRSZ
+ Value: 0x0000000000000001
+ - Tag: DT_STRTAB
+ Value: 0x0000000000000000
+ - Tag: DT_SYMTAB
+ Value: 0x0000000000000000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_R ]
diff --git a/llvm/test/tools/llvm-elfabi/binary-read-bad-vaddr.test b/llvm/test/tools/llvm-elfabi/binary-read-bad-vaddr.test
index 03d453c4dd1..b8918b980e8 100644
--- a/llvm/test/tools/llvm-elfabi/binary-read-bad-vaddr.test
+++ b/llvm/test/tools/llvm-elfabi/binary-read-bad-vaddr.test
@@ -16,16 +16,21 @@ Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_ALLOC ]
- Address: 0x1008
- AddressAlign: 8
- Content: "0e0000000000000000000000000000000a000000000000000100000000000000050000000000000060020000000000000600000000000000001000000000000000000000000000000000000000000000"
- # DT_SONAME 0
- # DT_STRSZ 1
- # DT_STRTAB 0x0260 # Bad vaddr (no PT_LOAD for 0x0000 to 0x0FFF)
- # DT_SYMTAB 0x1000
- # DT_NULL 0x0
- Size: 80
+ Address: 0x0000000000001008
Link: .dynstr
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_SONAME
+ Value: 0x0000000000000000
+ - Tag: DT_STRSZ
+ Value: 0x0000000000000001
+ - Tag: DT_STRTAB
+ Value: 0x0000000000000260 # Bad vaddr (no PT_LOAD for 0x0000 to 0x0FFF)
+ - Tag: DT_SYMTAB
+ Value: 0x0000000000001000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_R ]
diff --git a/llvm/test/tools/llvm-elfabi/binary-read-neededlibs-bad-offset.test b/llvm/test/tools/llvm-elfabi/binary-read-neededlibs-bad-offset.test
index e76aa5d8423..6b7ba8b2d19 100644
--- a/llvm/test/tools/llvm-elfabi/binary-read-neededlibs-bad-offset.test
+++ b/llvm/test/tools/llvm-elfabi/binary-read-neededlibs-bad-offset.test
@@ -17,17 +17,24 @@ Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_ALLOC ]
- Address: 0x1024
- Content: "010000000000000001000000000000000e0000000000000015000000000000000100000000000000ffff0000000000000a000000000000002400000000000000050000000000000000100000000000000600000000000000001000000000000000000000000000000000000000000000"
- # DT_NEEDED 1 (0x01)
- # DT_SONAME 21 (0x15)
+ Address: 0x0000000000001024
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_NEEDED
+ Value: 0x0000000000000001
+ - Tag: DT_SONAME
+ Value: 0x0000000000000015
# Bad DT_NEEDED entry (offset outside string table):
- # DT_NEEDED 65535 (0xffff)
- # DT_STRSZ 36 (0x24)
- # DT_STRTAB 0x1000
- # DT_SYMTAB 0x1000
- # DT_NULL 0x0
- Size: 112
+ - Tag: DT_NEEDED
+ Value: 0x000000000000FFFF
+ - Tag: DT_STRSZ
+ Value: 0x0000000000000024
+ - Tag: DT_STRTAB
+ Value: 0x0000000000001000
+ - Tag: DT_SYMTAB
+ Value: 0x0000000000001000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_R ]
diff --git a/llvm/test/tools/llvm-elfabi/binary-read-neededlibs.test b/llvm/test/tools/llvm-elfabi/binary-read-neededlibs.test
index 481499501c4..09567e00e35 100644
--- a/llvm/test/tools/llvm-elfabi/binary-read-neededlibs.test
+++ b/llvm/test/tools/llvm-elfabi/binary-read-neededlibs.test
@@ -17,16 +17,23 @@ Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_ALLOC ]
- Address: 0x1024
- Content: "010000000000000001000000000000000e00000000000000150000000000000001000000000000000b000000000000000a000000000000002400000000000000050000000000000000100000000000000600000000000000001000000000000000000000000000000000000000000000"
- # DT_NEEDED 1 (0x01)
- # DT_SONAME 21 (0x15)
- # DT_NEEDED 11 (0x0b)
- # DT_STRSZ 36 (0x24)
- # DT_STRTAB 0x1000
- # DT_SYMTAB 0x1000
- # DT_NULL 0x0
- Size: 112
+ Address: 0x0000000000001024
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_NEEDED
+ Value: 0x0000000000000001
+ - Tag: DT_SONAME
+ Value: 0x0000000000000015
+ - Tag: DT_NEEDED
+ Value: 0x000000000000000B
+ - Tag: DT_STRSZ
+ Value: 0x0000000000000024
+ - Tag: DT_STRTAB
+ Value: 0x0000000000001000
+ - Tag: DT_SYMTAB
+ Value: 0x0000000000001000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_R ]
diff --git a/llvm/test/tools/llvm-elfabi/binary-read-no-dt-strsz.test b/llvm/test/tools/llvm-elfabi/binary-read-no-dt-strsz.test
index 09e514ad412..99e06b2ca87 100644
--- a/llvm/test/tools/llvm-elfabi/binary-read-no-dt-strsz.test
+++ b/llvm/test/tools/llvm-elfabi/binary-read-no-dt-strsz.test
@@ -17,13 +17,15 @@ Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_ALLOC ]
- Address: 0x0008
- AddressAlign: 8
- Content: "0500000000000000000000000000000000000000000000000000000000000000"
- # DT_STRTAB 0x0
- # DT_NULL 0x0
- Size: 32
+ Address: 0x0000000000000008
Link: .dynstr
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_STRTAB
+ Value: 0x0000000000000000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_R ]
diff --git a/llvm/test/tools/llvm-elfabi/binary-read-no-dt-strtab.test b/llvm/test/tools/llvm-elfabi/binary-read-no-dt-strtab.test
index 25fcbdc2f84..79f4496cc9f 100644
--- a/llvm/test/tools/llvm-elfabi/binary-read-no-dt-strtab.test
+++ b/llvm/test/tools/llvm-elfabi/binary-read-no-dt-strtab.test
@@ -16,13 +16,15 @@ Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_ALLOC ]
- Address: 0x0008
- AddressAlign: 8
- Content: "0a00000000000000010000000000000000000000000000000000000000000000"
- # DT_STRSZ 1 (0x1)
- # DT_NULL 0x0
- Size: 32
+ Address: 0x0000000000000008
Link: .dynstr
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_STRSZ
+ Value: 0x0000000000000001
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_R ]
diff --git a/llvm/test/tools/llvm-elfabi/binary-read-replace-soname.test b/llvm/test/tools/llvm-elfabi/binary-read-replace-soname.test
index da3427d95ae..762dcbb9134 100644
--- a/llvm/test/tools/llvm-elfabi/binary-read-replace-soname.test
+++ b/llvm/test/tools/llvm-elfabi/binary-read-replace-soname.test
@@ -18,16 +18,21 @@ Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_ALLOC ]
- Address: 0x1018
- AddressAlign: 8
- Content: "0e0000000000000005000000000000000a000000000000001400000000000000050000000000000000100000000000000600000000000000001000000000000000000000000000000000000000000000"
- # DT_SONAME 5 (0x05)
- # DT_STRSZ 20 (0x14)
- # DT_STRTAB 0x1000
- # DT_SYMTAB 0x1000
- # DT_NULL 0x0
- Size: 80
+ Address: 0x0000000000001018
Link: .dynstr
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_SONAME
+ Value: 0x0000000000000005
+ - Tag: DT_STRSZ
+ Value: 0x0000000000000014
+ - Tag: DT_STRTAB
+ Value: 0x0000000000001000
+ - Tag: DT_SYMTAB
+ Value: 0x0000000000001000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_R ]
diff --git a/llvm/test/tools/llvm-elfabi/binary-read-soname-no-null.test b/llvm/test/tools/llvm-elfabi/binary-read-soname-no-null.test
index f474878348d..30aa6794298 100644
--- a/llvm/test/tools/llvm-elfabi/binary-read-soname-no-null.test
+++ b/llvm/test/tools/llvm-elfabi/binary-read-soname-no-null.test
@@ -17,16 +17,21 @@ Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_ALLOC ]
- Address: 0x1018
- AddressAlign: 8
- Content: "0e0000000000000005000000000000000a000000000000000f00000000000000050000000000000000100000000000000600000000000000001000000000000000000000000000000000000000000000"
- # DT_SONAME 5 (0x05)
- # DT_STRSZ 15 (0x0F)
- # DT_STRTAB 0x1000
- # DT_SYMTAB 0x1000
- # DT_NULL 0x0
- Size: 80
+ Address: 0x0000000000001018
Link: .dynstr
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_SONAME
+ Value: 0x0000000000000005
+ - Tag: DT_STRSZ
+ Value: 0x000000000000000F
+ - Tag: DT_STRTAB
+ Value: 0x0000000000001000
+ - Tag: DT_SYMTAB
+ Value: 0x0000000000001000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_R ]
diff --git a/llvm/test/tools/llvm-elfabi/binary-read-soname.test b/llvm/test/tools/llvm-elfabi/binary-read-soname.test
index 61e8fcf2855..ef35b893dc0 100644
--- a/llvm/test/tools/llvm-elfabi/binary-read-soname.test
+++ b/llvm/test/tools/llvm-elfabi/binary-read-soname.test
@@ -17,16 +17,21 @@ Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_ALLOC ]
- Address: 0x1018
- AddressAlign: 8
- Content: "0e0000000000000005000000000000000a000000000000001400000000000000050000000000000000100000000000000600000000000000001000000000000000000000000000000000000000000000"
- # DT_SONAME 5 (0x05)
- # DT_STRSZ 20 (0x14)
- # DT_STRTAB 0x1000
- # DT_SYMTAB 0x1000
- # DT_NULL 0x0
- Size: 80
+ Address: 0x0000000000001018
Link: .dynstr
+ AddressAlign: 0x0000000000000008
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_SONAME
+ Value: 0x0000000000000005
+ - Tag: DT_STRSZ
+ Value: 0x0000000000000014
+ - Tag: DT_STRTAB
+ Value: 0x0000000000001000
+ - Tag: DT_SYMTAB
+ Value: 0x0000000000001000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_R ]
diff --git a/llvm/test/tools/llvm-objdump/private-headers-no-dynamic-segment.test b/llvm/test/tools/llvm-objdump/private-headers-no-dynamic-segment.test
index 0aec1fedfec..c3f592532b7 100644
--- a/llvm/test/tools/llvm-objdump/private-headers-no-dynamic-segment.test
+++ b/llvm/test/tools/llvm-objdump/private-headers-no-dynamic-segment.test
@@ -10,8 +10,65 @@ FileHeader:
Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
- Flags: [ SHF_ALLOC, SHF_WRITE ]
- Content: 0c00000000000000a0060000000000000d0000000000000024090000000000001900000000000000a80d2000000000001b0000000000000010000000000000001a00000000000000b80d2000000000001c000000000000000800000000000000f5feff6f0000000098020000000000000500000000000000c8030000000000000600000000000000c0020000000000000a000000000000002f010000000000000b0000000000000018000000000000001500000000000000000000000000000003000000000000000010200000000000020000000000000048000000000000001400000000000000070000000000000017000000000000005806000000000000070000000000000050050000000000000800000000000000080100000000000009000000000000001800000000000000fbffff6f000000000000000800000000feffff6f000000001005000000000000ffffff6f000000000200000000000000f0ffff6f00000000f804000000000000f9ffff6f0000000004000000000000002300000000000000140000000000000024000000000000002143658700000000250000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000
+ Flags: [ SHF_WRITE, SHF_ALLOC ]
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_INIT
+ Value: 0x00000000000006A0
+ - Tag: DT_FINI
+ Value: 0x0000000000000924
+ - Tag: DT_INIT_ARRAY
+ Value: 0x0000000000200DA8
+ - Tag: DT_INIT_ARRAYSZ
+ Value: 0x0000000000000010
+ - Tag: DT_FINI_ARRAY
+ Value: 0x0000000000200DB8
+ - Tag: DT_FINI_ARRAYSZ
+ Value: 0x0000000000000008
+ - Tag: DT_GNU_HASH
+ Value: 0x0000000000000298
+ - Tag: DT_STRTAB
+ Value: 0x00000000000003C8
+ - Tag: DT_SYMTAB
+ Value: 0x00000000000002C0
+ - Tag: DT_STRSZ
+ Value: 0x000000000000012F
+ - Tag: DT_SYMENT
+ Value: 0x0000000000000018
+ - Tag: DT_DEBUG
+ Value: 0x0000000000000000
+ - Tag: DT_PLTGOT
+ Value: 0x0000000000201000
+ - Tag: DT_PLTRELSZ
+ Value: 0x0000000000000048
+ - Tag: DT_PLTREL
+ Value: 0x0000000000000007
+ - Tag: DT_JMPREL
+ Value: 0x0000000000000658
+ - Tag: DT_RELA
+ Value: 0x0000000000000550
+ - Tag: DT_RELASZ
+ Value: 0x0000000000000108
+ - Tag: DT_RELAENT
+ Value: 0x0000000000000018
+ - Tag: DT_FLAGS_1
+ Value: 0x0000000008000000
+ - Tag: DT_VERNEED
+ Value: 0x0000000000000510
+ - Tag: DT_VERNEEDNUM
+ Value: 0x0000000000000002
+ - Tag: DT_VERSYM
+ Value: 0x00000000000004F8
+ - Tag: DT_RELACOUNT
+ Value: 0x0000000000000004
+ - Tag: DT_RELRSZ
+ Value: 0x0000000000000014
+ - Tag: DT_RELR
+ Value: 0x0000000087654321
+ - Tag: DT_RELRENT
+ Value: 0x0000000000000010
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
# CHECK: INIT 0x00000000000006a0
# CHECK: FINI 0x0000000000000924
diff --git a/llvm/test/tools/llvm-readobj/demangle.test b/llvm/test/tools/llvm-readobj/demangle.test
index 615cf77f164..edac38e18f2 100644
--- a/llvm/test/tools/llvm-readobj/demangle.test
+++ b/llvm/test/tools/llvm-readobj/demangle.test
@@ -156,21 +156,30 @@ Sections:
Symbol: _Z3fooc
Type: R_X86_64_PC32
Addend: 0x4
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Flags: [ SHF_ALLOC ]
- Link: .dynstr
- Address: 0x1000
- AddressAlign: 0x1000
- ## DT_STRTAB - 0x0
- ## DT_STRSZ - 0x9
- ## DT_SYMTAB - 0x100
- ## DT_SYMENT - 0x18
- ## DT_RELA - 0x200
- ## DT_RELASZ - 0x18
- ## DT_RELAENT - 0x18
- ## DT_NULL - 0x0
- Content: "050000000000000000000000000000000a000000000000000900000000000000060000000000000000010000000000000b00000000000000180000000000000007000000000000000002000000000000080000000000000018000000000000000900000000000000180000000000000000000000000000000000000000000000"
+ - Name: .dynamic
+ Type: SHT_DYNAMIC
+ Flags: [ SHF_ALLOC ]
+ Address: 0x0000000000001000
+ Link: .dynstr
+ AddressAlign: 0x0000000000001000
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_STRTAB
+ Value: 0x0000000000000000
+ - Tag: DT_STRSZ
+ Value: 0x0000000000000009
+ - Tag: DT_SYMTAB
+ Value: 0x0000000000000100
+ - Tag: DT_SYMENT
+ Value: 0x0000000000000018
+ - Tag: DT_RELA
+ Value: 0x0000000000000200
+ - Tag: DT_RELASZ
+ Value: 0x0000000000000018
+ - Tag: DT_RELAENT
+ Value: 0x0000000000000018
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
- Name: .text.foo
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ]
diff --git a/llvm/test/tools/llvm-readobj/gnu-hash-symbols.test b/llvm/test/tools/llvm-readobj/gnu-hash-symbols.test
index 28ec34d4064..79e58a91619 100644
--- a/llvm/test/tools/llvm-readobj/gnu-hash-symbols.test
+++ b/llvm/test/tools/llvm-readobj/gnu-hash-symbols.test
@@ -71,18 +71,24 @@ Sections:
## st_name: 1; st_info: Global | Func; st_other: 0;
## st_shndx: .text.foo; st_value: 0x2000; st_size: 0
Content: "000000000000000000000000000000000000000000000000010000001200040000200000000000000000000000000000"
- - Name: .dynamic
- Type: SHT_DYNAMIC
- Flags: [ SHF_ALLOC ]
- Link: .dynstr
- Address: 0x1000
- AddressAlign: 0x1000
- ## DT_STRTAB - 0x0
- ## DT_STRSZ - 0x9
- ## DT_SYMTAB - 0x100
- ## DT_SYMENT - 0x18
- ## DT_NULL - 0x0
- Content: "050000000000000000000000000000000a000000000000000900000000000000060000000000000000010000000000000b00000000000000180000000000000000000000000000000000000000000000"
+ - Name: .dynamic
+ Type: SHT_DYNAMIC
+ Flags: [ SHF_ALLOC ]
+ Address: 0x0000000000001000
+ Link: .dynstr
+ AddressAlign: 0x0000000000001000
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_STRTAB
+ Value: 0x0000000000000000
+ - Tag: DT_STRSZ
+ Value: 0x0000000000000009
+ - Tag: DT_SYMTAB
+ Value: 0x0000000000000100
+ - Tag: DT_SYMENT
+ Value: 0x0000000000000018
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
- Name: .text.foo
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ]
diff --git a/llvm/test/tools/obj2yaml/dynamic-section.test b/llvm/test/tools/obj2yaml/dynamic-section.test
new file mode 100644
index 00000000000..d8fb7e9928c
--- /dev/null
+++ b/llvm/test/tools/obj2yaml/dynamic-section.test
@@ -0,0 +1,248 @@
+# RUN: yaml2obj %s -o %t
+# RUN: obj2yaml %t | FileCheck %s
+
+## Check we can use obj2yaml to yamalize the object containing
+## .dynamic section. Check that resulting section has the
+## proper attributes and dynamic tags.
+
+# CHECK: Sections:
+# CHECK-NEXT: - Name: .dynamic
+# CHECK-NEXT: Type: SHT_DYNAMIC
+# CHECK-NEXT: Address: 0x0000000000001000
+# CHECK-NEXT: AddressAlign: 0x0000000000002000
+# CHECK-NEXT: EntSize: 0x0000000000000010
+# CHECK-NEXT: Entries:
+# CHECK-NEXT: - Tag: DT_NULL
+# CHECK-NEXT: Value: 0x0000000000000000
+# CHECK-NEXT: - Tag: DT_NEEDED
+# CHECK-NEXT: Value: 0x0000000000000001
+# CHECK-NEXT: - Tag: DT_PLTRELSZ
+# CHECK-NEXT: Value: 0x0000000000000002
+# CHECK-NEXT: - Tag: DT_PLTGOT
+# CHECK-NEXT: Value: 0x0000000000000003
+# CHECK-NEXT: - Tag: DT_HASH
+# CHECK-NEXT: Value: 0x0000000000000004
+# CHECK-NEXT: - Tag: DT_STRTAB
+# CHECK-NEXT: Value: 0x0000000000000005
+# CHECK-NEXT: - Tag: DT_SYMTAB
+# CHECK-NEXT: Value: 0x0000000000000006
+# CHECK-NEXT: - Tag: DT_RELA
+# CHECK-NEXT: Value: 0x0000000000000007
+# CHECK-NEXT: - Tag: DT_RELASZ
+# CHECK-NEXT: Value: 0x0000000000000008
+# CHECK-NEXT: - Tag: DT_RELAENT
+# CHECK-NEXT: Value: 0x0000000000000009
+# CHECK-NEXT: - Tag: DT_STRSZ
+# CHECK-NEXT: Value: 0x000000000000000A
+# CHECK-NEXT: - Tag: DT_SYMENT
+# CHECK-NEXT: Value: 0x000000000000000B
+# CHECK-NEXT: - Tag: DT_INIT
+# CHECK-NEXT: Value: 0x000000000000000C
+# CHECK-NEXT: - Tag: DT_FINI
+# CHECK-NEXT: Value: 0x000000000000000D
+# CHECK-NEXT: - Tag: DT_SONAME
+# CHECK-NEXT: Value: 0x000000000000000E
+# CHECK-NEXT: - Tag: DT_RPATH
+# CHECK-NEXT: Value: 0x000000000000000F
+# CHECK-NEXT: - Tag: DT_SYMBOLIC
+# CHECK-NEXT: Value: 0x0000000000000010
+# CHECK-NEXT: - Tag: DT_REL
+# CHECK-NEXT: Value: 0x0000000000000011
+# CHECK-NEXT: - Tag: DT_RELSZ
+# CHECK-NEXT: Value: 0x0000000000000012
+# CHECK-NEXT: - Tag: DT_RELENT
+# CHECK-NEXT: Value: 0x0000000000000013
+# CHECK-NEXT: - Tag: DT_PLTREL
+# CHECK-NEXT: Value: 0x0000000000000014
+# CHECK-NEXT: - Tag: DT_DEBUG
+# CHECK-NEXT: Value: 0x0000000000000015
+# CHECK-NEXT: - Tag: DT_TEXTREL
+# CHECK-NEXT: Value: 0x0000000000000016
+# CHECK-NEXT: - Tag: DT_JMPREL
+# CHECK-NEXT: Value: 0x0000000000000017
+# CHECK-NEXT: - Tag: DT_BIND_NOW
+# CHECK-NEXT: Value: 0x0000000000000018
+# CHECK-NEXT: - Tag: DT_INIT_ARRAY
+# CHECK-NEXT: Value: 0x0000000000000019
+# CHECK-NEXT: - Tag: DT_FINI_ARRAY
+# CHECK-NEXT: Value: 0x000000000000001A
+# CHECK-NEXT: - Tag: DT_INIT_ARRAYSZ
+# CHECK-NEXT: Value: 0x000000000000001B
+# CHECK-NEXT: - Tag: DT_FINI_ARRAYSZ
+# CHECK-NEXT: Value: 0x000000000000001C
+# CHECK-NEXT: - Tag: DT_RUNPATH
+# CHECK-NEXT: Value: 0x000000000000001D
+# CHECK-NEXT: - Tag: DT_FLAGS
+# CHECK-NEXT: Value: 0x000000000000001E
+# CHECK-NEXT: - Tag: DT_PREINIT_ARRAY
+# CHECK-NEXT: Value: 0x000000000000001F
+# CHECK-NEXT: - Tag: DT_PREINIT_ARRAYSZ
+# CHECK-NEXT: Value: 0x0000000000000020
+# CHECK-NEXT: - Tag: DT_SYMTAB_SHNDX
+# CHECK-NEXT: Value: 0x0000000000000021
+# CHECK-NEXT: - Tag: DT_RELRSZ
+# CHECK-NEXT: Value: 0x0000000000000022
+# CHECK-NEXT: - Tag: DT_RELR
+# CHECK-NEXT: Value: 0x0000000000000023
+# CHECK-NEXT: - Tag: DT_RELRENT
+# CHECK-NEXT: Value: 0x0000000000000024
+# CHECK-NEXT: - Tag: DT_ANDROID_REL
+# CHECK-NEXT: Value: 0x0000000000000025
+# CHECK-NEXT: - Tag: DT_ANDROID_RELSZ
+# CHECK-NEXT: Value: 0x0000000000000026
+# CHECK-NEXT: - Tag: DT_ANDROID_RELA
+# CHECK-NEXT: Value: 0x0000000000000027
+# CHECK-NEXT: - Tag: DT_ANDROID_RELASZ
+# CHECK-NEXT: Value: 0x0000000000000028
+# CHECK-NEXT: - Tag: DT_ANDROID_RELR
+# CHECK-NEXT: Value: 0x0000000000000029
+# CHECK-NEXT: - Tag: DT_ANDROID_RELRSZ
+# CHECK-NEXT: Value: 0x000000000000002A
+# CHECK-NEXT: - Tag: DT_ANDROID_RELRENT
+# CHECK-NEXT: Value: 0x000000000000002B
+# CHECK-NEXT: - Tag: DT_GNU_HASH
+# CHECK-NEXT: Value: 0x000000000000002C
+# CHECK-NEXT: - Tag: DT_TLSDESC_PLT
+# CHECK-NEXT: Value: 0x000000000000002D
+# CHECK-NEXT: - Tag: DT_TLSDESC_GOT
+# CHECK-NEXT: Value: 0x000000000000002E
+# CHECK-NEXT: - Tag: DT_RELACOUNT
+# CHECK-NEXT: Value: 0x000000000000002F
+# CHECK-NEXT: - Tag: DT_RELCOUNT
+# CHECK-NEXT: Value: 0x0000000000000030
+# CHECK-NEXT: - Tag: DT_FLAGS_1
+# CHECK-NEXT: Value: 0x0000000000000031
+# CHECK-NEXT: - Tag: DT_VERSYM
+# CHECK-NEXT: Value: 0x0000000000000032
+# CHECK-NEXT: - Tag: DT_VERDEF
+# CHECK-NEXT: Value: 0x0000000000000033
+# CHECK-NEXT: - Tag: DT_VERDEFNUM
+# CHECK-NEXT: Value: 0x0000000000000034
+# CHECK-NEXT: - Tag: DT_VERNEED
+# CHECK-NEXT: Value: 0x0000000000000035
+# CHECK-NEXT: - Tag: DT_VERNEEDNUM
+# CHECK-NEXT: Value: 0x0000000000000036
+
+!ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_DYN
+ Machine: EM_X86_64
+Sections:
+ - Name: .dynamic
+ Type: SHT_DYNAMIC
+ Address: 0x0000000000001000
+ AddressAlign: 0x0000000000002000
+ EntSize: 0x0000000000000010
+ Entries:
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
+ - Tag: DT_NEEDED
+ Value: 0x0000000000000001
+ - Tag: DT_PLTRELSZ
+ Value: 0x0000000000000002
+ - Tag: DT_PLTGOT
+ Value: 0x0000000000000003
+ - Tag: DT_HASH
+ Value: 0x0000000000000004
+ - Tag: DT_STRTAB
+ Value: 0x0000000000000005
+ - Tag: DT_SYMTAB
+ Value: 0x0000000000000006
+ - Tag: DT_RELA
+ Value: 0x0000000000000007
+ - Tag: DT_RELASZ
+ Value: 0x0000000000000008
+ - Tag: DT_RELAENT
+ Value: 0x0000000000000009
+ - Tag: DT_STRSZ
+ Value: 0x000000000000000A
+ - Tag: DT_SYMENT
+ Value: 0x000000000000000B
+ - Tag: DT_INIT
+ Value: 0x000000000000000C
+ - Tag: DT_FINI
+ Value: 0x000000000000000D
+ - Tag: DT_SONAME
+ Value: 0x000000000000000E
+ - Tag: DT_RPATH
+ Value: 0x000000000000000F
+ - Tag: DT_SYMBOLIC
+ Value: 0x0000000000000010
+ - Tag: DT_REL
+ Value: 0x0000000000000011
+ - Tag: DT_RELSZ
+ Value: 0x0000000000000012
+ - Tag: DT_RELENT
+ Value: 0x0000000000000013
+ - Tag: DT_PLTREL
+ Value: 0x0000000000000014
+ - Tag: DT_DEBUG
+ Value: 0x0000000000000015
+ - Tag: DT_TEXTREL
+ Value: 0x0000000000000016
+ - Tag: DT_JMPREL
+ Value: 0x0000000000000017
+ - Tag: DT_BIND_NOW
+ Value: 0x0000000000000018
+ - Tag: DT_INIT_ARRAY
+ Value: 0x0000000000000019
+ - Tag: DT_FINI_ARRAY
+ Value: 0x000000000000001A
+ - Tag: DT_INIT_ARRAYSZ
+ Value: 0x000000000000001B
+ - Tag: DT_FINI_ARRAYSZ
+ Value: 0x000000000000001C
+ - Tag: DT_RUNPATH
+ Value: 0x000000000000001D
+ - Tag: DT_FLAGS
+ Value: 0x000000000000001E
+ - Tag: DT_PREINIT_ARRAY
+ Value: 0x000000000000001F
+ - Tag: DT_PREINIT_ARRAYSZ
+ Value: 0x0000000000000020
+ - Tag: DT_SYMTAB_SHNDX
+ Value: 0x0000000000000021
+ - Tag: DT_RELRSZ
+ Value: 0x0000000000000022
+ - Tag: DT_RELR
+ Value: 0x0000000000000023
+ - Tag: DT_RELRENT
+ Value: 0x0000000000000024
+ - Tag: DT_ANDROID_REL
+ Value: 0x0000000000000025
+ - Tag: DT_ANDROID_RELSZ
+ Value: 0x0000000000000026
+ - Tag: DT_ANDROID_RELA
+ Value: 0x0000000000000027
+ - Tag: DT_ANDROID_RELASZ
+ Value: 0x0000000000000028
+ - Tag: DT_ANDROID_RELR
+ Value: 0x0000000000000029
+ - Tag: DT_ANDROID_RELRSZ
+ Value: 0x000000000000002A
+ - Tag: DT_ANDROID_RELRENT
+ Value: 0x000000000000002B
+ - Tag: DT_GNU_HASH
+ Value: 0x000000000000002C
+ - Tag: DT_TLSDESC_PLT
+ Value: 0x000000000000002D
+ - Tag: DT_TLSDESC_GOT
+ Value: 0x000000000000002E
+ - Tag: DT_RELACOUNT
+ Value: 0x000000000000002F
+ - Tag: DT_RELCOUNT
+ Value: 0x0000000000000030
+ - Tag: DT_FLAGS_1
+ Value: 0x0000000000000031
+ - Tag: DT_VERSYM
+ Value: 0x0000000000000032
+ - Tag: DT_VERDEF
+ Value: 0x0000000000000033
+ - Tag: DT_VERDEFNUM
+ Value: 0x0000000000000034
+ - Tag: DT_VERNEED
+ Value: 0x0000000000000035
+ - Tag: DT_VERNEEDNUM
+ Value: 0x0000000000000036
OpenPOWER on IntegriCloud