brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 8e4840b Raw
38 lines · plain
1// REQUIRES: x862// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o3// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/dynamic-reloc-weak.s -o %t2.o4// RUN: ld.lld -shared %t2.o -o %t2.so5// RUN: ld.lld %t.o %t2.so -o %t6// RUN: llvm-readobj -r  %t | FileCheck %s7 8        .globl _start9_start:10        .type sym1,@function11        .weak sym112        .long sym1@gotpcrel13 14        .type sym2,@function15        .weak sym216        .long sym2@plt17 18        .type sym3,@function19        .weak sym320        .quad sym321 22        .type sym4,@function23        .weak sym424        .quad sym425 26// Test that we produce dynamic relocation for every weak undefined symbol27// we found.28 29// CHECK:      Relocations [30// CHECK-NEXT:   Section ({{.*}}) .rela.dyn {31// CHECK-NEXT:     0x{{.*}} R_X86_64_GLOB_DAT sym1 0x032// CHECK-NEXT:   }33// CHECK-NEXT:   Section ({{.*}}) .rela.plt {34// CHECK-NEXT:     0x{{.*}} R_X86_64_JUMP_SLOT sym2 0x035// CHECK-NEXT:     0x{{.*}} R_X86_64_JUMP_SLOT sym3 0x036// CHECK-NEXT:   }37// CHECK-NEXT: ]38