diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2020-07-17 22:59:07 +0200 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2020-09-30 03:08:36 +0200 |
commit | 03aacdb73d2f797768129d54ac971b48756fa51a (patch) | |
tree | 7902012ef175d3649d404e0eaa0e739b924414ec /bridges/Library_cpp_uno.mk | |
parent | f11dc8335c9bae837823c14d059388b8d5965dcb (diff) |
bridges: add a Windows Arm64 UNO bridge
Since Microsoft follows the general ARM64 ABI calling conventions,
and the SEH exception handling is the same, this result is a mixed
port of the gcc3_linux_aarch64 bridge and the refactored x86-64
exception handling.
I have no idea, if the complicated 32-bit handling in RaiseInfo()
is needed, as the ARM64 trampolines definitly use 64-bit code.
But since this is the first working version, I currently don't
mind much ;-)
There is definitly more potential for refactoring in the whole
bridges directory...
Change-Id: I9782a2e99c0231cdd1286af156ad312229eccf39
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103642
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'bridges/Library_cpp_uno.mk')
-rw-r--r-- | bridges/Library_cpp_uno.mk | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/bridges/Library_cpp_uno.mk b/bridges/Library_cpp_uno.mk index e1cf6f52cff2..a29f6b56f620 100644 --- a/bridges/Library_cpp_uno.mk +++ b/bridges/Library_cpp_uno.mk @@ -21,6 +21,13 @@ $(call gb_LinkTarget_get_target,$(call gb_Library_get_linktarget,gcc3_uno)) : \ EXTRAOBJECTLISTS += $(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_linux_arm)/armhelper.objectlist endif +else ifeq ($(CPUNAME),ARM64) + +bridges_SELECTED_BRIDGE := msvc_win32_arm64 +bridge_exception_objects := cpp2uno uno2cpp abi +bridge_noopt_objects := except +bridge_asm_objects := callvirtualfunction vtableslotcall + else ifeq ($(CPUNAME),AARCH64) ifneq ($(filter ANDROID DRAGONFLY FREEBSD LINUX MACOSX NETBSD OPENBSD,$(OS)),) |