93 lines · plain
1// REQUIRES: x862// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t3// RUN: ld.lld %t -o %t.so -shared4// RUN: llvm-objdump -d --no-show-raw-insn %t.so | FileCheck --check-prefix=DISASM %s5// RUN: llvm-readobj --symbols -r %t.so | FileCheck -check-prefix=SYMBOL %s6 7// DISASM: <_start>:8// DISASM: 1330: callq 0x133f <__start_foo>9// DISASM: 1335: callq 0x1342 <__start_bar>10// DISASM: 133a: callq 0x1342 <__start_bar>11// DISASM: Disassembly of section foo:12// DISASM-EMPTY:13// DISASM: <__start_foo>:14// DISASM: 133f: nop15// DISASM: nop16// DISASM: nop17// DISASM: Disassembly of section bar:18// DISASM-EMPTY:19// DISASM: <__start_bar>:20// DISASM: 1342: nop21// DISASM: nop22// DISASM: nop23 24// SYMBOL: Relocations [25// SYMBOL-NEXT: Section ({{.*}}) .rela.dyn {26// SYMBOL-NEXT: R_X86_64_RELATIVE27// SYMBOL-NEXT: R_X86_64_RELATIVE28// SYMBOL-NEXT: R_X86_64_RELATIVE29// SYMBOL-NEXT: R_X86_64_RELATIVE30// SYMBOL-NEXT: }31// SYMBOL-NEXT: ]32 33// SYMBOL: Symbol {34// SYMBOL: Name: __start_foo35// SYMBOL: Value: 0x133F36// SYMBOL: STV_HIDDEN37// SYMBOL: Section: foo38// SYMBOL: }39// SYMBOL: Symbol {40// SYMBOL: Name: __stop_foo41// SYMBOL: Value: 0x134242// SYMBOL: STV_HIDDEN43// SYMBOL: Section: foo44// SYMBOL: }45// SYMBOL: Symbol {46// SYMBOL: Name: __start_bar47// SYMBOL: Value: 0x134248// SYMBOL: STV_HIDDEN49// SYMBOL: Section: bar50// SYMBOL: }51// SYMBOL-NOT: Section: __stop_bar52 53// SYMBOL: Symbol {54// SYMBOL: Name: __stop_zed255// SYMBOL: Value: 0x341856// SYMBOL: STV_PROTECTED57// SYMBOL: Section: zed258// SYMBOL: }59// SYMBOL: Symbol {60// SYMBOL: Name: __stop_zed161// SYMBOL: Value: 0x340862// SYMBOL: STV_PROTECTED63// SYMBOL: Section: zed164// SYMBOL: }65 66.hidden __start_foo67.hidden __stop_foo68.hidden __start_bar69.global _start70.text71_start:72 call __start_foo73 call __stop_foo74 call __start_bar75 76.section foo,"ax"77 nop78 nop79 nop80 81.section bar,"ax"82 nop83 nop84 nop85 86.section zed1, "aw"87 .quad __stop_zed288 .quad __stop_zed2 + 189 90.section zed2, "aw"91 .quad __stop_zed192 .quad __stop_zed1 + 193