[Libreoffice-commits] .: 2 commits - bridges/Library_gcc3_linux_arm.mk bridges/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Sat Sep 22 23:43:32 PDT 2012


 bridges/Library_gcc3_linux_arm.mk                 |    4 
 bridges/source/cpp_uno/gcc3_ios_arm/helper.S      |  343 ----------------------
 bridges/source/cpp_uno/gcc3_ios_arm/helper.s      |  343 ++++++++++++++++++++++
 bridges/source/cpp_uno/gcc3_linux_arm/armhelper.S |   52 ---
 bridges/source/cpp_uno/gcc3_linux_arm/armhelper.s |   52 +++
 5 files changed, 399 insertions(+), 395 deletions(-)

New commits:
commit 4c56be0e063ab65577aebf4bcd3eea657705caf8
Author: David Tardon <dtardon at redhat.com>
Date:   Sun Sep 23 08:41:54 2012 +0200

    gb_AsmObject expects .s extension
    
    Change-Id: I958ad58081821ff31c02df0a1a5efb8406d7a6ee

diff --git a/bridges/source/cpp_uno/gcc3_ios_arm/helper.S b/bridges/source/cpp_uno/gcc3_ios_arm/helper.S
deleted file mode 100644
index 9c5ada3..0000000
--- a/bridges/source/cpp_uno/gcc3_ios_arm/helper.S
+++ /dev/null
@@ -1,343 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include "codesnippets.S"
-
-#ifdef __arm
-@ ARM support code for LibreOffice 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>
-@ Modified for iOS by Tor Lillqvist <tml at iki.fi>
-
-	.file	"helper.S"
-	.text
-	.align	4
-
-_privateSnippetExecutor:
-	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
-	                           @ (see cpp2uno.cxx:codeSnippet())
-	stmfd sp!, {r4,lr}         @ save return address 
-	                           @ (r4 pushed to preserve stack alignment)
-	bl    _cpp_vtable_call
-
-	add   sp, sp, #4           @ no need to restore r4 (we didn't touch it)
-	ldr   pc, [sp], #20        @ return, discarding function arguments
-
-#else
-    .text
-
-.align 1, 0x90
-_privateSnippetExecutorGeneral:
-LFBg:
-    movl    %esp,%ecx
-    pushl   %ebp              # proper stack frame needed for exception handling
-LCFIg0:
-    movl    %esp,%ebp
-LCFIg1:
-    subl    $0x8,%esp         # padding + 32bit returnValue
-    pushl   %esp              # 32bit &returnValue
-    pushl   %ecx              # 32bit pCallStack
-    pushl   %edx              # 32bit nVtableOffset
-    pushl   %eax              # 32bit nFunctionIndex
-    call    L_cpp_vtable_call$stub
-    movl    16(%esp),%eax     # 32bit returnValue
-    leave
-    ret
-LFEg:
-    .long   .-_privateSnippetExecutorGeneral
-
-.align 1, 0x90
-_privateSnippetExecutorVoid:
-LFBv:
-    movl    %esp,%ecx
-    pushl   %ebp              # proper stack frame needed for exception handling
-LCFIv0:
-    movl    %esp,%ebp
-LCFIv1:
-    sub     $8,%esp           # padding
-    pushl   $0                # 32bit null pointer (returnValue not used)
-    pushl   %ecx              # 32bit pCallStack
-    pushl   %edx              # 32bit nVtableOffset
-    pushl   %eax              # 32bit nFunctionIndex
-    call    L_cpp_vtable_call$stub
-    leave
-    ret
-LFEv:
-    .long   .-_privateSnippetExecutorVoid
-
-.align 1, 0x90
-_privateSnippetExecutorHyper:
-LFBh:
-    movl    %esp,%ecx
-    pushl   %ebp              # proper stack frame needed for exception handling
-LCFIh0:
-    movl    %esp,%ebp
-LCFIh1:
-    subl    $0x8,%esp         # 64bit returnValue
-    pushl   %esp              # 32bit &returnValue
-    pushl   %ecx              # 32bit pCallStack
-    pushl   %edx              # 32bit nVtableOffset
-    pushl   %eax              # 32bit nFunctionIndex
-    call    L_cpp_vtable_call$stub
-    movl    16(%esp),%eax     # 64bit returnValue, lower half
-    movl    20(%esp),%edx     # 64bit returnValue, upper half
-    leave
-    ret
-LFEh:
-    .long   .-_privateSnippetExecutorHyper
-
-.align 1, 0x90
-_privateSnippetExecutorFloat:
-LFBf:
-    movl    %esp,%ecx
-    pushl   %ebp              # proper stack frame needed for exception handling
-LCFIf0:
-    movl    %esp,%ebp
-LCFIf1:
-    subl    $0x8,%esp         # padding + 32bit returnValue
-    pushl   %esp              # 32bit &returnValue
-    pushl   %ecx              # 32bit pCallStack
-    pushl   %edx              # 32bit nVtableOffset
-    pushl   %eax              # 32bit nFunctionIndex
-    call    L_cpp_vtable_call$stub
-    flds    16(%esp)          # 32bit returnValue
-    leave
-    ret
-LFEf:
-    .long   .-_privateSnippetExecutorFloat
-
-.align 1, 0x90
-_privateSnippetExecutorDouble:
-LFBd:
-    movl    %esp,%ecx
-    pushl   %ebp              # proper stack frame needed for exception handling
-LCFId0:
-    movl    %esp,%ebp
-LCFId1:
-    subl    $0x8,%esp         # 64bit returnValue
-    pushl   %esp              # 32bit &returnValue
-    pushl   %ecx              # 32bit pCallStack
-    pushl   %edx              # 32bit nVtableOffset
-    pushl   %eax              # 32bit nFunctionIndex
-    call    L_cpp_vtable_call$stub
-    fldl    16(%esp)          # 64bit returnValue
-    leave
-    ret
-LFEd:
-    .long   .-_privateSnippetExecutorDouble
-
-.align 1, 0x90
-_privateSnippetExecutorClass:
-LFBc:
-    movl    %esp,%ecx
-    pushl   %ebp              # proper stack frame needed for exception handling
-LCFIc0:
-    movl    %esp,%ebp
-LCFIc1:
-    subl    $0x8,%esp         # padding + 32bit returnValue
-    pushl   %esp              # 32bit &returnValue
-    pushl   %ecx              # 32bit pCallStack
-    pushl   %edx              # 32bit nVtableOffset
-    pushl   %eax              # 32bit nFunctionIndex
-    call    L_cpp_vtable_call$stub
-    movl    16(%esp),%eax     # 32bit returnValue
-    leave
-    ret     $4
-LFEc:
-    .long   .-_privateSnippetExecutorClass
-
-    .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
-EH_frame1:
-    .set L$set$frame1,LECIE1-LSCIE1
-    .long   L$set$frame1      # length
-LSCIE1:
-    .long   0                 # CIE_ID
-    .byte   1                 # version
-    .ascii  "zPR\0"           # augmentation
-    .byte   1                 # code_alignment_factor (.uleb128 1)
-    .byte   0x7c              # data_alignment_factor (.sleb128 -4)
-    .byte   8                 # return_address_register
-    .byte   0x6               # augmentation size 7:
-    .byte   0x9b              #  ???
-    .long   L___gxx_personality_v0$non_lazy_ptr-.
-    .byte   0x10
-                              # initial_instructions:
-    .byte   0x0C              #  DW_CFA_def_cfa %esp, 4
-    .byte   5
-    .byte   4
-    .byte   0x88              #  DW_CFA_offset ret, 1
-    .byte   1
-    .align 2
-LECIE1:
-_privateSnippetExecutorGeneral.eh:
-LSFDEg:
-    .set L$set$g1,LEFDEg-LASFDEg
-    .long   L$set$g1          # length
-LASFDEg:
-    .long   LASFDEg-EH_frame1 # CIE_pointer
-    .long   LFBg-.            # initial_location
-    .long   LFEg-LFBg         # address_range
-    .byte   0                 # augmentation size 0
-                              # instructions:
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIg0-LFBg
-    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
-    .byte   8
-    .byte   0x84              #  DW_CFA_offset %ebp, 2
-    .byte   2
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIg1-LCFIg0
-    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
-    .byte   4
-    .align 2
-LEFDEg:
-_privateSnippetExecutorVoid.eh:
-LSFDEv:
-    .set L$set$v1,LEFDEv-LASFDEv
-    .long   L$set$v1          # length
-LASFDEv:
-    .long   LASFDEv-EH_frame1 # CIE_pointer
-    .long   LFBv-.            # initial_location
-    .long   LFEv-LFBv         # address_range
-    .byte   0                 # augmentation size 0
-                              # instructions:
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIv0-LFBv
-    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
-    .byte   8
-    .byte   0x84              #  DW_CFA_offset %ebp, 2
-    .byte   2
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIv1-LCFIv0
-    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
-    .byte   4
-    .align 2
-LEFDEv:
-_privateSnippetExecutorHyper.eh:
-LSFDEh:
-    .set L$set$h1,LEFDEh-LASFDEh
-    .long   L$set$h1          # length
-LASFDEh:
-    .long   LASFDEh-EH_frame1 # CIE_pointer
-    .long   LFBh-.            # initial_location
-    .long   LFEh-LFBh         # address_range
-    .byte   0                 # augmentation size 0
-                              # instructions:
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIh0-LFBh
-    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
-    .byte   8
-    .byte   0x84              #  DW_CFA_offset %ebp, 2
-    .byte   2
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIh1-LCFIh0
-    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
-    .byte   4
-    .align 2
-LEFDEh:
-_privateSnippetExecutorFloat.eh:
-LSFDEf:
-    .set L$set$f1,LEFDEf-LASFDEf
-    .long   L$set$f1          # length
-LASFDEf:
-    .long   LASFDEf-EH_frame1 # CIE_pointer
-    .long   LFBf-.            # initial_location
-    .long   LFEf-LFBf         # address_range
-    .byte   0                 # augmentation size 0
-                              # instructions:
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIf0-LFBf
-    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
-    .byte   8
-    .byte   0x84              #  DW_CFA_offset %ebp, 2
-    .byte   2
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIf1-LCFIf0
-    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
-    .byte   4
-    .align 2
-LEFDEf:
-_privateSnippetExecutorDouble.eh:
-LSFDEd:
-    .set L$set$d1,LEFDEd-LASFDEd
-    .long   L$set$d1          # length
-LASFDEd:
-    .long   LASFDEd-EH_frame1 # CIE_pointer
-    .long   LFBd-.            # initial_location
-    .long   LFEd-LFBd         # address_range
-    .byte   0                 # augmentation size 0
-                              # instructions:
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFId0-LFBd
-    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
-    .byte   8
-    .byte   0x84              #  DW_CFA_offset %ebp, 2
-    .byte   2
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFId1-LCFId0
-    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
-    .byte   4
-    .align 2
-LEFDEd:
-_privateSnippetExecutorClass.eh:
-LSFDEc:
-    .set L$set$c1,LEFDEc-LASFDEc
-    .long   L$set$c1          # length
-LASFDEc:
-    .long   LASFDEc-EH_frame1 # CIE_pointer
-    .long   LFBc-.            # initial_location
-    .long   LFEc-LFBc         # address_range
-    .byte   0                 # augmentation size 0
-                              # instructions:
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIc0-LFBc
-    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
-    .byte   8
-    .byte   0x84              #  DW_CFA_offset %ebp, 2
-    .byte   2
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIc1-LCFIc0
-    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
-    .byte   4
-    .align 2
-LEFDEc:
-    .section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5
-L_cpp_vtable_call$stub:
-    .indirect_symbol _cpp_vtable_call
-    hlt ; hlt ; hlt ; hlt ; hlt
-    .section __IMPORT,__pointers,non_lazy_symbol_pointers
-L___gxx_personality_v0$non_lazy_ptr:
-    .indirect_symbol ___gxx_personality_v0
-    .long 0
-    .constructor
-    .destructor
-    .align 1
-#endif
diff --git a/bridges/source/cpp_uno/gcc3_ios_arm/helper.s b/bridges/source/cpp_uno/gcc3_ios_arm/helper.s
new file mode 100644
index 0000000..9c5ada3
--- /dev/null
+++ b/bridges/source/cpp_uno/gcc3_ios_arm/helper.s
@@ -0,0 +1,343 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org.  If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "codesnippets.S"
+
+#ifdef __arm
+@ ARM support code for LibreOffice 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>
+@ Modified for iOS by Tor Lillqvist <tml at iki.fi>
+
+	.file	"helper.S"
+	.text
+	.align	4
+
+_privateSnippetExecutor:
+	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
+	                           @ (see cpp2uno.cxx:codeSnippet())
+	stmfd sp!, {r4,lr}         @ save return address 
+	                           @ (r4 pushed to preserve stack alignment)
+	bl    _cpp_vtable_call
+
+	add   sp, sp, #4           @ no need to restore r4 (we didn't touch it)
+	ldr   pc, [sp], #20        @ return, discarding function arguments
+
+#else
+    .text
+
+.align 1, 0x90
+_privateSnippetExecutorGeneral:
+LFBg:
+    movl    %esp,%ecx
+    pushl   %ebp              # proper stack frame needed for exception handling
+LCFIg0:
+    movl    %esp,%ebp
+LCFIg1:
+    subl    $0x8,%esp         # padding + 32bit returnValue
+    pushl   %esp              # 32bit &returnValue
+    pushl   %ecx              # 32bit pCallStack
+    pushl   %edx              # 32bit nVtableOffset
+    pushl   %eax              # 32bit nFunctionIndex
+    call    L_cpp_vtable_call$stub
+    movl    16(%esp),%eax     # 32bit returnValue
+    leave
+    ret
+LFEg:
+    .long   .-_privateSnippetExecutorGeneral
+
+.align 1, 0x90
+_privateSnippetExecutorVoid:
+LFBv:
+    movl    %esp,%ecx
+    pushl   %ebp              # proper stack frame needed for exception handling
+LCFIv0:
+    movl    %esp,%ebp
+LCFIv1:
+    sub     $8,%esp           # padding
+    pushl   $0                # 32bit null pointer (returnValue not used)
+    pushl   %ecx              # 32bit pCallStack
+    pushl   %edx              # 32bit nVtableOffset
+    pushl   %eax              # 32bit nFunctionIndex
+    call    L_cpp_vtable_call$stub
+    leave
+    ret
+LFEv:
+    .long   .-_privateSnippetExecutorVoid
+
+.align 1, 0x90
+_privateSnippetExecutorHyper:
+LFBh:
+    movl    %esp,%ecx
+    pushl   %ebp              # proper stack frame needed for exception handling
+LCFIh0:
+    movl    %esp,%ebp
+LCFIh1:
+    subl    $0x8,%esp         # 64bit returnValue
+    pushl   %esp              # 32bit &returnValue
+    pushl   %ecx              # 32bit pCallStack
+    pushl   %edx              # 32bit nVtableOffset
+    pushl   %eax              # 32bit nFunctionIndex
+    call    L_cpp_vtable_call$stub
+    movl    16(%esp),%eax     # 64bit returnValue, lower half
+    movl    20(%esp),%edx     # 64bit returnValue, upper half
+    leave
+    ret
+LFEh:
+    .long   .-_privateSnippetExecutorHyper
+
+.align 1, 0x90
+_privateSnippetExecutorFloat:
+LFBf:
+    movl    %esp,%ecx
+    pushl   %ebp              # proper stack frame needed for exception handling
+LCFIf0:
+    movl    %esp,%ebp
+LCFIf1:
+    subl    $0x8,%esp         # padding + 32bit returnValue
+    pushl   %esp              # 32bit &returnValue
+    pushl   %ecx              # 32bit pCallStack
+    pushl   %edx              # 32bit nVtableOffset
+    pushl   %eax              # 32bit nFunctionIndex
+    call    L_cpp_vtable_call$stub
+    flds    16(%esp)          # 32bit returnValue
+    leave
+    ret
+LFEf:
+    .long   .-_privateSnippetExecutorFloat
+
+.align 1, 0x90
+_privateSnippetExecutorDouble:
+LFBd:
+    movl    %esp,%ecx
+    pushl   %ebp              # proper stack frame needed for exception handling
+LCFId0:
+    movl    %esp,%ebp
+LCFId1:
+    subl    $0x8,%esp         # 64bit returnValue
+    pushl   %esp              # 32bit &returnValue
+    pushl   %ecx              # 32bit pCallStack
+    pushl   %edx              # 32bit nVtableOffset
+    pushl   %eax              # 32bit nFunctionIndex
+    call    L_cpp_vtable_call$stub
+    fldl    16(%esp)          # 64bit returnValue
+    leave
+    ret
+LFEd:
+    .long   .-_privateSnippetExecutorDouble
+
+.align 1, 0x90
+_privateSnippetExecutorClass:
+LFBc:
+    movl    %esp,%ecx
+    pushl   %ebp              # proper stack frame needed for exception handling
+LCFIc0:
+    movl    %esp,%ebp
+LCFIc1:
+    subl    $0x8,%esp         # padding + 32bit returnValue
+    pushl   %esp              # 32bit &returnValue
+    pushl   %ecx              # 32bit pCallStack
+    pushl   %edx              # 32bit nVtableOffset
+    pushl   %eax              # 32bit nFunctionIndex
+    call    L_cpp_vtable_call$stub
+    movl    16(%esp),%eax     # 32bit returnValue
+    leave
+    ret     $4
+LFEc:
+    .long   .-_privateSnippetExecutorClass
+
+    .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
+EH_frame1:
+    .set L$set$frame1,LECIE1-LSCIE1
+    .long   L$set$frame1      # length
+LSCIE1:
+    .long   0                 # CIE_ID
+    .byte   1                 # version
+    .ascii  "zPR\0"           # augmentation
+    .byte   1                 # code_alignment_factor (.uleb128 1)
+    .byte   0x7c              # data_alignment_factor (.sleb128 -4)
+    .byte   8                 # return_address_register
+    .byte   0x6               # augmentation size 7:
+    .byte   0x9b              #  ???
+    .long   L___gxx_personality_v0$non_lazy_ptr-.
+    .byte   0x10
+                              # initial_instructions:
+    .byte   0x0C              #  DW_CFA_def_cfa %esp, 4
+    .byte   5
+    .byte   4
+    .byte   0x88              #  DW_CFA_offset ret, 1
+    .byte   1
+    .align 2
+LECIE1:
+_privateSnippetExecutorGeneral.eh:
+LSFDEg:
+    .set L$set$g1,LEFDEg-LASFDEg
+    .long   L$set$g1          # length
+LASFDEg:
+    .long   LASFDEg-EH_frame1 # CIE_pointer
+    .long   LFBg-.            # initial_location
+    .long   LFEg-LFBg         # address_range
+    .byte   0                 # augmentation size 0
+                              # instructions:
+    .byte   0x04              #  DW_CFA_advance_loc4
+    .long   LCFIg0-LFBg
+    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
+    .byte   8
+    .byte   0x84              #  DW_CFA_offset %ebp, 2
+    .byte   2
+    .byte   0x04              #  DW_CFA_advance_loc4
+    .long   LCFIg1-LCFIg0
+    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
+    .byte   4
+    .align 2
+LEFDEg:
+_privateSnippetExecutorVoid.eh:
+LSFDEv:
+    .set L$set$v1,LEFDEv-LASFDEv
+    .long   L$set$v1          # length
+LASFDEv:
+    .long   LASFDEv-EH_frame1 # CIE_pointer
+    .long   LFBv-.            # initial_location
+    .long   LFEv-LFBv         # address_range
+    .byte   0                 # augmentation size 0
+                              # instructions:
+    .byte   0x04              #  DW_CFA_advance_loc4
+    .long   LCFIv0-LFBv
+    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
+    .byte   8
+    .byte   0x84              #  DW_CFA_offset %ebp, 2
+    .byte   2
+    .byte   0x04              #  DW_CFA_advance_loc4
+    .long   LCFIv1-LCFIv0
+    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
+    .byte   4
+    .align 2
+LEFDEv:
+_privateSnippetExecutorHyper.eh:
+LSFDEh:
+    .set L$set$h1,LEFDEh-LASFDEh
+    .long   L$set$h1          # length
+LASFDEh:
+    .long   LASFDEh-EH_frame1 # CIE_pointer
+    .long   LFBh-.            # initial_location
+    .long   LFEh-LFBh         # address_range
+    .byte   0                 # augmentation size 0
+                              # instructions:
+    .byte   0x04              #  DW_CFA_advance_loc4
+    .long   LCFIh0-LFBh
+    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
+    .byte   8
+    .byte   0x84              #  DW_CFA_offset %ebp, 2
+    .byte   2
+    .byte   0x04              #  DW_CFA_advance_loc4
+    .long   LCFIh1-LCFIh0
+    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
+    .byte   4
+    .align 2
+LEFDEh:
+_privateSnippetExecutorFloat.eh:
+LSFDEf:
+    .set L$set$f1,LEFDEf-LASFDEf
+    .long   L$set$f1          # length
+LASFDEf:
+    .long   LASFDEf-EH_frame1 # CIE_pointer
+    .long   LFBf-.            # initial_location
+    .long   LFEf-LFBf         # address_range
+    .byte   0                 # augmentation size 0
+                              # instructions:
+    .byte   0x04              #  DW_CFA_advance_loc4
+    .long   LCFIf0-LFBf
+    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
+    .byte   8
+    .byte   0x84              #  DW_CFA_offset %ebp, 2
+    .byte   2
+    .byte   0x04              #  DW_CFA_advance_loc4
+    .long   LCFIf1-LCFIf0
+    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
+    .byte   4
+    .align 2
+LEFDEf:
+_privateSnippetExecutorDouble.eh:
+LSFDEd:
+    .set L$set$d1,LEFDEd-LASFDEd
+    .long   L$set$d1          # length
+LASFDEd:
+    .long   LASFDEd-EH_frame1 # CIE_pointer
+    .long   LFBd-.            # initial_location
+    .long   LFEd-LFBd         # address_range
+    .byte   0                 # augmentation size 0
+                              # instructions:
+    .byte   0x04              #  DW_CFA_advance_loc4
+    .long   LCFId0-LFBd
+    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
+    .byte   8
+    .byte   0x84              #  DW_CFA_offset %ebp, 2
+    .byte   2
+    .byte   0x04              #  DW_CFA_advance_loc4
+    .long   LCFId1-LCFId0
+    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
+    .byte   4
+    .align 2
+LEFDEd:
+_privateSnippetExecutorClass.eh:
+LSFDEc:
+    .set L$set$c1,LEFDEc-LASFDEc
+    .long   L$set$c1          # length
+LASFDEc:
+    .long   LASFDEc-EH_frame1 # CIE_pointer
+    .long   LFBc-.            # initial_location
+    .long   LFEc-LFBc         # address_range
+    .byte   0                 # augmentation size 0
+                              # instructions:
+    .byte   0x04              #  DW_CFA_advance_loc4
+    .long   LCFIc0-LFBc
+    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
+    .byte   8
+    .byte   0x84              #  DW_CFA_offset %ebp, 2
+    .byte   2
+    .byte   0x04              #  DW_CFA_advance_loc4
+    .long   LCFIc1-LCFIc0
+    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
+    .byte   4
+    .align 2
+LEFDEc:
+    .section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5
+L_cpp_vtable_call$stub:
+    .indirect_symbol _cpp_vtable_call
+    hlt ; hlt ; hlt ; hlt ; hlt
+    .section __IMPORT,__pointers,non_lazy_symbol_pointers
+L___gxx_personality_v0$non_lazy_ptr:
+    .indirect_symbol ___gxx_personality_v0
+    .long 0
+    .constructor
+    .destructor
+    .align 1
+#endif
commit 492f9139c1033b3f069880bff8e7f2857cbca111
Author: David Tardon <dtardon at redhat.com>
Date:   Sun Sep 23 08:40:15 2012 +0200

    add forgotten asm file to build
    
    Change-Id: I5c86e369649e71d785af06437b2af633d6805b8d

diff --git a/bridges/Library_gcc3_linux_arm.mk b/bridges/Library_gcc3_linux_arm.mk
index 81c29d7..95cc915 100644
--- a/bridges/Library_gcc3_linux_arm.mk
+++ b/bridges/Library_gcc3_linux_arm.mk
@@ -45,6 +45,10 @@ $(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
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
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


More information about the Libreoffice-commits mailing list