[Libreoffice-commits] .: 2 commits - bridges/CustomTarget_gcc3_linux_arm.mk bridges/Library_gcc3_linux_arm.mk bridges/Module_bridges.mk bridges/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Sun Sep 23 03:03:49 PDT 2012
bridges/CustomTarget_gcc3_linux_arm.mk | 27 +++++++++++
bridges/Library_gcc3_linux_arm.mk | 12 +++--
bridges/Module_bridges.mk | 1
bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S | 52 ++++++++++++++++++++++
bridges/source/cpp_uno/gcc3_linux_arm/armhelper.s | 52 ----------------------
5 files changed, 88 insertions(+), 56 deletions(-)
New commits:
commit 8f6b43052d05f34e088eb20015eeb47860cbf3e6
Author: David Tardon <dtardon at redhat.com>
Date: Sun Sep 23 11:57:40 2012 +0200
(hopefully) fix build of bridges on linux ARM
Change-Id: I8d7a10e26858dbbcce9c7c47a1dd9668a35736bd
diff --git a/bridges/CustomTarget_gcc3_linux_arm.mk b/bridges/CustomTarget_gcc3_linux_arm.mk
new file mode 100644
index 0000000..a38726b
--- /dev/null
+++ b/bridges/CustomTarget_gcc3_linux_arm.mk
@@ -0,0 +1,27 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_CustomTarget_CustomTarget,bridges/source/cpp_uno/gcc3_linux_arm))
+
+$(call gb_CustomTarget_get_target,bridges/source/cpp_uno/gcc3_linux_arm) : \
+ $(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_linux_arm)/armhelper.o \
+ $(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_linux_arm)/armhelper.objectlist \
+ | $(dir $(call gb_CustomTarget_get_target,bridges/source/cpp_uno/gcc3_linux_arm)).dir
+ touch $@
+
+$(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_linux_arm)/armhelper.o : \
+ $(SRCDIR)/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S
+ | $(dir $(call gb_CustomTarget_get_target,bridges/source/cpp_uno/gcc3_linux_arm)).dir
+ $(gb_CXX) -c -o $@ $< -fPIC
+
+$(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_linux_arm)/armhelper.objectlist :
+ | $(dir $(call gb_CustomTarget_get_target,bridges/source/cpp_uno/gcc3_linux_arm)).dir
+ echo $(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_linux_arm)/armhelper.o > $@
+
+# vim: set noet sw=4 ts=4:
diff --git a/bridges/Library_gcc3_linux_arm.mk b/bridges/Library_gcc3_linux_arm.mk
index 81c29d7..507cfc3 100644
--- a/bridges/Library_gcc3_linux_arm.mk
+++ b/bridges/Library_gcc3_linux_arm.mk
@@ -14,6 +14,10 @@ bridges_SELECTED_BRIDGE := gcc3_linux_arm
$(eval $(call gb_Library_Library,gcc3_uno))
+$(eval $(call gb_Library_use_custom_headers,gcc3_uno,\
+ bridges/source/cpp_uno/gcc3_linux_arm \
+))
+
$(eval $(call gb_Library_use_internal_comprehensive_api,gcc3_uno,\
udkapi \
))
@@ -62,4 +66,8 @@ $(eval $(call gb_Library_add_cxxobjects,gcc3_uno,\
, $(gb_COMPILERNOOPTFLAGS) $(gb_LinkTarget_EXCEPTIONFLAGS) \
))
+# HACK
+$(call gb_LinkTarget_get_target,$(call gb_Library_get_linktargetname,gcc3_uno)) : \
+ EXTRAOBJECTLISTS += $(call gb_CustomTarget_get_workdir,bridges/source/cpp_uno/gcc3_linux_arm)/armhelper.objectlist
+
# vim: set noet sw=4 ts=4:
diff --git a/bridges/Module_bridges.mk b/bridges/Module_bridges.mk
index dbce0fa..eeec7c5 100644
--- a/bridges/Module_bridges.mk
+++ b/bridges/Module_bridges.mk
@@ -34,6 +34,7 @@ $(eval $(call gb_Module_add_targets,bridges,\
Library_gcc3_linux_alpha \
) \
$(if $(and $(filter GCCR,$(COM)$(CPU)),$(filter ANDROID LINUX,$(OS))),\
+ CustomTarget_gcc3_linux_arm \
Library_gcc3_linux_arm \
) \
$(if $(filter GCCLINUXH,$(COM)$(OS)$(CPU)),\
commit 99cfb6724bd7243e82492a2163bffd4a26d54c28
Author: David Tardon <dtardon at redhat.com>
Date: Sun Sep 23 11:14:52 2012 +0200
Revert "add forgotten asm file to build"
This reverts commit 492f9139c1033b3f069880bff8e7f2857cbca111.
diff --git a/bridges/Library_gcc3_linux_arm.mk b/bridges/Library_gcc3_linux_arm.mk
index 95cc915..81c29d7 100644
--- a/bridges/Library_gcc3_linux_arm.mk
+++ b/bridges/Library_gcc3_linux_arm.mk
@@ -45,10 +45,6 @@ $(eval $(call gb_Library_use_libraries,gcc3_uno,\
$(gb_STDLIBS) \
))
-$(eval $(call gb_Library_add_asmobjects,gcc3_uno,\
- bridges/source/cpp_uno/gcc3_linux_arm/armhelper \
-))
-
$(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
bridges/source/cpp_uno/shared/bridge \
bridges/source/cpp_uno/shared/component \
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S b/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S
new file mode 100644
index 0000000..27148dc
--- /dev/null
+++ b/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S
@@ -0,0 +1,52 @@
+@ ARM support code for OpenOffice C++/UNO bridging
+@
+@ Written by Peter Naulls <peter at chocky.org>
+@ Modified by Caolan McNamara <caolanm at redhat.com>
+@ Fixed by Michael Casadevall <mcasadevall at kubuntu.org>
+
+#ifdef __ARM_EABI__
+# define UNWIND
+#else
+# define UNWIND @
+#endif
+
+@ If the VFP ABI variant (armhf in Debian/Ubuntu) is used, an additional extra 64 bytes
+@ are taken up on the stack (the equivalent of the 8 double precision VFP registers)
+
+#ifdef __ARM_PCS_VFP
+# define PAD 80
+# define DISCARDED 84
+#else
+# define PAD 16
+# define DISCARDED 20
+#endif
+
+ .file "armhelper.s"
+ .text
+ .align 4
+ .global privateSnippetExecutor
+ .type privateSnippetExecutor, %function
+privateSnippetExecutor:
+ UNWIND .fnstart @ start of unwinder entry
+
+ stmfd sp!, {r0-r3} @ follow other parameters on stack
+ mov r0, ip @ r0 points to functionoffset/vtable
+ mov r1, sp @ r1 points to this and params
+#ifdef __ARM_PCS_VFP
+ vpush {d0-d7} @ floating point parameter on stack
+#endif
+ UNWIND .pad #PAD @ throw this data away on exception
+ @ (see cppuno.cxx:codeSnippet())
+ stmfd sp!, {r4,lr} @ save return address
+ @ (r4 pushed to preserve stack alignment)
+ UNWIND .save {r4,lr} @ restore these regs on exception
+
+ bl cpp_vtable_call(PLT)
+
+ add sp, sp, #4 @ no need to restore r4 (we didn't touch it)
+ ldr pc, [sp], #DISCARDED @ return, discarding function arguments
+
+ UNWIND .fnend @ end of unwinder entry
+
+ .size privateSnippetExecutor, . - privateSnippetExecutor
+ .section .note.GNU-stack,"",%progbits
diff --git a/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.s b/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.s
deleted file mode 100644
index 27148dc..0000000
--- a/bridges/source/cpp_uno/gcc3_linux_arm/armhelper.s
+++ /dev/null
@@ -1,52 +0,0 @@
-@ ARM support code for OpenOffice C++/UNO bridging
-@
-@ Written by Peter Naulls <peter at chocky.org>
-@ Modified by Caolan McNamara <caolanm at redhat.com>
-@ Fixed by Michael Casadevall <mcasadevall at kubuntu.org>
-
-#ifdef __ARM_EABI__
-# define UNWIND
-#else
-# define UNWIND @
-#endif
-
-@ If the VFP ABI variant (armhf in Debian/Ubuntu) is used, an additional extra 64 bytes
-@ are taken up on the stack (the equivalent of the 8 double precision VFP registers)
-
-#ifdef __ARM_PCS_VFP
-# define PAD 80
-# define DISCARDED 84
-#else
-# define PAD 16
-# define DISCARDED 20
-#endif
-
- .file "armhelper.s"
- .text
- .align 4
- .global privateSnippetExecutor
- .type privateSnippetExecutor, %function
-privateSnippetExecutor:
- UNWIND .fnstart @ start of unwinder entry
-
- stmfd sp!, {r0-r3} @ follow other parameters on stack
- mov r0, ip @ r0 points to functionoffset/vtable
- mov r1, sp @ r1 points to this and params
-#ifdef __ARM_PCS_VFP
- vpush {d0-d7} @ floating point parameter on stack
-#endif
- UNWIND .pad #PAD @ throw this data away on exception
- @ (see cppuno.cxx:codeSnippet())
- stmfd sp!, {r4,lr} @ save return address
- @ (r4 pushed to preserve stack alignment)
- UNWIND .save {r4,lr} @ restore these regs on exception
-
- bl cpp_vtable_call(PLT)
-
- add sp, sp, #4 @ no need to restore r4 (we didn't touch it)
- ldr pc, [sp], #DISCARDED @ return, discarding function arguments
-
- UNWIND .fnend @ end of unwinder entry
-
- .size privateSnippetExecutor, . - privateSnippetExecutor
- .section .note.GNU-stack,"",%progbits
More information about the Libreoffice-commits
mailing list