On Fri, 18 Sep 2009 09:26:52 +0100, Dave Korn
<dave.korn.cyg...@googlemail.com> wrote:
> Danny Backx wrote:
>
>> Seriously : I've not looked into objc at all. Does it have porting
>> issues like the rest of gcc/g++/libg++ or does it sit quietly on top of
>> gcc ?
>
> Generally speaking, it "just works": if C works, ObjC works, and if
C++
> works, Obj-C++ works. I've never had to patch either of them in any
way,
> just
> --enable-languages them and they always get good test results.
>
> cheers,
> DaveK
I have also some suggestions about cegcc patches to be more compliant with
other
mingw families (mingw, cygwin).
To sum up it allows to choose EH model (see below for changes) and I
suppose this is
something you wanted to do when I read your comments :
in config/arm/t-wince-pe:
--------------------------
- SHLIB_LC = -lmingw32 -lmingwex -lceoldname -lcoredll
- # Version for cegcc
- #SHLIB_LC = -lc -lcoredll
- # This should go somewhere else. <<<<<<<<<<<<<<
- # We are using SjLj EH.
- EH_MODEL = sjlj
With this change normally we could be able to select dw2 exception model
just by adjusting
DWARF2_UNWIND_INFO in wince-pe.h.
Don't know if it's interesting for us but at least it seems more standard
to do like that.
Index: src/gcc-4.4.0/gcc/config.gcc
===================================================================
--- src/gcc-4.4.0/gcc/config.gcc (revision 1381)
+++ src/gcc-4.4.0/gcc/config.gcc (working copy)
@@ -1286,10 +1286,15 @@
fi
;;
arm-*-mingw32*)
- tm_file="arm/semi.h arm/aout.h ${tm_file} arm/coff.h dbxcoff.h arm/pe.h
arm/wince-pe.h arm/mingw32.h"
-# well, we're not building a native compiler, are we? :-) ...
-# xm_file=arm/xm-mingw32.h
- tmake_file="${tmake_file} arm/t-arm arm/t-wince-pe arm/t-cygming
arm/t-mingw32"
+ tm_file="${tm_file} arm/semi.h arm/aout.h arm/coff.h dbxcoff.h arm/pe.h
arm/wince-pe.h arm/mingw32.h"
+ xm_file=arm/xm-mingw32.h
+ # This has to match the logic for DWARF2_UNWIND_INFO in
gcc/config/arm/wince-pe.h
+ if test x$sjlj = x0; then
+ tmake_eh_file="i386/t-dw2-eh"
+ else
+ tmake_eh_file="i386/t-sjlj-eh"
+ fi
+ tmake_file="${tmake_file} ${tmake_eh_file} arm/t-arm arm/t-wince-pe
arm/t-cygming arm/t-mingw32"
target_gtfiles="\$(srcdir)/config/arm/pe.c"
extra_options="${extra_options} arm/pe.opt arm/cygming.opt"
extra_objs="pe.o pe-stubs.o"
Index: src/gcc-4.4.0/gcc/config/arm/t-wince-cegcc
===================================================================
--- src/gcc-4.4.0/gcc/config/arm/t-wince-cegcc (revision 1381)
+++ src/gcc-4.4.0/gcc/config/arm/t-wince-cegcc (working copy)
@@ -5,8 +5,3 @@
#Needed because we include <windows.h>
TARGET_LIBGCC2_CFLAGS += -mwin32
-
-# Version for mingw32ce
-#SHLIB_LC = -lmingw32 -lmingwex -lceoldname -lcoredll
-# Version for cegcc
-SHLIB_LC = -lc -lcoredll
Index: src/gcc-4.4.0/gcc/config/arm/xm-mingw32.h
===================================================================
--- src/gcc-4.4.0/gcc/config/arm/xm-mingw32.h (revision 0)
+++ src/gcc-4.4.0/gcc/config/arm/xm-mingw32.h (revision 0)
@@ -0,0 +1,35 @@
+/* Configuration for GCC for hosting on Windows32.
+ using GNU tools and the Windows32 API Library.
+ Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2007
+ Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC 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 General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#define HOST_EXECUTABLE_SUFFIX ".exe"
+
+#undef PATH_SEPARATOR
+#define PATH_SEPARATOR ';'
+
+/* This is the name of the null device on windows. */
+#define HOST_BIT_BUCKET "nul"
+
+/* The st_ino field of struct stat is always 0. */
+#define HOST_LACKS_INODE_NUMBERS
+
+/* MSVCRT does not support the "ll" format specifier for printing
+ "long long" values. Instead, we use "I64". */
+ /* #define HOST_LONG_LONG_FORMAT "I64" */
Property changes on: src/gcc-4.4.0/gcc/config/arm/xm-mingw32.h
___________________________________________________________________
Added: svn:executable
+ *
Index: src/gcc-4.4.0/gcc/config/arm/t-wince-pe
===================================================================
--- src/gcc-4.4.0/gcc/config/arm/t-wince-pe (revision 1381)
+++ src/gcc-4.4.0/gcc/config/arm/t-wince-pe (working copy)
@@ -126,15 +126,6 @@
SHLIB_DIR = @multilib_dir@/shlib
SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@
-# Version for mingw32ce
-SHLIB_LC = -lmingw32 -lmingwex -lceoldname -lcoredll
-# Version for cegcc
-#SHLIB_LC = -lc -lcoredll
-
-# This should go somewhere else.
-# We are using SjLj EH.
-EH_MODEL = sjlj
-
SHLIB_LINK = $(LN_S) -f $(SHLIB_MAP) $(SHLIB_MAP).def && \
if [ ! -d $(SHLIB_DIR) ]; then \
mkdir $(SHLIB_DIR); \
------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel