## Compiled and stripped-down version of:
## (riscv64-linux-gnu-gcc -nostdlib -static -Wl,-q cie-gnu.s)
# .text
# .globl _start
# .type _start, @function
# _start:
# .cfi_startproc
# beq a0, a1, 1f
# ret
# 1:
# .cfi_undefined t0 # Arbitrary cfi command to force a new state
# ret
# .cfi_endproc
# .size _start, .-_start
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_RISCV
Flags: [ EF_RISCV_RVC, EF_RISCV_FLOAT_ABI_DOUBLE ]
Entry: 0x10144
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_X, PF_R ]
FirstSec: .text
LastSec: .eh_frame
VAddr: 0x10000
Align: 0x1000
Offset: 0x0
Sections:
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Address: 0x10144
AddressAlign: 0x2
Offset: 0x144
Content: 6303B50082808280
- Name: .eh_frame
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
Address: 0x10150
AddressAlign: 0x8
Content: 1000000000000000037A5200017C01011B0D02001000000018000000D8FFFFFF0800000000460705
- Name: .rela.text
Type: SHT_RELA
Flags: [ SHF_INFO_LINK ]
Link: .symtab
AddressAlign: 0x8
Info: .text
Relocations:
- Offset: 0x10144
Symbol: ".L1\x021"
Type: R_RISCV_BRANCH
- Name: .rela.eh_frame
Type: SHT_RELA
Flags: [ SHF_INFO_LINK ]
Link: .symtab
AddressAlign: 0x8
Info: .eh_frame
Relocations:
- Offset: 0x1016C
Symbol: '.L0 '
Type: R_RISCV_32_PCREL
- Offset: 0x10170
Symbol: '.L0 (1)'
Type: R_RISCV_ADD32
- Offset: 0x10170
Symbol: '.L0 '
Type: R_RISCV_SUB32
- Offset: 0x10175
Symbol: '.L0 (2)'
Type: R_RISCV_SET6
- Offset: 0x10175
Symbol: '.L0 '
Type: R_RISCV_SUB6
- Type: SectionHeaderTable
Sections:
- Name: .text
- Name: .rela.text
- Name: .eh_frame
- Name: .rela.eh_frame
- Name: .symtab
- Name: .strtab
- Name: .shstrtab
Symbols:
- Name: '$x'
Section: .text
Value: 0x10144
- Name: ".L1\x021"
Section: .text
Value: 0x1014A
- Name: '.L0 '
Section: .text
Value: 0x10144
- Name: '.L0 (1)'
Section: .text
Value: 0x1014C
- Name: '.L0 (2)'
Section: .text
Value: 0x1014A
- Name: _start
Type: STT_FUNC
Section: .text
Binding: STB_GLOBAL
Value: 0x10144
Size: 0x8
...