# REQUIRES: mips # In case of linking PIC and non-PIC code together and generation # of a relocatable object, all PIC symbols should have STO_MIPS_PIC # flag in the symbol table of the ouput file. # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t-npic.o # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux \ # RUN: %p/Inputs/mips-pic.s -o %t-pic.o # RUN: ld.lld -r %t-npic.o %t-pic.o -o %t-rel.o # RUN: llvm-readobj -t %t-rel.o | FileCheck %s # CHECK: Symbol { # CHECK: Name: main # CHECK-NEXT: Value: # CHECK-NEXT: Size: # CHECK-NEXT: Binding: Local # CHECK-NEXT: Type: None # CHECK-NEXT: Other: 0 # CHECK-NEXT: Section: .text # CHECK-NEXT: } # CHECK: Symbol { # CHECK: Name: foo1a # CHECK-NEXT: Value: # CHECK-NEXT: Size: # CHECK-NEXT: Binding: Global # CHECK-NEXT: Type: Function # CHECK-NEXT: Other [ # CHECK-NEXT: STO_MIPS_PIC # CHECK-NEXT: ] # CHECK-NEXT: Section: .text # CHECK-NEXT: } # CHECK-NEXT: Symbol { # CHECK-NEXT: Name: foo1b # CHECK-NEXT: Value: # CHECK-NEXT: Size: # CHECK-NEXT: Binding: Global # CHECK-NEXT: Type: Function # CHECK-NEXT: Other [ # CHECK-NEXT: STO_MIPS_PIC # CHECK-NEXT: ] # CHECK-NEXT: Section: .text # CHECK-NEXT: } # CHECK-NEXT: Symbol { # CHECK-NEXT: Name: foo2 # CHECK-NEXT: Value: # CHECK-NEXT: Size: # CHECK-NEXT: Binding: Global # CHECK-NEXT: Type: Function # CHECK-NEXT: Other [ # CHECK-NEXT: STO_MIPS_PIC # CHECK-NEXT: ] # CHECK-NEXT: Section: .text # CHECK-NEXT: } .text main: nop