| # RUN: yaml2obj %s -o %t.obj |
| # RUN: lld-link /out:%t.dll /entry:__ImageBase /dll %t.obj |
| # RUN: llvm-readobj --sections %t.dll | FileCheck %s |
| # RUN: lld-link /out:%t.dll /entry:__ImageBase /dll %t.obj /section:.foo,rwe |
| # RUN: llvm-readobj --sections %t.dll | FileCheck --check-prefix=SECTION %s |
| # RUN: lld-link /out:%t.dll /entry:__ImageBase /dll %t.obj /merge:.foo=.bar |
| # RUN: llvm-readobj --sections --section-data %t.dll | FileCheck --check-prefix=MERGE %s |
| # RUN: lld-link /out:%t.dll /entry:__ImageBase /dll %t.obj /merge:.foo=.bar /section:.foo,rwe |
| # RUN: llvm-readobj --sections %t.dll | FileCheck --check-prefix=MERGE-SECTION %s |
| |
| # CHECK: Name: .foo |
| # CHECK: Characteristics [ |
| # CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA |
| # CHECK-NEXT: IMAGE_SCN_MEM_READ |
| # CHECK-NEXT: ] |
| |
| # CHECK: Name: .foo |
| # CHECK: Characteristics [ |
| # CHECK-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA |
| # CHECK-NEXT: IMAGE_SCN_MEM_READ |
| # CHECK-NEXT: IMAGE_SCN_MEM_WRITE |
| # CHECK-NEXT: ] |
| |
| # SECTION: Name: .foo |
| # SECTION: Characteristics [ |
| # SECTION-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA |
| # SECTION-NEXT: IMAGE_SCN_MEM_EXECUTE |
| # SECTION-NEXT: IMAGE_SCN_MEM_READ |
| # SECTION-NEXT: IMAGE_SCN_MEM_WRITE |
| # SECTION-NEXT: ] |
| |
| # SECTION: Name: .foo |
| # SECTION: Characteristics [ |
| # SECTION-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA |
| # SECTION-NEXT: IMAGE_SCN_MEM_EXECUTE |
| # SECTION-NEXT: IMAGE_SCN_MEM_READ |
| # SECTION-NEXT: IMAGE_SCN_MEM_WRITE |
| # SECTION-NEXT: ] |
| |
| # MERGE: Name: .bar |
| # MERGE: Characteristics [ |
| # MERGE-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA |
| # MERGE-NEXT: IMAGE_SCN_MEM_READ |
| # MERGE-NEXT: ] |
| # MERGE-NEXT: SectionData ( |
| # MERGE-NEXT: 0000: 0301 |
| |
| # MERGE: Name: .bar |
| # MERGE: Characteristics [ |
| # MERGE-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA |
| # MERGE-NEXT: IMAGE_SCN_MEM_READ |
| # MERGE-NEXT: IMAGE_SCN_MEM_WRITE |
| # MERGE-NEXT: ] |
| # MERGE-NEXT: SectionData ( |
| # MERGE-NEXT: 0000: 04 |
| |
| # MERGE: Name: .foo |
| # MERGE: Characteristics [ |
| # MERGE-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA |
| # MERGE-NEXT: IMAGE_SCN_MEM_READ |
| # MERGE-NEXT: IMAGE_SCN_MEM_WRITE |
| # MERGE-NEXT: ] |
| # MERGE-NEXT: SectionData ( |
| # MERGE-NEXT: 0000: 02 |
| |
| # MERGE-SECTION: Name: .bar |
| # MERGE-SECTION: Characteristics [ |
| # MERGE-SECTION-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA |
| # MERGE-SECTION-NEXT: IMAGE_SCN_MEM_READ |
| # MERGE-SECTION-NEXT: ] |
| |
| # MERGE-SECTION: Name: .bar |
| # MERGE-SECTION: Characteristics [ |
| # MERGE-SECTION-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA |
| # MERGE-SECTION-NEXT: IMAGE_SCN_MEM_READ |
| # MERGE-SECTION-NEXT: IMAGE_SCN_MEM_WRITE |
| # MERGE-SECTION-NEXT: ] |
| |
| # MERGE-SECTION: Name: .foo |
| # MERGE-SECTION: Characteristics [ |
| # MERGE-SECTION-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA |
| # MERGE-SECTION-NEXT: IMAGE_SCN_MEM_EXECUTE |
| # MERGE-SECTION-NEXT: IMAGE_SCN_MEM_READ |
| # MERGE-SECTION-NEXT: IMAGE_SCN_MEM_WRITE |
| # MERGE-SECTION-NEXT: ] |
| |
| --- !COFF |
| header: |
| Machine: IMAGE_FILE_MACHINE_AMD64 |
| Characteristics: [ ] |
| sections: |
| - Name: .foo |
| Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] |
| Alignment: 1 |
| SectionData: 01 |
| - Name: .foo |
| Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] |
| Alignment: 1 |
| SectionData: 02 |
| - Name: .bar |
| Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] |
| Alignment: 1 |
| SectionData: 03 |
| - Name: .bar |
| Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] |
| Alignment: 1 |
| SectionData: 04 |
| symbols: |
| ... |