# RUN: yaml2obj %s -o %t # RUN: lldb-test object-file -contents %t | FileCheck %s ## Test that R_ARM_ABS32 relocations are resolved in .debug_info sections on aarch32. ## REL-type relocations store implicit addend as signed values inline. ## We relocate the symbol foo with 4 different addends and bar once in the .debug_info section. ## Results that exceed the 32-bit range or overflow are logged and ignored. # CHECK: Name: .debug_info # CHECK: Data: ( # # Addends: Zero Positive Negative Overflow Out-of-range # 00000000 04030201 D6FFFFFF D5FFFFFF FFFFFF7F # CHECK-NEXT: 0000: 2A000000 2E030201 00000000 D5FFFFFF FFFFFF7F # CHECK-NEXT: ) --- !ELF FileHeader: Class: ELFCLASS32 Data: ELFDATA2LSB Type: ET_REL Machine: EM_ARM Flags: [ EF_ARM_EABI_VER5 ] Sections: - Name: .text Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - Name: .debug_info Type: SHT_PROGBITS Content: 0000000004030201D6FFFFFFD5FFFFFFFFFFFF7F - Name: .rel.debug_info Type: SHT_REL Info: .debug_info Relocations: - Offset: 0x0 Symbol: foo Type: R_ARM_ABS32 - Offset: 0x4 Symbol: foo Type: R_ARM_ABS32 - Offset: 0x8 Symbol: foo Type: R_ARM_ABS32 - Offset: 0xC Symbol: foo Type: R_ARM_ABS32 - Offset: 0x10 Symbol: bar Type: R_ARM_ABS32 Symbols: - Name: .debug_info Type: STT_SECTION Section: .debug_info - Name: foo Type: STT_FUNC Section: .debug_info Value: 0x0000002A - Name: bar Type: STT_FUNC Section: .debug_info Value: 0xFF000000 ...