Add ARM64X support
Extend the aarch64-w64-mingw32 prefix to provide ARM64EC libraries alongside standard AArch64 libraries, replacing the separate arm64ec-w64-mingw32 prefix. This aligns with how MSVC distributes ARM64EC libraries and enables the linker to process both targets simultaneously into a single hybrid binary. This extensively utilizes LLVM's -marm64x option, compiling both targets in a single compiler invocation to produce hybrid object files (unlike MSVC tools, which require separate compilation passes).
This commit is contained in:
1 parent
eae760ec88
commit
986847858c
10 files changed
+127
-33
No files matched your search
+4
-2
@@ -210,6 +210,7 @@ for arch in $ARCHS; do
|
||||
unset HAVE_ASAN
|
||||
HAVE_UBSAN=1
|
||||
HAVE_OPENMP=1
|
||||
prefix_arch="$arch"
|
||||
case $arch in
|
||||
i686)
|
||||
RUN="$RUN_I686"
|
||||
@@ -242,6 +243,7 @@ for arch in $ARCHS; do
|
||||
RUN="$RUN_ARM64EC"
|
||||
COPY="$COPY_ARM64EC"
|
||||
NATIVE="$NATIVE_ARM64EC"
|
||||
prefix_arch="aarch64"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -261,8 +263,8 @@ for arch in $ARCHS; do
|
||||
[ -z "$CLEAN" ] || rm -rf $TEST_DIR
|
||||
mkdir -p $TEST_DIR
|
||||
cd $TEST_DIR
|
||||
$MAKE -f ../Makefile ARCH=$arch HAVE_UWP=$HAVE_UWP HAVE_CFGUARD=$HAVE_CFGUARD HAVE_ASAN=$HAVE_ASAN HAVE_UBSAN=$HAVE_UBSAN HAVE_OPENMP=$HAVE_OPENMP NATIVE=$NATIVE RUNTIMES_SRC=$PREFIX/$arch-w64-mingw32/bin clean
|
||||
$MAKE -f ../Makefile ARCH=$arch HAVE_UWP=$HAVE_UWP HAVE_CFGUARD=$HAVE_CFGUARD HAVE_ASAN=$HAVE_ASAN HAVE_UBSAN=$HAVE_UBSAN HAVE_OPENMP=$HAVE_OPENMP NATIVE=$NATIVE RUNTIMES_SRC=$PREFIX/$arch-w64-mingw32/bin RUN="$RUN" $COPYARG $MAKEOPTS -j$CORES $TARGET
|
||||
$MAKE -f ../Makefile ARCH=$arch HAVE_UWP=$HAVE_UWP HAVE_CFGUARD=$HAVE_CFGUARD HAVE_ASAN=$HAVE_ASAN HAVE_UBSAN=$HAVE_UBSAN HAVE_OPENMP=$HAVE_OPENMP NATIVE=$NATIVE RUNTIMES_SRC=$PREFIX/$prefix_arch-w64-mingw32/bin clean
|
||||
$MAKE -f ../Makefile ARCH=$arch HAVE_UWP=$HAVE_UWP HAVE_CFGUARD=$HAVE_CFGUARD HAVE_ASAN=$HAVE_ASAN HAVE_UBSAN=$HAVE_UBSAN HAVE_OPENMP=$HAVE_OPENMP NATIVE=$NATIVE RUNTIMES_SRC=$PREFIX/$prefix_arch-w64-mingw32/bin RUN="$RUN" $COPYARG $MAKEOPTS -j$CORES $TARGET
|
||||
cd ..
|
||||
done
|
||||
echo All tests succeeded
|
||||
Reference in new issue
Block a user