85 lines · plain
1Test creating ARM64EC importlib.2 3RUN: split-file %s %t.dir && cd %t.dir4 5RUN: llvm-dlltool -m arm64ec -d test.def -l test.lib6RUN: llvm-nm --print-armap test.lib | FileCheck --check-prefix=ARMAP %s7 8ARMAP: Archive map9ARMAP-NEXT: __IMPORT_DESCRIPTOR_test in test.dll10ARMAP-NEXT: __NULL_IMPORT_DESCRIPTOR in test.dll11ARMAP-NEXT: test_NULL_THUNK_DATA in test.dll12ARMAP-EMPTY:13ARMAP-NEXT: Archive EC map14ARMAP-NEXT: #func in test.dll15ARMAP-NEXT: __IMPORT_DESCRIPTOR_test in test.dll16ARMAP-NEXT: __NULL_IMPORT_DESCRIPTOR in test.dll17ARMAP-NEXT: __imp_aux_func in test.dll18ARMAP-NEXT: __imp_func in test.dll19ARMAP-NEXT: func in test.dll20ARMAP-NEXT: test_NULL_THUNK_DATA in test.dll21 22RUN: llvm-dlltool -m arm64ec -d test.def -N test2.def -l test2.lib23RUN: llvm-nm --print-armap test2.lib | FileCheck --check-prefix=ARMAP2 %s24 25ARMAP2: Archive map26ARMAP2-NEXT: __IMPORT_DESCRIPTOR_test in test.dll27ARMAP2-NEXT: __NULL_IMPORT_DESCRIPTOR in test.dll28ARMAP2-NEXT: __imp_otherfunc in test.dll29ARMAP2-NEXT: otherfunc in test.dll30ARMAP2-NEXT: test_NULL_THUNK_DATA in test.dll31ARMAP2-EMPTY:32ARMAP2-NEXT: Archive EC map33ARMAP2-NEXT: #func in test.dll34ARMAP2-NEXT: __IMPORT_DESCRIPTOR_test in test.dll35ARMAP2-NEXT: __NULL_IMPORT_DESCRIPTOR in test.dll36ARMAP2-NEXT: __imp_aux_func in test.dll37ARMAP2-NEXT: __imp_func in test.dll38ARMAP2-NEXT: func in test.dll39ARMAP2-NEXT: test_NULL_THUNK_DATA in test.dll40 41RUN: llvm-dlltool -m arm64ec -d test.def --input-native-def test2.def -l test3.lib42RUN: llvm-nm --print-armap test3.lib | FileCheck --check-prefix=ARMAP2 %s43 44RUN: not llvm-dlltool -m arm64 -d test.def -N test2.def -l test4.lib 2>&1 | FileCheck --check-prefix=ERR %s45ERR: native .def file is supported only on arm64ec target46 47RUN: llvm-dlltool -m arm64ec -d test3.def -l test3.lib48RUN: llvm-readobj test3.lib | FileCheck --check-prefix=ALIAS %s49 50ALIAS: File: test.dll51ALIAS-NEXT: Format: COFF-import-file-ARM64EC52ALIAS-NEXT: Type: code53ALIAS-NEXT: Name type: export as54ALIAS-NEXT: Export name: efunc55ALIAS-NEXT: Symbol: __imp_func56ALIAS-NEXT: Symbol: func57ALIAS-NEXT: Symbol: __imp_aux_func58ALIAS-NEXT: Symbol: #func59ALIAS-EMPTY:60ALIAS-NEXT: File: test.dll61ALIAS-NEXT: Format: COFF-import-file-ARM64EC62ALIAS-NEXT: Type: code63ALIAS-NEXT: Name type: export as64ALIAS-NEXT: Export name: efunc65ALIAS-NEXT: Symbol: __imp_efunc66ALIAS-NEXT: Symbol: efunc67ALIAS-NEXT: Symbol: __imp_aux_efunc68ALIAS-NEXT: Symbol: #efunc69 70#--- test.def71LIBRARY test.dll72EXPORTS73 func74 75#--- test2.def76LIBRARY test.dll77EXPORTS78 otherfunc79 80#--- test3.def81LIBRARY test.dll82EXPORTS83 func == efunc84 efunc85