blob: 8d21d334dfa1fadad031ab49692b6cb45ed230d8 [file] [log] [blame]
# .option norelax
# .global _start
#
# .section .reloc_12345678, "ax", @progbits
# _start:
# foo = 0x12345678
# lui a0, %hi(foo)
# addi a0, a0, %lo(foo)
# lw a0, %lo(foo)(a0)
#
# .section .reloc_fedcba98, "ax", @progbits
# foo = 0xfedcba98
# lui a0, %hi(foo)
# addi a0, a0, %lo(foo)
#
# REQUIRES: riscv
# RUN: yaml2obj %s -o %t.o
# RUN: ld.lld %t.o -o %t
# RUN: obj2yaml %t | FileCheck %s
#
# CHECK: - Name: .reloc_12345678
# CHECK: Content: '375534121305856703258567'
# 11000: 12345537 lui a0,0x12345
# 11004: 67850513 addi a0,a0,1656 # 12345678 <__global_pointer$+0x12332e78>
# 11008: 67852503 lw a0,1656(a0)
#
# CHECK: - Name: .reloc_fedcba98
# CHECK: Content: 37C5DCFE130585A9
# 1100c: fedcc537 lui a0,0xfedcc
# 11010: a9850513 addi a0,a0,-1384 # fedcba98 <__global_pointer$+0xfedb9298>
--- !ELF
FileHeader:
Class: ELFCLASS32
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_RISCV
Flags: [ EF_RISCV_RVC, EF_RISCV_FLOAT_ABI_SOFT ]
Sections:
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
AddressAlign: 0x0000000000000002
Content: ''
- Name: .data
Type: SHT_PROGBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
AddressAlign: 0x0000000000000001
Content: ''
- Name: .bss
Type: SHT_NOBITS
Flags: [ SHF_WRITE, SHF_ALLOC ]
AddressAlign: 0x0000000000000001
- Name: .reloc_12345678
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
AddressAlign: 0x0000000000000001
Content: '375534121305856703258567'
- Name: .reloc_fedcba98
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
AddressAlign: 0x0000000000000001
Content: 37C5DCFE130585A9
Symbols:
Local:
- Name: .text
Type: STT_SECTION
Section: .text
- Name: .data
Type: STT_SECTION
Section: .data
- Name: .bss
Type: STT_SECTION
Section: .bss
- Name: .reloc_12345678
Type: STT_SECTION
Section: .reloc_12345678
- Name: foo
Value: 0x00000000FEDCBA98
- Name: .reloc_fedcba98
Type: STT_SECTION
Section: .reloc_fedcba98
Global:
- Name: _start
Section: .reloc_12345678
...