2 RUN
: split-file
%s
%t.dir
&& cd
%t.dir
12 .section .wowthk$aa,"xr",discard,thunk
18 .section .hybmp$x,"yi"
21 .word 1 // entry thunk
23 // RUN
: llvm-mc
-filetype
=obj
-triple
=arm64ec-windows text-func.s
-o text-func.obj
24 // RUN
: not lld-link
-machine
:arm64ec
-dll
-noentry
-out
:test.dll text-func.obj
2>&1 | FileCheck
-check-prefix
=FUNC-NON-COMDAT
%s
25 // FUNC-NON-COMDAT
: error
: non COMDAT symbol
'func' in hybrid map
28 .section .text,"xr",discard,func
29 // Add an instruction before func label to make adding entry thunk offset in the padding impossible.
37 .section .wowthk$aa,"xr",discard,thunk
43 .section .hybmp$x,"yi"
46 .word 1 // entry thunk
48 // RUN
: llvm-mc
-filetype
=obj
-triple
=arm64ec-windows offset-func.s
-o offset-func.obj
49 // RUN
: not lld-link
-machine
:arm64ec
-dll
-noentry
-out
:test.dll offset-func.obj
2>&1 | FileCheck
-check-prefix
=FUNC-NON-COMDAT
%s
52 .section .wowthk$aa,"xr",discard,thunk
58 .section .hybmp$x,"yi"
61 .word 1 // entry thunk
63 // RUN
: llvm-mc
-filetype
=obj
-triple
=arm64ec-windows undef-func.s
-o undef-func.obj
64 // RUN
: not lld-link
-machine
:arm64ec
-dll
-noentry
-out
:test.dll undef-func.obj
2>&1 | FileCheck
-check-prefix
=UNDEF-FUNC
%s
65 // UNDEF-FUNC
: error
: undefined symbol
: func
68 .section .text,"xr",discard,func
75 .section .hybmp$x,"yi"
78 .word 1 // entry thunk
80 // RUN
: llvm-mc
-filetype
=obj
-triple
=arm64ec-windows undef-thunk.s
-o undef-thunk.obj
81 // RUN
: not lld-link
-machine
:arm64ec
-dll
-noentry
-out
:test.dll undef-thunk.obj
2>&1 | FileCheck
-check-prefix
=UNDEF-THUNK
%s
82 // UNDEF-THUNK
: error
: undefined symbol
: thunk
85 .section .text,"xr",discard,func
92 .section .wowthk$aa,"xr",discard,thunk
98 .section .hybmp$x,"yi"
103 // RUN
: llvm-mc
-filetype
=obj
-triple
=arm64ec-windows invalid-type.s
-o invalid-type.obj
104 // RUN
: lld-link
-machine
:arm64ec
-dll
-noentry
-out
:test.dll invalid-type.obj
2>&1 | FileCheck
-check-prefix
=INVALID-TYPE
%s
105 // INVALID-TYPE
: warning
: Ignoring unknown EC thunk type
3
108 .section .hybmp$x,"yi"
112 // RUN
: llvm-mc
-filetype
=obj
-triple
=arm64ec-windows invalid-size.s
-o invalid-size.obj
113 // RUN
: not lld-link
-machine
:arm64ec
-dll
-noentry
-out
:test.dll invalid-size.obj
2>&1 | FileCheck
-check-prefix
=INVALID-SIZE
%s
114 // INVALID-SIZE
: error
: Invalid
.hybmp chunk size 8