Home | History | Annotate | Download | only in Mips
      1 # RUN: yaml2obj %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 --- !ELF
     45 FileHeader:
     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 ]
     52 Sections:
     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     AddressAlign:    0x8
     62     Info:            .text
     63     Relocations:
     64       - Offset:      0x14
     65         Symbol:      main
     66         Type:        R_MIPS_GPREL16
     67         Type2:       R_MIPS_SUB
     68         Type3:       R_MIPS_HI16
     69         Addend:      4
     70       - Offset:      0x1C
     71         Symbol:      main
     72         Type:        R_MIPS_GPREL16
     73         Type2:       R_MIPS_SUB
     74         Type3:       R_MIPS_LO16
     75         Addend:      8
     76       - Offset:      0x20
     77         Symbol:      .rodata
     78         Type:        R_MIPS_GOT_PAGE
     79         Addend:      0
     80       - Offset:      0x24
     81         Symbol:      .rodata
     82         Type:        R_MIPS_GOT_OFST
     83         Addend:      0
     84       - Offset:      0x28
     85         Symbol:      printf
     86         Type:        R_MIPS_CALL16
     87         Addend:      0
     88       - Offset:      0x30
     89         Symbol:      printf
     90         Type:        R_MIPS_GPREL16
     91         Type2:       R_MIPS_LO16
     92         SpecSym:     RSS_GP0
     93         Addend:      0
     94   - Name:            .rodata
     95     Type:            SHT_PROGBITS
     96     Flags:           [ SHF_ALLOC ]
     97     AddressAlign:    0x10
     98     Size:            0x0F
     99 
    100 Symbols:
    101   Local:
    102     - Name:            .text
    103       Type:            STT_SECTION
    104       Section:         .text
    105     - Name:            .rodata
    106       Type:            STT_SECTION
    107       Section:         .rodata
    108   Global:
    109     - Name:            main
    110       Type:            STT_FUNC
    111       Section:         .text
    112       Size:            0x58
    113     - Name:            printf
    114 ...
    115