1
0
mirror of https://git.code.sf.net/p/mingw-w64/mingw-w64 synced 2025-04-18 17:44:18 +03:00
Jacek Caban 6355a96915 crt: Use naked functions for ARM64 assembly functions.
On ARM64EC, function declarations have additional nuances:
- Function names are mangled by prefixing them with "#"
- An unmangled symbol is defined as a weak anti-dependency alias to the mangled
  symbol
- An entry thunk is generated to convert from the x86_64 calling convention to
  the ARM64EC calling convention, used by the emulator
- A .hybmp section entry is generated to associate the function with its entry
  thunk

The compiler can handle all of this if provided with the necessary information.
Naked functions are the most convenient way to achieve this.

Use naked functions only on Clang. GCC doesn’t support them on ARM targets and
has broken behavior on x86_64 by emitting .seh_endprologue.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2025-04-04 11:39:56 +02:00
2010-02-24 17:55:02 +00:00
2013-02-26 20:29:09 +00:00
2010-01-15 20:22:39 +00:00
Description
No description provided
67 MiB
Languages
C 62.8%
C++ 20.7%
Makefile 15.2%
Shell 1%
Yacc 0.1%
Other 0.1%