• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: yaml2obj -format=elf %s > %t
2# RUN: llvm-readobj -r %t | FileCheck -check-prefix=OBJ %s
3# RUN: obj2yaml %t | FileCheck -check-prefix=YAML %s
4
5# OBJ:      Relocations [
6# OBJ-NEXT:   Section (2) .rela.text {
7# OBJ-NEXT:     0x14 R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16 main 0x4
8# OBJ-NEXT:     0x1C R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16 main 0x8
9# OBJ-NEXT:     0x20 R_MIPS_GOT_PAGE/R_MIPS_NONE/R_MIPS_NONE .rodata 0x0
10# OBJ-NEXT:     0x24 R_MIPS_GOT_OFST/R_MIPS_NONE/R_MIPS_NONE .rodata 0x0
11# OBJ-NEXT:     0x28 R_MIPS_CALL16/R_MIPS_NONE/R_MIPS_NONE printf 0x0
12# OBJ-NEXT:     0x30 R_MIPS_GPREL16/R_MIPS_LO16/R_MIPS_NONE printf 0x0
13# OBJ-NEXT:   }
14# OBJ-NEXT: ]
15
16# YAML:      Relocations:
17# YAML-NEXT:   - Offset:      0x0000000000000014
18# YAML-NEXT:     Symbol:      main
19# YAML-NEXT:     Type:        R_MIPS_GPREL16
20# YAML-NEXT:     Type2:       R_MIPS_SUB
21# YAML-NEXT:     Type3:       R_MIPS_HI16
22# YAML-NEXT:     Addend:      4
23# YAML-NEXT:   - Offset:      0x000000000000001C
24# YAML-NEXT:     Symbol:      main
25# YAML-NEXT:     Type:        R_MIPS_GPREL16
26# YAML-NEXT:     Type2:       R_MIPS_SUB
27# YAML-NEXT:     Type3:       R_MIPS_LO16
28# YAML-NEXT:     Addend:      8
29# YAML-NEXT:   - Offset:      0x0000000000000020
30# YAML-NEXT:     Symbol:      .rodata
31# YAML-NEXT:     Type:        R_MIPS_GOT_PAGE
32# YAML-NEXT:   - Offset:      0x0000000000000024
33# YAML-NEXT:     Symbol:      .rodata
34# YAML-NEXT:     Type:        R_MIPS_GOT_OFST
35# YAML-NEXT:   - Offset:      0x0000000000000028
36# YAML-NEXT:     Symbol:      printf
37# YAML-NEXT:     Type:        R_MIPS_CALL16
38# YAML-NEXT:   - Offset:      0x0000000000000030
39# YAML-NEXT:     Symbol:      printf
40# YAML-NEXT:     Type:        R_MIPS_GPREL16
41# YAML-NEXT:     Type2:       R_MIPS_LO16
42# YAML-NEXT:     SpecSym:     RSS_GP0
43
44---
45FileHeader:
46  Class:           ELFCLASS64
47  Data:            ELFDATA2LSB
48  Type:            ET_REL
49  Machine:         EM_MIPS
50  Flags:           [ EF_MIPS_PIC, EF_MIPS_CPIC,
51                     EF_MIPS_NOREORDER, EF_MIPS_ARCH_64R2 ]
52Sections:
53  - Name:            .text
54    Type:            SHT_PROGBITS
55    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
56    AddressAlign:    0x10
57    Size:            0x60
58  - Name:            .rela.text
59    Type:            SHT_RELA
60    Flags:           [ SHF_INFO_LINK ]
61    Info:            .text
62    Relocations:
63      - Offset:      0x14
64        Symbol:      main
65        Type:        R_MIPS_GPREL16
66        Type2:       R_MIPS_SUB
67        Type3:       R_MIPS_HI16
68        Addend:      4
69      - Offset:      0x1C
70        Symbol:      main
71        Type:        R_MIPS_GPREL16
72        Type2:       R_MIPS_SUB
73        Type3:       R_MIPS_LO16
74        Addend:      8
75      - Offset:      0x20
76        Symbol:      .rodata
77        Type:        R_MIPS_GOT_PAGE
78        Addend:      0
79      - Offset:      0x24
80        Symbol:      .rodata
81        Type:        R_MIPS_GOT_OFST
82        Addend:      0
83      - Offset:      0x28
84        Symbol:      printf
85        Type:        R_MIPS_CALL16
86        Addend:      0
87      - Offset:      0x30
88        Symbol:      printf
89        Type:        R_MIPS_GPREL16
90        Type2:       R_MIPS_LO16
91        SpecSym:     RSS_GP0
92        Addend:      0
93  - Name:            .rodata
94    Type:            SHT_PROGBITS
95    Flags:           [ SHF_ALLOC ]
96    AddressAlign:    0x10
97    Size:            0x0F
98
99Symbols:
100  Local:
101    - Name:            .text
102      Type:            STT_SECTION
103      Section:         .text
104    - Name:            .rodata
105      Type:            STT_SECTION
106      Section:         .rodata
107  Global:
108    - Name:            main
109      Type:            STT_FUNC
110      Section:         .text
111      Size:            0x58
112    - Name:            printf
113...
114