Files
clang-p2996/lldb/test/Shell/ObjectFile/ELF/loongarch64-relocations.yaml
Weining Lu 174a38f9c3 [LLDB][ObjectFileELF] Correct the return type of RelocOffset64 and RelocAddend64
According to `/usr/include/elf.h` and `lldb/source/Plugins/ObjectFile/ELF/ELFHeader.h`.
For ELF64 relocation, types of `offset` and `addend` should be `elf_addr` and `elf_sxword`.

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D145550
2023-03-13 16:23:10 +08:00

50 lines
1.5 KiB
YAML

# RUN: yaml2obj %s -o %t
# RUN: lldb-test object-file -contents %t | FileCheck %s
## Test that relocations are correctly applied to the .debug_info section on loongarch64.
# CHECK: Name: .debug_info
# CHECK: Data: (
## Before relocation:
## 0000: 00000000 00000000 00000000 00000000 00000000
## After relocation:
# CHECK-NEXT: 0000: 34120000 88776655 44332211 8899AABB CCDDEEFF
# CHECK-NEXT: )
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_LOONGARCH
Sections:
- Name: .debug_str
Type: SHT_PROGBITS
- Name: .debug_info
Type: SHT_PROGBITS
Content: 0000000000000000000000000000000000000000
- Name: .rela.debug_info
Type: SHT_RELA
Info: .debug_info
Relocations:
- Offset: 0x0000000000000000
Symbol: .debug_str
Type: R_LARCH_32
Addend: 0x1234
- Offset: 0x0000000000000004
Symbol: .debug_str
Type: R_LARCH_64
Addend: 0x1122334455667788
- Offset: 0x000000000000000C
Symbol: .debug_str
Type: R_LARCH_64
Addend: 0xFFEEDDCCBBAA9988
Symbols:
- Name: .debug_str
Type: STT_SECTION
Section: .debug_str
- Name: .debug_info
Type: STT_SECTION
Section: .debug_info
...