summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-readobj/ELF/loadname.test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools/llvm-readobj/ELF/loadname.test')
-rw-r--r--llvm/test/tools/llvm-readobj/ELF/loadname.test50
1 files changed, 50 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-readobj/ELF/loadname.test b/llvm/test/tools/llvm-readobj/ELF/loadname.test
new file mode 100644
index 00000000000..d12076fd46c
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/ELF/loadname.test
@@ -0,0 +1,50 @@
+## Check we are able to dump library soname properly.
+
+# RUN: yaml2obj %s -o %t.o
+# RUN: llvm-readobj %t.o | FileCheck %s --check-prefix LLVM
+# RUN: llvm-readelf --dynamic-table %t.o | FileCheck %s --check-prefix GNU
+
+# LLVM: Format: ELF64-x86-64
+# LLVM-NEXT: Arch: x86_64
+# LLVM-NEXT: AddressSize: 64bit
+# LLVM-NEXT: LoadName: test.so
+
+# GNU: Dynamic section at offset 0x80 contains 4 entries:
+# GNU-NEXT: Tag Type Name/Value
+# GNU-NEXT: 0x0000000000000005 (STRTAB) 0x0
+# GNU-NEXT: 0x000000000000000a (STRSZ) 7 (bytes)
+# GNU-NEXT: 0x000000000000000e (SONAME) Library soname: [test.so]
+# GNU-NEXT: 0x0000000000000000 (NULL) 0x0
+
+!ELF
+FileHeader:
+ Class: ELFCLASS64
+ Data: ELFDATA2LSB
+ Type: ET_EXEC
+ Machine: EM_X86_64
+Sections:
+ - Name: .dynstr
+ Type: SHT_STRTAB
+ Flags: [ SHF_ALLOC ]
+ Content: '746573742e736f00' ## "test.so"
+ - Name: .dynamic
+ Type: SHT_DYNAMIC
+ Flags: [ SHF_ALLOC ]
+ Link: .dynstr
+ Entries:
+ - Tag: DT_STRTAB
+ Value: 0x0000000000000000
+ - Tag: DT_STRSZ
+ Value: 0x0000000000000007
+ - Tag: DT_SONAME
+ Value: 0x0000000000000000
+ - Tag: DT_NULL
+ Value: 0x0000000000000000
+ProgramHeaders:
+ - Type: PT_LOAD
+ Flags: [ PF_R ]
+ VAddr: 0x0000
+ PAddr: 0x0000
+ Sections:
+ - Section: .dynstr
+ - Section: .dynamic
OpenPOWER on IntegriCloud