brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · ff1e7a5 Raw
60 lines · plain
1// REQUIRES: x862// RUN: echo ".data; \3// RUN:       .quad \"basename\"; \4// RUN:       .quad \"basename@FBSD_1.0\"; \5// RUN:       .quad \"basename@FBSD_1.1\" " > %t.s6// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %t.s -o %t.o7// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t2.o8// RUN: echo "FBSD_1.0 { global: basename; local: *; }; FBSD_1.1 { basename; };" > %t2.ver9// RUN: ld.lld --shared --version-script %t2.ver %t2.o -o %t2.so10// RUN: echo "FBSD_1.0 { }; FBSD_1.1 { }; LIBPKG_1.3 { };" > %t.ver11// RUN: ld.lld --shared %t.o --version-script %t.ver %t2.so -o %t.so12// RUN: llvm-readobj --dyn-symbols -r %t.so | FileCheck %s13 14// Test that each relocation points to the correct version.15 16// CHECK:      Section ({{.*}}) .rela.dyn {17// CHECK-NEXT:   R_X86_64_64 basename@FBSD_1.1 0x018// CHECK-NEXT:   R_X86_64_64 basename@FBSD_1.0 0x019// CHECK-NEXT:   R_X86_64_64 basename@FBSD_1.1 0x020// CHECK-NEXT: }21 22 23// CHECK:      DynamicSymbols [24// CHECK-NEXT:   Symbol {25// CHECK-NEXT:     Name:26// CHECK-NEXT:     Value:27// CHECK-NEXT:     Size:28// CHECK-NEXT:     Binding:29// CHECK-NEXT:     Type:30// CHECK-NEXT:     Other:31// CHECK-NEXT:     Section:32// CHECK-NEXT:   }33// CHECK-NEXT:   Symbol {34// CHECK-NEXT:     Name: basename@FBSD_1.135// CHECK-NEXT:     Value:36// CHECK-NEXT:     Size:37// CHECK-NEXT:     Binding:38// CHECK-NEXT:     Type:39// CHECK-NEXT:     Other:40// CHECK-NEXT:     Section:41// CHECK-NEXT:   }42// CHECK-NEXT:   Symbol {43// CHECK-NEXT:     Name: basename@FBSD_1.044// CHECK-NEXT:     Value:45// CHECK-NEXT:     Size:46// CHECK-NEXT:     Binding:47// CHECK-NEXT:     Type:48// CHECK-NEXT:     Other:49// CHECK-NEXT:     Section:50// CHECK-NEXT:   }51// CHECK-NEXT:   Symbol {52// CHECK-NEXT:     Name: basename@FBSD_1.153 54 55.global "basename@FBSD_1.0"56"basename@FBSD_1.0":57 58.global "basename@@FBSD_1.1"59"basename@@FBSD_1.1":60