// REQUIRES: aarch64 // RUN: split-file %s %t.dir && cd %t.dir // RUN: llvm-mc -filetype=obj -triple=aarch64-windows test.s -o test-arm64.obj // RUN: llvm-mc -filetype=obj -triple=arm64ec-windows test.s -o test-arm64ec.obj // RUN: llvm-mc -filetype=obj -triple=aarch64-windows drectve.s -o drectve-arm64.obj // RUN: llvm-mc -filetype=obj -triple=arm64ec-windows drectve.s -o drectve-arm64ec.obj // Check that the -alternatename command-line argument applies only to the EC namespace. // RUN: not lld-link -out:out.dll -machine:arm64x -dll -noentry test-arm64.obj test-arm64ec.obj -alternatename:sym=altsym \ // RUN: 2>&1 | FileCheck --check-prefix=ERR-NATIVE %s // RUN: not lld-link -out:out.dll -machine:arm64ec -dll -noentry test-arm64.obj test-arm64ec.obj -alternatename:sym=altsym \ // RUN: 2>&1 | FileCheck --check-prefix=ERR-NATIVE %s // ERR-NATIVE-NOT: test-arm64ec.obj // ERR-NATIVE: lld-link: error: undefined symbol: sym (native symbol) // ERR-NATIVE-NEXT: >>> referenced by test-arm64.obj:(.test) // ERR-NATIVE-NOT: test-arm64ec.obj // Check that the -alternatename .drectve directive applies only to the namespace in which it is defined. // RUN: not lld-link -out:out.dll -machine:arm64x -dll -noentry test-arm64.obj test-arm64ec.obj drectve-arm64ec.obj \ // RUN: 2>&1 | FileCheck --check-prefix=ERR-NATIVE %s // RUN: not lld-link -out:out.dll -machine:arm64ec -dll -noentry test-arm64.obj test-arm64ec.obj drectve-arm64ec.obj \ // RUN: 2>&1 | FileCheck --check-prefix=ERR-NATIVE %s // RUN: not lld-link -out:out.dll -machine:arm64x -dll -noentry test-arm64.obj test-arm64ec.obj drectve-arm64.obj \ // RUN: 2>&1 | FileCheck --check-prefix=ERR-EC %s // RUN: not lld-link -out:out.dll -machine:arm64ec -dll -noentry test-arm64.obj test-arm64ec.obj drectve-arm64.obj \ // RUN: 2>&1 | FileCheck --check-prefix=ERR-EC %s // ERR-EC-NOT: test-arm64.obj // ERR-EC: lld-link: error: undefined symbol: sym (EC symbol) // ERR-EC-NEXT: >>> referenced by test-arm64ec.obj:(.test) // ERR-EC-NOT: test-arm64.obj // RUN: lld-link -out:out.dll -machine:arm64x -dll -noentry test-arm64.obj test-arm64ec.obj drectve-arm64.obj drectve-arm64ec.obj #--- test.s .section .test,"dr" .rva sym .data .globl altsym altsym: .word 0 #--- drectve.s .section .drectve .ascii "-alternatename:sym=altsym"