# Check R_MIPS_PC16 relocation overflow handling. # RUN: yaml2obj -format=elf %s > %t.o # RUN: not lld -flavor old-gnu -target mipsel -e T0 -o %t.exe %t.o 2>&1 \ # RUN: | FileCheck %s # CHECK: Relocation out of range in file {{.*}} reference from T0+0 to T1+131068 of type 10 (R_MIPS_PC16) FileHeader: Class: ELFCLASS32 Data: ELFDATA2LSB Type: ET_REL Machine: EM_MIPS Flags: [EF_MIPS_CPIC, EF_MIPS_ABI_O32, EF_MIPS_ARCH_32] Sections: - Name: .text Type: SHT_PROGBITS Content: "ff7f00000000000000000000" # ^ T1 # ^ T0 A := 0x7fff << 2 = 0x1fffc AddressAlign: 16 Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - Name: .rel.text Type: SHT_REL Info: .text AddressAlign: 4 Relocations: - Offset: 0 Symbol: T1 Type: R_MIPS_PC16 Symbols: Global: - Name: T0 Section: .text Type: STT_FUNC Value: 0 Size: 8 - Name: T1 Section: .text Type: STT_FUNC Value: 8 Size: 4