brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 9f477f8 Raw
73 lines · plain
1// REQUIRES: x862// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o3// RUN: ld.lld -shared %t.o -o %t.so4// RUN: llvm-readobj --symbols -r --dyn-syms %t.so | FileCheck %s5 6// Test that we create R_X86_64_RELATIVE relocations but don't put any7// symbols in the dynamic symbol table.8 9// CHECK:      Relocations [10// CHECK-NEXT:   Section ({{.*}}) .rela.dyn {11// CHECK-NEXT:     0x[[FOO_ADDR:.*]] R_X86_64_RELATIVE - 0x[[FOO_ADDR]]12// CHECK-NEXT:     0x[[#%X,BAR_ADDR:]] R_X86_64_RELATIVE13// CHECK-SAME:       - 0x[[#BAR_ADDR]]14// CHECK-NEXT:     0x[[#BAR_ADDR +  8]] R_X86_64_RELATIVE - 0x[[#BAR_ADDR + 1]]15// CHECK-NEXT:     0x[[#BAR_ADDR + 16]] R_X86_64_RELATIVE - 0x[[ZED_ADDR:.*]]16// CHECK-NEXT:     0x[[#BAR_ADDR + 24]] R_X86_64_RELATIVE - 0x[[FOO_ADDR]]17// CHECK-NEXT:     0x[[#BAR_ADDR + 32]] R_X86_64_64 external 0x018// CHECK-NEXT:   }19// CHECK-NEXT: ]20 21// CHECK:      Symbols [22// CHECK:        Name: foo23// CHECK-NEXT:   Value: 0x[[FOO_ADDR]]24// CHECK:        Name: bar25// CHECK-NEXT:   Value: 0x[[#BAR_ADDR]]26// CHECK:        Name: zed27// CHECK-NEXT:   Value: 0x[[ZED_ADDR]]28// CHECK:      ]29 30// CHECK:      DynamicSymbols [31// CHECK-NEXT:   Symbol {32// CHECK-NEXT:     Name:33// CHECK-NEXT:     Value: 0x034// CHECK-NEXT:     Size: 035// CHECK-NEXT:     Binding: Local36// CHECK-NEXT:     Type: None37// CHECK-NEXT:     Other: 038// CHECK-NEXT:     Section: Undefined39// CHECK-NEXT:   }40// CHECK-NEXT:   Symbol {41// CHECK-NEXT:     Name: external42// CHECK-NEXT:     Value: 0x043// CHECK-NEXT:     Size: 044// CHECK-NEXT:     Binding: Global45// CHECK-NEXT:     Type: None46// CHECK-NEXT:     Other: 047// CHECK-NEXT:     Section: Undefined48// CHECK-NEXT:   }49// CHECK-NEXT: ]50 51        .data52foo:53        .quad foo54 55        .hidden bar56        .global bar57bar:58        .quad bar59        .quad bar + 160 61        .hidden zed62        .comm zed,163        .quad zed64 65        .section abc,"aw"66        .quad foo67 68        .quad external69 70// This doesn't need a relocation.71        callq localfunc@PLT72localfunc:73