| // 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" |