// Check that 'llvm-readobj --dyn-relocations' shows dynamic relocations
// if they have REL record format.

// dyn-rel.so.elf-mips
// % cat test.s
//   .globl  __start
// __start:
//   nop
// 
//   .data
//   .type  v1,@object
//   .size  v1,4
// v1:
//   .word 0
// 
//   .globl v2
//   .type  v2,@object
//   .size  v2,8
// v2:
//   .word v2+4 # R_MIPS_32 target v2 addend 4
//   .word v1   # R_MIPS_32 target v1 addend 0
//
// % llvm-mc -filetype=obj -triple=mips-unknown-linux -o test.o test.s
// % ld  -m elf32btsmip -shared -o dyn-rel.so.elf-mips test.o

RUN: llvm-readobj -r --dyn-relocations --expand-relocs \
RUN:   %p/Inputs/dyn-rel.so.elf-mips | FileCheck %s

// CHECK:      Relocations [
// CHECK-NEXT:   Section (6) .rel.dyn {
// CHECK-NEXT:     Relocation {
// CHECK-NEXT:       Offset: 0x0
// CHECK-NEXT:       Type: R_MIPS_NONE (0)
// CHECK-NEXT:       Symbol: - (0)
// CHECK-NEXT:     }
// CHECK-NEXT:     Relocation {
// CHECK-NEXT:       Offset: 0x102F8
// CHECK-NEXT:       Type: R_MIPS_REL32 (3)
// CHECK-NEXT:       Symbol: - (0)
// CHECK-NEXT:     }
// CHECK-NEXT:     Relocation {
// CHECK-NEXT:       Offset: 0x102F4
// CHECK-NEXT:       Type: R_MIPS_REL32 (3)
// CHECK-NEXT:       Symbol: v2 (9)
// CHECK-NEXT:     }
// CHECK-NEXT:   }
// CHECK-NEXT: ]

// CHECK:      Dynamic Relocations {
// CHECK-NEXT:   Relocation {
// CHECK-NEXT:     Offset: 0x0
// CHECK-NEXT:     Type: R_MIPS_NONE (0)
// CHECK-NEXT:     Symbol: -
// CHECK-NEXT:   }
// CHECK-NEXT:   Relocation {
// CHECK-NEXT:     Offset: 0x102F8
// CHECK-NEXT:     Type: R_MIPS_REL32 (3)
// CHECK-NEXT:     Symbol: -
// CHECK-NEXT:   }
// CHECK-NEXT:   Relocation {
// CHECK-NEXT:     Offset: 0x102F4
// CHECK-NEXT:     Type: R_MIPS_REL32 (3)
// CHECK-NEXT:     Symbol: v2
// CHECK-NEXT:   }
// CHECK-NEXT: }
