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]

[csl-arm] Tweaks to the linux-gnueabi configuration


These are the changes I've needed so far to build an arm-none-linux-gnueabi
compiler: do not default to short enums, build libgcc using PIC, and export
the ARM exception handling functions from libstdc++.so.  OK?

-- 
Daniel Jacobowitz

2004-12-15  Daniel Jacobowitz  <dan@codesourcery.com>

	* config/arm/arm.h (DEFAULT_SHORT_ENUMS): Wrap in #ifndef.
	* config/arm/linux-eabi.h (DEFAULT_SHORT_ENUMS): Define to 0.
	* config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS): Set to -fPIC.

2004-12-15  Daniel Jacobowitz  <dan@codesourcery.com>

	* config/linker-map.gnu: Add ARM EABI symbols.

Index: gcc/config/arm/arm.h
===================================================================
RCS file: /home/gcc/repos/gcc/gcc/gcc/config/arm/arm.h,v
retrieving revision 1.210.2.47
diff -u -p -u -p -r1.210.2.47 arm.h
--- gcc/config/arm/arm.h	23 Nov 2004 22:14:10 -0000	1.210.2.47
+++ gcc/config/arm/arm.h	10 Dec 2004 17:56:37 -0000
@@ -715,7 +715,9 @@ extern const char * structure_size_strin
 #define SIZE_TYPE (TARGET_AAPCS_BASED ? "unsigned int" : "long unsigned int")
 #endif
 
+#ifndef DEFAULT_SHORT_ENUMS
 #define DEFAULT_SHORT_ENUMS TARGET_AAPCS_BASED
+#endif
 
 /* AAPCS requires that structure alignment is affected by bitfields.  */
 #ifndef PCC_BITFIELD_TYPE_MATTERS
Index: gcc/config/arm/linux-eabi.h
===================================================================
RCS file: /home/gcc/repos/gcc/gcc/gcc/config/arm/Attic/linux-eabi.h,v
retrieving revision 1.1.2.2
diff -u -p -u -p -r1.1.2.2 linux-eabi.h
--- gcc/config/arm/linux-eabi.h	3 Dec 2004 22:14:34 -0000	1.1.2.2
+++ gcc/config/arm/linux-eabi.h	14 Dec 2004 20:37:15 -0000
@@ -52,3 +52,6 @@
 /* Use the default LIBGCC_SPEC, not the version in linux-elf.h, as we
    do not use -lfloat.  */
 #undef LIBGCC_SPEC
+
+/* Do not use short enums for the GNU/Linux platform.  */
+#define DEFAULT_SHORT_ENUMS 0
Index: gcc/config/arm/t-linux-eabi
===================================================================
RCS file: /home/gcc/repos/gcc/gcc/gcc/config/arm/Attic/t-linux-eabi,v
retrieving revision 1.1.2.1
diff -u -p -u -p -r1.1.2.1 t-linux-eabi
--- gcc/config/arm/t-linux-eabi	20 Nov 2004 02:18:40 -0000	1.1.2.1
+++ gcc/config/arm/t-linux-eabi	14 Dec 2004 18:54:57 -0000
@@ -1,3 +1,6 @@
+# These functions are included in shared libraries.
+TARGET_LIBGCC2_CFLAGS = -fPIC
+
 # We do not build a Thumb multilib for Linux because the definition of
 # CLEAR_INSN_CACHE in linux-gas.h does not work in Thumb mode.
 MULTILIB_OPTIONS	=
Index: libstdc++-v3/config/linker-map.gnu
===================================================================
RCS file: /home/gcc/repos/gcc/gcc/libstdc++-v3/config/linker-map.gnu,v
retrieving revision 1.48.4.5
diff -u -p -u -p -r1.48.4.5 linker-map.gnu
--- libstdc++-v3/config/linker-map.gnu	30 Sep 2004 19:50:52 -0000	1.48.4.5
+++ libstdc++-v3/config/linker-map.gnu	9 Dec 2004 16:12:05 -0000
@@ -273,10 +273,12 @@ CXXABI_1.3 {
     __cxa_bad_cast;
     __cxa_bad_typeid;
     __cxa_begin_catch;
+    __cxa_begin_cleanup;
     __cxa_call_unexpected;
     __cxa_current_exception_type;
     __cxa_demangle;
     __cxa_end_catch;
+    __cxa_end_cleanup;
     __cxa_free_exception;
     __cxa_get_globals;
     __cxa_get_globals_fast;
@@ -286,6 +288,7 @@ CXXABI_1.3 {
     __cxa_pure_virtual;
     __cxa_rethrow;
     __cxa_throw;
+    __cxa_type_match;
     __cxa_vec_cctor;
     __cxa_vec_cleanup;
     __cxa_vec_ctor;


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