# RUN: yaml2obj %s -o %t.o # RUN: ld.lld --icf=all %t.o -o /dev/null --print-icf-sections 2>&1 | FileCheck %s # Checks that ICF does not merge 2 sections the type of # the relocations of which differ. # CHECK-NOT: selected !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB OSABI: ELFOSABI_FREEBSD Type: ET_REL Machine: EM_X86_64 Sections: - Type: SHT_PROGBITS Name: .text Flags: [ SHF_ALLOC, SHF_EXECINSTR ] AddressAlign: 0x04 Content: "0000000000000000" - Name: .text.foo Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR] Content: "FFFFFFFFFFFFFFFF" - Name: .text.bar Type: SHT_PROGBITS Flags: [ SHF_ALLOC, SHF_EXECINSTR] Content: "FFFFFFFFFFFFFFFF" - Name: .rela.text.foo Type: SHT_RELA Link: .symtab Info: .text.foo Relocations: - Offset: 0x0000000000000000 Symbol: '' Type: R_X86_64_NONE - Name: .rela.text.bar Type: SHT_RELA Link: .symtab Info: .text.bar Relocations: - Offset: 0 Symbol: zed Type: R_X86_64_64 Symbols: Global: - Name: zed Type: STT_FUNC Section: .text Value: 0x0 Size: 8