# Check the order of dynamic symbols for the MIPS target.

# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t-be.o
# RUN: ld.lld -shared %t-be.o -o %t-be.so
# RUN: llvm-readobj -symbols -dyn-symbols %t-be.so | FileCheck %s

# RUN: llvm-mc -filetype=obj -triple=mipsel-unknown-linux %s -o %t-el.o
# RUN: ld.lld -shared %t-el.o -o %t-el.so
# RUN: llvm-readobj -symbols -dyn-symbols %t-el.so | FileCheck %s

# REQUIRES: mips

  .data
  .globl v1,v2,v3
v1:
  .space 4
v2:
  .space 4
v3:
  .space 4

  .text
  .globl  __start
__start:
  lui $2, %got(v3) # v3 will precede v1 in the GOT
  lui $2, %got(v1)

# Since all these symbols have global binding,
# the Symbols section contains them in the original order.
# CHECK: Symbols [
# CHECK:     Name: v1
# CHECK:     Name: v2
# CHECK:     Name: v3
# CHECK: ]

# The symbols in the DynamicSymbols section are sorted in compliance with
# the MIPS rules. v2 comes first as it is not in the GOT.
# v1 and v3 are sorted according to their order in the GOT.
# CHECK: DynamicSymbols [
# CHECK:     Name: v2@
# CHECK:     Name: v3@
# CHECK:     Name: v1@
# CHECK: ]
