brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 6cfe78d Raw
85 lines · yaml
1## Test that ECSYMBOLS section is created when ARM64EC is used.2 3# RUN: yaml2obj %s -o %t.arm64ec.obj -DMACHINE=IMAGE_FILE_MACHINE_ARM64EC4# RUN: yaml2obj %s -o %t.arm64.obj -DMACHINE=IMAGE_FILE_MACHINE_ARM645# RUN: yaml2obj %s -o %t.amd64.obj -DMACHINE=IMAGE_FILE_MACHINE_AMD646 7## Create ARM64EC archive.8# RUN: rm -f %t*.a9# RUN: llvm-ar cr %t1.a %t.arm64ec.obj10# RUN: llvm-nm --print-armap %t1.a | FileCheck --check-prefixes=NOMAP,ECMAP %s11 12## Add ARM64 object to the archive.13# RUN: llvm-ar r %t1.a %t.arm64.obj14# RUN: llvm-nm --print-armap %t1.a | FileCheck --check-prefixes=MAP,ECMAP %s15 16## Create ARM64 archive.17# RUN: llvm-ar cr %t2.a %t.arm64.obj18# RUN: llvm-nm --print-armap %t2.a | FileCheck --check-prefixes=MAP,NOECMAP %s19 20## Add ARM64EC object to the archive.21# RUN: llvm-ar r %t2.a %t.arm64ec.obj22# RUN: llvm-nm --print-armap %t2.a | FileCheck --check-prefixes=MAP,ECMAP %s23 24## Create mixed archive with ARM64 and ARM64EC members.25# RUN: llvm-ar cr %t3.a %t.arm64ec.obj %t.arm64.obj26# RUN: llvm-nm --print-armap %t3.a | FileCheck --check-prefixes=MAP,ECMAP %s27 28## Create mixed archive with ARM64 and AMD64 members.29# RUN: llvm-ar cr %t4.a %t.amd64.obj %t.arm64.obj30# RUN: llvm-nm --print-armap %t4.a | FileCheck --check-prefixes=MAP,AMDECMAP %s31 32## Create an archive with no symbol table.33# RUN: llvm-ar crS %t5.a %t.amd64.obj %t.arm64.obj34# RUN: llvm-nm --print-armap %t5.a | FileCheck --check-prefixes=NOMAP,NOECMAP %s35 36# MAP: Archive map37# MAP-NEXT: a in ecsymbols.yaml.tmp.arm64.obj38# MAP-NEXT: b in ecsymbols.yaml.tmp.arm64.obj39# MAP-NEXT: c in ecsymbols.yaml.tmp.arm64.obj40# MAP-EMPTY:41# NOMAP-NOT: Archive map42 43# ECMAP: Archive EC map44# ECMAP-NEXT: a in ecsymbols.yaml.tmp.arm64ec.obj45# ECMAP-NEXT: b in ecsymbols.yaml.tmp.arm64ec.obj46# ECMAP-NEXT: c in ecsymbols.yaml.tmp.arm64ec.obj47# ECMAP-EMPTY:48# NOECMAP-NOT: Archive EC map49 50# AMDECMAP: Archive EC map51# AMDECMAP-NEXT: a in ecsymbols.yaml.tmp.amd64.obj52# AMDECMAP-NEXT: b in ecsymbols.yaml.tmp.amd64.obj53# AMDECMAP-NEXT: c in ecsymbols.yaml.tmp.amd64.obj54# AMDECMAP-EMPTY:55 56--- !COFF57header:58  Machine:         [[MACHINE]]59  Characteristics: [  ]60sections:61  - Name:            .text62    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]63    Alignment:       464    SectionData:     ''65symbols:66  - Name:            b67    Value:           068    SectionNumber:   169    SimpleType:      IMAGE_SYM_TYPE_NULL70    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION71    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL72  - Name:            c73    Value:           074    SectionNumber:   175    SimpleType:      IMAGE_SYM_TYPE_NULL76    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION77    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL78  - Name:            a79    Value:           080    SectionNumber:   181    SimpleType:      IMAGE_SYM_TYPE_NULL82    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION83    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL84...85