brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 46bcdb4 Raw
66 lines · plain
1# REQUIRES: mips2# Check assigning STO_MIPS_PLT flag to symbol needs a pointer equality.3 4# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \5# RUN:         %S/Inputs/mips-dynamic.s -o %t.so.o6# RUN: ld.lld %t.so.o -shared -o %t.so7# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o8# RUN: ld.lld %t.o %t.so -o %t.exe9# RUN: llvm-readobj --dyn-syms -A %t.exe | FileCheck %s10 11# CHECK:      Symbol {12# CHECK:        Name: foo013# CHECK-NEXT:   Value: 0x014# CHECK-NEXT:   Size: 015# CHECK-NEXT:   Binding: Global16# CHECK-NEXT:   Type: Function17# CHECK-NEXT:   Other: 018# CHECK-NEXT:   Section: Undefined19# CHECK-NEXT: }20# CHECK-NEXT: Symbol {21# CHECK-NEXT:   Name: foo122# CHECK-NEXT:   Value: 0x[[FOO1:[0-9A-F]+]]23# CHECK-NEXT:   Size: 024# CHECK-NEXT:   Binding: Global25# CHECK-NEXT:   Type: Function26# CHECK-NEXT:   Other [ (0x8)27# CHECK-NEXT:     STO_MIPS_PLT28# CHECK-NEXT:   ]29# CHECK-NEXT:   Section: Undefined30# CHECK-NEXT: }31 32# CHECK:      Primary GOT {33# CHECK:        Local entries [34# CHECK-NEXT:   ]35# CHECK-NEXT:   Global entries [36# CHECK-NEXT:   ]37# CHECK:      PLT GOT {38# CHECK:        Entries [39# CHECK-NEXT:     Entry {40# CHECK-NEXT:       Address:41# CHECK-NEXT:       Initial:42# CHECK-NEXT:       Value: 0x043# CHECK-NEXT:       Type: Function44# CHECK-NEXT:       Section: Undefined45# CHECK-NEXT:       Name: foo046# CHECK-NEXT:     }47# CHECK-NEXT:     Entry {48# CHECK-NEXT:       Address:49# CHECK-NEXT:       Initial:50# CHECK-NEXT:       Value: 0x[[FOO1]]51# CHECK-NEXT:       Type: Function52# CHECK-NEXT:       Section: Undefined53# CHECK-NEXT:       Name: foo154# CHECK-NEXT:     }55# CHECK-NEXT:   ]56 57  .text58  .globl __start59__start:60  jal    foo0               # R_MIPS_26 against 'foo0' from DSO61  lui    $t0,%hi(foo1)      # R_MIPS_HI16/LO16 against 'foo1' from DSO62  addi   $t0,$t0,%lo(foo1)63 64loc:65  nop66