| // 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 -relocations -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: Addend: 0x0 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: Relocation { | |
| // CHECK-NEXT: Offset: 0x102F8 | |
| // CHECK-NEXT: Type: R_MIPS_REL32 (3) | |
| // CHECK-NEXT: Symbol: - (0) | |
| // CHECK-NEXT: Addend: 0x0 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: Relocation { | |
| // CHECK-NEXT: Offset: 0x102F4 | |
| // CHECK-NEXT: Type: R_MIPS_REL32 (3) | |
| // CHECK-NEXT: Symbol: v2 (9) | |
| // CHECK-NEXT: Addend: 0x0 | |
| // 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: Addend: 0x0 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: Relocation { | |
| // CHECK-NEXT: Offset: 0x102F8 | |
| // CHECK-NEXT: Type: R_MIPS_REL32 (3) | |
| // CHECK-NEXT: Symbol: - | |
| // CHECK-NEXT: Addend: 0x0 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: Relocation { | |
| // CHECK-NEXT: Offset: 0x102F4 | |
| // CHECK-NEXT: Type: R_MIPS_REL32 (3) | |
| // CHECK-NEXT: Symbol: v2 | |
| // CHECK-NEXT: Addend: 0x0 | |
| // CHECK-NEXT: } | |
| // CHECK-NEXT: } |