# RUN: yaml2obj < %s > %t.obj # RUN: lld-link /out:%t.exe /entry:main /subsystem:console /force \ # RUN: /merge:.foo=.abc /merge:.bar=.def %t.obj /debug # RUN: llvm-readobj -sections %t.exe | FileCheck %s # RUN: lld-link /out:%t.exe /entry:main /subsystem:console /force \ # RUN: /merge:.foo=.bar /merge:.bar=.abc %t.obj /debug # RUN: llvm-readobj -sections %t.exe | FileCheck --check-prefix=CHECK2 %s # RUN: not lld-link /out:%t.exe /entry:main /subsystem:console /force \ # RUN: /merge:.rsrc=.foo %t.obj /debug 2>&1 | FileCheck --check-prefix=NO-RSRC %s # RUN: not lld-link /out:%t.exe /entry:main /subsystem:console /force \ # RUN: /merge:.foo=.rsrc %t.obj /debug 2>&1 | FileCheck --check-prefix=NO-RSRC %s # RUN: not lld-link /out:%t.exe /entry:main /subsystem:console /force \ # RUN: /merge:.reloc=.foo %t.obj /debug 2>&1 | FileCheck --check-prefix=NO-RELOC %s # RUN: not lld-link /out:%t.exe /entry:main /subsystem:console /force \ # RUN: /merge:.foo=.reloc %t.obj /debug 2>&1 | FileCheck --check-prefix=NO-RELOC %s # RUN: not lld-link /out:%t.exe /entry:main /subsystem:console /force \ # RUN: /merge:.foo=.foo1 /merge:.foo1=.foo %t.obj /debug 2>&1 | FileCheck --check-prefix=NO-CYCLE %s # RUN: not lld-link /out:%t.exe /entry:main /subsystem:console /force \ # RUN: /merge:.foo=.foo1 /merge:.foo1=.foo2 /merge:.foo2=.foo1 %t.obj /debug 2>&1 | FileCheck --check-prefix=NO-CYCLE %s # CHECK: Name: .def # CHECK: Name: .abc # CHECK2-NOT: Name: .bar # CHECK2: Name: .abc # CHECK2-NOT: Name: .bar # NO-RSRC: /merge: cannot merge '.rsrc' with any section # NO-RELOC: /merge: cannot merge '.reloc' with any section # NO-CYCLE: /merge: cycle found for section '.foo' --- !COFF header: Machine: IMAGE_FILE_MACHINE_AMD64 Characteristics: [] sections: - Name: .foo Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] Alignment: 4 SectionData: 000000000000 - Name: .bar Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] Alignment: 4 SectionData: 000000000000 symbols: - Name: .foo Value: 0 SectionNumber: 1 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: Length: 6 NumberOfRelocations: 0 NumberOfLinenumbers: 0 CheckSum: 0 Number: 0 - Name: .bar Value: 0 SectionNumber: 2 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC SectionDefinition: Length: 6 NumberOfRelocations: 0 NumberOfLinenumbers: 0 CheckSum: 0 Number: 0 - Name: main Value: 0 SectionNumber: 1 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_FUNCTION StorageClass: IMAGE_SYM_CLASS_EXTERNAL ...