forked from OSchip/llvm-project
81 lines
2.3 KiB
Plaintext
81 lines
2.3 KiB
Plaintext
# Checks functionality of dynamic executables
|
|
RUN: lld -flavor gnu -target x86_64-linux %p/Inputs/use-shared.x86-64 \
|
|
RUN: %p/Inputs/shared.so-x86-64 -o %t -e main --allow-shlib-undefined \
|
|
RUN: -rpath /l1:/l2 -rpath /l3
|
|
RUN: lld -flavor gnu -target x86_64-linux %p/Inputs/use-shared.x86-64 \
|
|
RUN: %p/Inputs/shared.so-x86-64 --output-filetype=yaml -o %t2 --allow-shlib-undefined \
|
|
RUN: --noinhibit-exec
|
|
RUN: llvm-objdump -p %t >> %t2
|
|
RUN: llvm-readobj -s -dyn-symbols -dynamic-table %t >> %t2
|
|
RUN: FileCheck %s < %t2
|
|
|
|
CHECK: name: main
|
|
CHECK: kind: R_X86_64_PC32
|
|
CHECK: offset: 18
|
|
CHECK: target: [[PLTNAME:[-a-zA-Z0-9_]+]]
|
|
|
|
CHECK: name: [[PLTNAME]]
|
|
CHECK: type: stub
|
|
|
|
CHECK: type: got
|
|
CHECK: references:
|
|
CHECK: kind: R_X86_64_JUMP_SLOT
|
|
|
|
CHECK: shared-library-atoms:
|
|
CHECK: name: foo
|
|
CHECK: load-name: shared.so-x86-64
|
|
|
|
CHECK: PHDR off 0x{{0+}}40
|
|
CHECK: INTERP
|
|
CHECK: flags r--
|
|
|
|
CHECK: Section {
|
|
CHECK: Name: .hash
|
|
CHECK-NEXT: Type: SHT_HASH
|
|
CHECK-NEXT: Flags [
|
|
CHECK-NEXT: SHF_ALLOC
|
|
CHECK-NEXT: ]
|
|
CHECK-NEXT: Address:
|
|
CHECK-NEXT: Offset:
|
|
CHECK-NEXT: Size: 32
|
|
CHECK-NEXT: Link:
|
|
CHECK-NEXT: Info:
|
|
CHECK-NEXT: AddressAlignment: 8
|
|
CHECK-NEXT: EntrySize:
|
|
CHECK-NEXT: }
|
|
|
|
CHECK: DynamicSymbols [
|
|
CHECK: Symbol {
|
|
CHECK: Name: foo
|
|
CHECK-NEXT: Value: 0
|
|
CHECK-NEXT: Size:
|
|
CHECK-NEXT: Binding: Global
|
|
CHECK-NEXT: Type: Function
|
|
CHECK: }
|
|
CHECK: Symbol {
|
|
CHECK: Name: i
|
|
CHECK-NEXT: Value: 0
|
|
CHECK-NEXT: Size:
|
|
CHECK-NEXT: Binding: Global
|
|
CHECK-NEXT: Type: Object
|
|
CHECK: }
|
|
|
|
CHECK: DynamicSection [ (15 entries)
|
|
CHECK: Tag Type Name/Value
|
|
CHECK: 0x0000000000000004 HASH
|
|
CHECK: 0x0000000000000005 STRTAB
|
|
CHECK: 0x0000000000000006 SYMTAB
|
|
CHECK: 0x000000000000000A STRSZ
|
|
CHECK: 0x000000000000000B SYMENT 24
|
|
CHECK: 0x0000000000000007 RELA
|
|
CHECK: 0x0000000000000008 RELASZ 24
|
|
CHECK: 0x0000000000000009 RELAENT 24
|
|
CHECK: 0x0000000000000002 PLTRELSZ 24
|
|
CHECK: 0x0000000000000003 PLTGOT
|
|
CHECK: 0x0000000000000014 PLTREL RELA
|
|
CHECK: 0x0000000000000017 JMPREL
|
|
CHECK: 0x0000000000000001 NEEDED SharedLibrary (shared.so-x86-64)
|
|
CHECK: 0x000000000000000F RPATH /l1:/l2:/l3
|
|
CHECK: 0x0000000000000000 NULL 0x0
|
|
CHECK: ]
|