58 lines · plain
1# REQUIRES: mips2# In case of linking PIC and non-PIC code together and generation3# of a relocatable object, all PIC symbols should have STO_MIPS_PIC4# flag in the symbol table of the output file.5 6# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t-npic.o7# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \8# RUN: %p/Inputs/mips-pic.s -o %t-pic.o9# RUN: ld.lld -r %t-npic.o %t-pic.o -o %t-rel.o10# RUN: llvm-readobj --symbols %t-rel.o | FileCheck %s11 12# CHECK: Symbol {13# CHECK: Name: main14# CHECK-NEXT: Value:15# CHECK-NEXT: Size:16# CHECK-NEXT: Binding: Local17# CHECK-NEXT: Type: None18# CHECK-NEXT: Other: 019# CHECK-NEXT: Section: .text20# CHECK-NEXT: }21# CHECK: Symbol {22# CHECK: Name: foo1a23# CHECK-NEXT: Value:24# CHECK-NEXT: Size:25# CHECK-NEXT: Binding: Global26# CHECK-NEXT: Type: Function27# CHECK-NEXT: Other [28# CHECK-NEXT: STO_MIPS_PIC29# CHECK-NEXT: ]30# CHECK-NEXT: Section: .text31# CHECK-NEXT: }32# CHECK-NEXT: Symbol {33# CHECK-NEXT: Name: foo1b34# CHECK-NEXT: Value:35# CHECK-NEXT: Size:36# CHECK-NEXT: Binding: Global37# CHECK-NEXT: Type: Function38# CHECK-NEXT: Other [39# CHECK-NEXT: STO_MIPS_PIC40# CHECK-NEXT: ]41# CHECK-NEXT: Section: .text42# CHECK-NEXT: }43# CHECK-NEXT: Symbol {44# CHECK-NEXT: Name: foo245# CHECK-NEXT: Value:46# CHECK-NEXT: Size:47# CHECK-NEXT: Binding: Global48# CHECK-NEXT: Type: Function49# CHECK-NEXT: Other [50# CHECK-NEXT: STO_MIPS_PIC51# CHECK-NEXT: ]52# CHECK-NEXT: Section: .text53# CHECK-NEXT: }54 55 .text56main:57 nop58