brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 45141ec Raw
46 lines · plain
1// REQUIRES: aarch64, x862// RUN: split-file %s %t.dir && cd %t.dir3 4// RUN: llvm-mc -filetype=obj -triple=aarch64-windows crt1-arm64.s -o crt1-arm64.obj5// RUN: llvm-mc -filetype=obj -triple=aarch64-windows crt2-arm64.s -o crt2-arm64.obj6// RUN: llvm-mc -filetype=obj -triple=arm64ec-windows crt1-arm64ec.s -o crt1-arm64ec.obj7// RUN: llvm-mc -filetype=obj -triple=x86_64-windows crt2-amd64.s -o crt2-amd64.obj8 9// Check that .CRT chunks are correctly sorted and that EC and native chunks are split.10 11// RUN: lld-link -out:out.dll -machine:arm64x -dll -noentry crt1-arm64.obj crt2-arm64.obj crt1-arm64ec.obj crt2-amd64.obj12// RUN: llvm-readobj --hex-dump=.CRT out.dll | FileCheck %s13 14// RUN: lld-link -out:out2.dll -machine:arm64x -dll -noentry crt1-arm64.obj crt1-arm64ec.obj crt2-arm64.obj crt2-amd64.obj15// RUN: llvm-readobj --hex-dump=.CRT out2.dll | FileCheck %s16 17// RUN: lld-link -out:out3.dll -machine:arm64x -dll -noentry crt2-amd64.obj crt1-arm64ec.obj crt2-arm64.obj crt1-arm64.obj18// RUN: llvm-readobj --hex-dump=.CRT out3.dll | FileCheck %s19 20// RUN: lld-link -out:out4.dll -machine:arm64ec -dll -noentry crt2-amd64.obj crt1-arm64ec.obj crt2-arm64.obj crt1-arm64.obj21// RUN: llvm-readobj --hex-dump=.CRT out4.dll | FileCheck %s22 23// CHECK:      0x180002000 01000000 00000000 02000000 0000000024// CHECK-NEXT: 0x180002010 03000000 00000000 11000000 0000000025// CHECK-NEXT: 0x180002020 12000000 00000000 13000000 0000000026 27#--- crt1-arm64.s28        .section .CRT$A,"dr"29        .xword 130        .section .CRT$Z,"dr"31        .xword 332 33#--- crt2-arm64.s34        .section .CRT$B,"dr"35        .xword 236 37#--- crt1-arm64ec.s38        .section .CRT$A,"dr"39        .xword 0x1140        .section .CRT$Z,"dr"41        .xword 0x1342 43#--- crt2-amd64.s44        .section .CRT$B,"dr"45        .quad 0x1246