unixasmmacros.inc 879 B

12345678910111213141516171819202122232425262728293031323334353637
  1. //
  2. // Copyright (c) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE file in the project root for full license information.
  4. //
  5. #define INVALIDGCVALUE -0x33333333 // 0CCCCCCCDh - the assembler considers it to be a signed integer constant
  6. #if defined(__APPLE__)
  7. #define C_FUNC(name) _##name
  8. #define EXTERNAL_C_FUNC(name) C_FUNC(name)
  9. #define LOCAL_LABEL(name) L##name
  10. #else
  11. #define C_FUNC(name) name
  12. #define EXTERNAL_C_FUNC(name) C_FUNC(name)@plt
  13. #define LOCAL_LABEL(name) .L##name
  14. #endif
  15. #if defined(__APPLE__)
  16. #define C_PLTFUNC(name) _##name
  17. #else
  18. #define C_PLTFUNC(name) name@PLT
  19. #endif
  20. .macro END_PROLOGUE
  21. .endm
  22. .macro SETALIAS New, Old
  23. .equiv \New, \Old
  24. .endm
  25. #if defined(_AMD64_)
  26. #include "unixasmmacrosamd64.inc"
  27. #elif defined(_ARM_)
  28. #include "unixasmmacrosarm.inc"
  29. #elif defined(_ARM64_)
  30. #include "unixasmmacrosarm64.inc"
  31. #endif