This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[arm] Symbian tweaks
- From: Paul Brook <paul at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 18 Jan 2006 20:38:13 +0000
- Subject: [arm] Symbian tweaks
I've merged the attached patch for csl-arm-branch to mainline. It makes the
following tweaks to the arm-symbianelf configuration:
- Don't build libgcc as a shared library. SymbianOS has ...um... an
interesting shared library implementation, so this is more pain that it's
worth.
- Include the support routines for the C unwinding personality routines in
libgcc.
- Remove the doubleword shift routines. These are provided by the OS runtime.
Tested on arm-none-symbianelf.
Applied to mainline.
Paul
2006-01-18 Paul Brook <paul@codesourcery.com>
Merge from csl-arm-branch.
2005-03-14 Julian Brown <julian@codesourcery.com>
* config/arm/lib1funcs.asm (ashldi3): Don't define on SymbianOS.
(aeabi_llsl): Likewise.
(ashrdi3): Likewise.
(aeabi_lasr): Likewise.
(lshrdi3): Likewise.
(aeabi_llsr): Likewise.
2005-03-10 Julian Brown <julian@codesourcery.com>
* config.gcc: Disable shared libgcc for SymbianOS.
* config/arm/t-symbian (LIB2ADDEH): Include config/arm/pr-support.c.
Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc (revision 109897)
+++ gcc/config.gcc (working copy)
@@ -714,7 +714,7 @@ arm*-*-eabi* | arm*-*-symbianelf* )
tm_file="${tm_file} arm/symbian.h"
# We do not include t-bpabi for Symbian OS because the system
# provides its own implementation of the BPABI functions.
- tmake_file="${tmake_file} t-slibgcc-elf-ver arm/t-symbian"
+ tmake_file="${tmake_file} arm/t-symbian"
;;
esac
tm_file="${tm_file} arm/aout.h arm/arm.h"
Index: gcc/config/arm/lib1funcs.asm
===================================================================
--- gcc/config/arm/lib1funcs.asm (revision 109897)
+++ gcc/config/arm/lib1funcs.asm (working copy)
@@ -1020,6 +1020,9 @@ LSYM(Lover12):
#define ah r1
#endif
+/* Prevent __aeabi double-word shifts from being produced on SymbianOS. */
+#ifndef __symbian__
+
#ifdef L_lshrdi3
FUNC_START lshrdi3
@@ -1121,6 +1124,8 @@ LSYM(Lover12):
#endif
+#endif /* __symbian__ */
+
/* ------------------------------------------------------------------------ */
/* These next two sections are here despite the fact that they contain Thumb
assembler because their presence allows interworked code to be linked even
Index: gcc/config/arm/t-symbian
===================================================================
--- gcc/config/arm/t-symbian (revision 109897)
+++ gcc/config/arm/t-symbian (working copy)
@@ -14,7 +14,7 @@ LIB1ASMFUNCS += \
# Include the gcc personality routine
UNWIND_H = $(srcdir)/config/arm/unwind-arm.h
-LIB2ADDEH = $(srcdir)/unwind-c.c
+LIB2ADDEH = $(srcdir)/unwind-c.c $(srcdir)/config/arm/pr-support.c
LIB2ADDEHDEP = $(UNWIND_H)
# Create a multilib for processors with VFP floating-point, and a