[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