mirror of
https://git.code.sf.net/p/mingw-w64/mingw-w64
synced 2025-04-18 17:44:18 +03:00
crt: Add initial ARM64EC build system support
This introduces basic ARM64EC build support by reusing a modified ARM64 configuration. In the future, the goal is to include both native and ARM64EC object files in aarch64 archives. This setup is still subject to change. Signed-off-by: Jacek Caban <jacek@codeweavers.com>
This commit is contained in:
parent
22f9ed9987
commit
4d83e142b6
@ -28,7 +28,11 @@ CPPFLAGS32=-m32 -masm=att
|
||||
CPPFLAGS64=-m64 -masm=att
|
||||
AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@
|
||||
DLLTOOLFLAGSARM32=-m arm
|
||||
DLLTOOLFLAGSARM64=-m arm64
|
||||
if ARM64EC
|
||||
DLLTOOLFLAGSARM64=-m arm64ec
|
||||
else
|
||||
DLLTOOLFLAGSARM64=-m arm64
|
||||
endif
|
||||
DLLTOOLFLAGS32=--as-flags=--32 -m i386
|
||||
DLLTOOLFLAGS64=--as-flags=--64 -m i386:x86-64
|
||||
DTDEFARM32=$(DLLTOOL) $(DLLTOOLFLAGSARM32) $(AM_DLLTOOLFLAGS) --input-def
|
||||
|
@ -156,7 +156,7 @@ AC_ARG_ENABLE([libarm64],
|
||||
[Build the WinARM64 libraries])],
|
||||
[],
|
||||
[AS_CASE([$host_cpu],
|
||||
[aarch64*],[enable_libarm64=yes],
|
||||
[aarch64* | arm64*],[enable_libarm64=yes],
|
||||
[*],[enable_libarm64=no])
|
||||
])
|
||||
AC_MSG_RESULT([$enable_libarm64])
|
||||
@ -181,7 +181,7 @@ AS_CASE([$host_cpu],
|
||||
libx8632suffx=lib
|
||||
libarm64suffx=libarm64
|
||||
libarm32suffx=libarm32],
|
||||
[aarch64*],[
|
||||
[aarch64* | arm64*],[
|
||||
libx8664suffx=libx8664
|
||||
libx8632suffx=libx8632
|
||||
libarm64suffx=lib
|
||||
@ -210,6 +210,8 @@ AC_SUBST([LIBX8632SUFFIXDIR],[$libx8632suffx])
|
||||
AC_SUBST([LIBARM64SUFFIXDIR],[$libarm64suffx])
|
||||
AC_SUBST([LIBARM32SUFFIXDIR],[$libarm32suffx])
|
||||
|
||||
AM_CONDITIONAL([ARM64EC],[test $host_cpu = arm64ec])
|
||||
|
||||
# Checks for features.
|
||||
|
||||
AC_MSG_CHECKING([whether to enable globbing])
|
||||
@ -377,6 +379,10 @@ AC_MSG_CHECKING([whether the linker provides __ImageBase symbol])
|
||||
|
||||
cat <<_ACEOF >conftest.$ac_ext
|
||||
extern unsigned char __ImageBase[[]];
|
||||
|
||||
// Define a dummy call helper to satisfy the linker on ARM64EC
|
||||
void *__os_arm64x_dispatch_ret = 0;
|
||||
|
||||
void __main(void) {
|
||||
}
|
||||
int main(void) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user