Merge pull request #2890 from sivarv/master
[platform/upstream/coreclr.git] / src / pal / inc / unixasmmacros.inc
1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4
5 #define INVALIDGCVALUE -0x33333333 // 0CCCCCCCDh - the assembler considers it to be a signed integer constant
6
7 #if defined(__APPLE__)
8 #define C_FUNC(name) _##name
9 #define EXTERNAL_C_FUNC(name) C_FUNC(name)
10 #define LOCAL_LABEL(name) L##name
11 #else
12 #define C_FUNC(name) name
13 #define EXTERNAL_C_FUNC(name) C_FUNC(name)@plt
14 #define LOCAL_LABEL(name) .L##name
15 #endif
16
17 #if defined(__APPLE__)
18 #define C_PLTFUNC(name) _##name
19 #else
20 #define C_PLTFUNC(name) name@PLT
21 #endif
22
23 .macro LEAF_END Name, Section
24         LEAF_END_MARKED \Name, \Section
25 .endm
26
27 .macro END_PROLOGUE
28 .endm
29
30 .macro SETALIAS New, Old
31         .equiv \New, \Old
32 .endm
33
34 #if defined(_AMD64_)
35 #include "unixasmmacrosamd64.inc"
36 #elif defined(_ARM_)
37 #include "unixasmmacrosarm.inc"
38 #elif defined(_ARM64_)
39 #include "unixasmmacrosarm64.inc"
40 #endif