This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]