On Tue, 26 May 2009 20:08:10 +0100, Dave Korn
<[email protected]> wrote:
> Hi cegcc-devel,
>
> I think it would be helpful to have your new target-names implemented
in
> upstream binutils, and to that end I've extracted a bunch of patches from
> your
> CVS and the related ChangeLog entries. I've also written a bunch of
> patches
> for the upstream testsuite and although it's not perfect yet it's a
start.
> I
> haven't tried to extract any of the functional patches from your tree
yet,
> I
> leave that to others, but doing this would help us avoid introducing any
> regressions against your targets upstream. Nor have I taken any of the
> compiler changes; they can easily be done separately, and it makes sense
to
> start from the bottom of the toolchain up anyway.
>
> Everyone in general, and Pedro in particular, are you happy for me to
> send
> these upstream? I hope I got all the necessary attributions, please let
me
> know if anything's missing.
>
> cheers,
> DaveK
Hi,
Generally here is the patch I am using, maybe you could make a diff.
When looking very quickly I could not see pe-dll.c changes.
diff -urN binutils /bfd/config.bfd binutils_090319_patched/bfd/config.bfd
--- binutils/bfd/config.bfd 2009-03-18 17:58:33.000000000 +0100
+++ binutils/bfd/config.bfd 2009-03-19 13:52:21.828125000 +0100
@@ -238,7 +238,7 @@
targ_underscore=no
targ_cflags=-DARM_COFF_BUGFIX
;;
- arm-wince-pe | arm-*-wince | arm-*-mingw32ce*)
+ arm-wince-* | arm-*-wince | arm-*-mingw32ce* | arm*-*-cegcc*)
targ_defvec=arm_wince_pe_little_vec
targ_selvecs="arm_wince_pe_little_vec arm_wince_pe_big_vec arm_wince_pei_little_vec arm_wince_pei_big_vec"
targ_underscore=no
diff -urN binutils/binutils/configure binutils/binutils/configure
--- binutils/binutils/configure 2009-03-14 10:11:38.000000000 +0100
+++ binutils/binutils/configure 2009-03-19 13:49:28.796875000 +0100
@@ -16103,7 +16103,7 @@
BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
;;
- arm-wince-pe* | arm-*-wince)
+ arm-wince-* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
if test -z "$DLLTOOL_DEFAULT"; then
DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE"
diff -urN binutils/binutils/configure.in binutils/binutils/configure.in
--- binutils/binutils/configure.in 2009-03-14 10:11:38.000000000 +0100
+++ binutils/binutils/configure.in 2009-03-19 13:49:00.515625000 +0100
@@ -268,7 +268,7 @@
BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
;;
- arm-wince-pe* | arm-*-wince)
+ arm-wince-* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
if test -z "$DLLTOOL_DEFAULT"; then
DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE"
diff -urN binutils/binutils.diff binutils/binutils.diff
--- binutils/binutils.diff 1970-01-01 01:00:00.000000000 +0100
+++ binutils/binutils.diff 2009-03-20 15:18:40.671875000 +0100
@@ -0,0 +1,125 @@
+diff -urN ../binutils/bfd/config.bfd ./bfd/config.bfd
+--- ../binutils/bfd/config.bfd 2009-03-18 17:58:33.000000000 +0100
++++ ./bfd/config.bfd 2009-03-19 13:52:21.828125000 +0100
+@@ -238,7 +238,7 @@
+ targ_underscore=no
+ targ_cflags=-DARM_COFF_BUGFIX
+ ;;
+- arm-wince-pe | arm-*-wince | arm-*-mingw32ce*)
++ arm-wince-* | arm-*-wince | arm-*-mingw32ce* | arm*-*-cegcc*)
+ targ_defvec=arm_wince_pe_little_vec
+ targ_selvecs="arm_wince_pe_little_vec arm_wince_pe_big_vec arm_wince_pei_little_vec arm_wince_pei_big_vec"
+ targ_underscore=no
+diff -urN ../binutils/binutils/configure ./binutils/configure
+--- ../binutils/binutils/configure 2009-03-14 10:11:38.000000000 +0100
++++ ./binutils/configure 2009-03-19 13:49:28.796875000 +0100
+@@ -16103,7 +16103,7 @@
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ ;;
+- arm-wince-pe* | arm-*-wince)
++ arm-wince-* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE"
+diff -urN ../binutils/binutils/configure.in ./binutils/configure.in
+--- ../binutils/binutils/configure.in 2009-03-14 10:11:38.000000000 +0100
++++ ./binutils/configure.in 2009-03-19 13:49:00.515625000 +0100
+@@ -268,7 +268,7 @@
+ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
+ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
+ ;;
+- arm-wince-pe* | arm-*-wince)
++ arm-wince-* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
+ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
+ if test -z "$DLLTOOL_DEFAULT"; then
+ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE"
+diff -urN ../binutils/binutils.diff ./binutils.diff
+--- ../binutils/binutils.diff 1970-01-01 01:00:00.000000000 +0100
++++ ./binutils.diff 2009-03-20 15:18:18.671875000 +0100
+@@ -0,0 +1,36 @@
++diff -urN ../binutils/bfd/config.bfd ./bfd/config.bfd
++--- ../binutils/bfd/config.bfd 2009-03-18 17:58:33.000000000 +0100
+++++ ./bfd/config.bfd 2009-03-19 13:52:21.828125000 +0100
++@@ -238,7 +238,7 @@
++ targ_underscore=no
++ targ_cflags=-DARM_COFF_BUGFIX
++ ;;
++- arm-wince-pe | arm-*-wince | arm-*-mingw32ce*)
+++ arm-wince-* | arm-*-wince | arm-*-mingw32ce* | arm*-*-cegcc*)
++ targ_defvec=arm_wince_pe_little_vec
++ targ_selvecs="arm_wince_pe_little_vec arm_wince_pe_big_vec arm_wince_pei_little_vec arm_wince_pei_big_vec"
++ targ_underscore=no
++diff -urN ../binutils/binutils/configure ./binutils/configure
++--- ../binutils/binutils/configure 2009-03-14 10:11:38.000000000 +0100
+++++ ./binutils/configure 2009-03-19 13:49:28.796875000 +0100
++@@ -16103,7 +16103,7 @@
++ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
++ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
++ ;;
++- arm-wince-pe* | arm-*-wince)
+++ arm-wince-* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
++ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
++ if test -z "$DLLTOOL_DEFAULT"; then
++ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE"
++diff -urN ../binutils/binutils/configure.in ./binutils/configure.in
++--- ../binutils/binutils/configure.in 2009-03-14 10:11:38.000000000 +0100
+++++ ./binutils/configure.in 2009-03-19 13:49:00.515625000 +0100
++@@ -268,7 +268,7 @@
++ BUILD_WINDRES='$(WINDRES_PROG)$(EXEEXT)'
++ BUILD_WINDMC='$(WINDMC_PROG)$(EXEEXT)'
++ ;;
++- arm-wince-pe* | arm-*-wince)
+++ arm-wince-* | arm-*-wince | arm*-*-cegcc* | arm*-*-mingw32ce*)
++ BUILD_DLLTOOL='$(DLLTOOL_PROG)$(EXEEXT)'
++ if test -z "$DLLTOOL_DEFAULT"; then
++ DLLTOOL_DEFAULT="-DDLLTOOL_DEFAULT_ARM_WINCE"
+diff -urN ../binutils/configure ./configure
+--- ../binutils/configure 2009-03-19 00:33:26.000000000 +0100
++++ ./configure 2009-03-19 13:40:24.062500000 +0100
+@@ -2302,7 +2302,7 @@
+ sh-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
++ sh*-*-pe|mips*-*-pe|*arm-wince-pe|arm*-*-mingw32ce*|arm*-*-cegcc*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-examples"
+ noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
+diff -urN ../binutils/configure.ac ./configure.ac
+--- ../binutils/configure.ac 2009-03-19 00:33:26.000000000 +0100
++++ ./configure.ac 2009-03-19 13:39:54.359375000 +0100
+@@ -537,7 +537,7 @@
+ sh-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
++ sh*-*-pe|mips*-*-pe|*arm-wince-pe|arm*-*-mingw32ce*|arm*-*-cegcc*)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ noconfigdirs="$noconfigdirs target-examples"
+ noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
+diff -urN ../binutils/gas/config/te-wince-pe.h ./gas/config/te-wince-pe.h
+--- ../binutils/gas/config/te-wince-pe.h 2007-07-03 13:01:05.000000000 +0200
++++ ./gas/config/te-wince-pe.h 2009-03-19 13:47:06.171875000 +0100
+@@ -17,5 +17,8 @@
+ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
+ 02110-1301, USA. */
+
++#define CPU_DEFAULT ARM_ARCH_V4
++#define FPU_DEFAULT FPU_ARCH_VFP
++
+ #define TE_WINCE
+ #include "te-pe.h"
+diff -urN ../binutils/gas/configure.tgt ./gas/configure.tgt
+--- ../binutils/gas/configure.tgt 2009-03-14 10:11:38.000000000 +0100
++++ ./gas/configure.tgt 2009-03-19 13:46:19.046875000 +0100
+@@ -121,7 +121,8 @@
+ arm-*-*n*bsd*) fmt=aout em=nbsd ;;
+ arm-*-nto*) fmt=elf ;;
+ arm-epoc-pe | thumb-epoc-pe) fmt=coff em=epoc-pe ;;
+- arm-wince-pe | arm-*-wince) fmt=coff em=wince-pe ;;
++ arm-wince-* | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
++ fmt=coff em=wince-pe ;;
+ arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
+ arm-*-riscix*) fmt=aout em=riscix ;;
+
diff -urN binutils/configure binutils/configure
--- binutils/configure 2009-03-19 00:33:26.000000000 +0100
+++ binutils/configure 2009-03-19 13:40:24.062500000 +0100
@@ -2302,7 +2302,7 @@
sh-*-linux*)
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe|arm*-*-mingw32ce*|arm*-*-cegcc*)
noconfigdirs="$noconfigdirs ${libgcj}"
noconfigdirs="$noconfigdirs target-examples"
noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
diff -urN binutils/configure.ac binutils/configure.ac
--- binutils/configure.ac 2009-03-19 00:33:26.000000000 +0100
+++ binutils/configure.ac 2009-03-19 13:39:54.359375000 +0100
@@ -537,7 +537,7 @@
sh-*-linux*)
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe|arm*-*-mingw32ce*|arm*-*-cegcc*)
noconfigdirs="$noconfigdirs ${libgcj}"
noconfigdirs="$noconfigdirs target-examples"
noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
diff -urN binutils/gas/config/te-wince-pe.h binutils/gas/config/te-wince-pe.h
--- binutils/gas/config/te-wince-pe.h 2007-07-03 13:01:05.000000000 +0200
+++ binutils/gas/config/te-wince-pe.h 2009-03-19 13:47:06.171875000 +0100
@@ -17,5 +17,8 @@
Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
02110-1301, USA. */
+#define CPU_DEFAULT ARM_ARCH_V4
+#define FPU_DEFAULT FPU_ARCH_VFP
+
#define TE_WINCE
#include "te-pe.h"
diff -urN binutils/gas/configure.tgt binutils/gas/configure.tgt
--- binutils/gas/configure.tgt 2009-03-14 10:11:38.000000000 +0100
+++ binutils/gas/configure.tgt 2009-03-19 13:46:19.046875000 +0100
@@ -121,7 +121,8 @@
arm-*-*n*bsd*) fmt=aout em=nbsd ;;
arm-*-nto*) fmt=elf ;;
arm-epoc-pe | thumb-epoc-pe) fmt=coff em=epoc-pe ;;
- arm-wince-pe | arm-*-wince) fmt=coff em=wince-pe ;;
+ arm-wince-* | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
+ fmt=coff em=wince-pe ;;
arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
arm-*-riscix*) fmt=aout em=riscix ;;
diff -urN binutils/ld/configure.tgt binutils/ld/configure.tgt
--- binutils/ld/configure.tgt 2009-03-14 10:11:38.000000000 +0100
+++ binutils/ld/configure.tgt 2009-03-19 13:45:19.156250000 +0100
@@ -44,7 +44,11 @@
arc-*-elf*) targ_emul=arcelf
;;
arm-epoc-pe) targ_emul=arm_epoc_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;;
-arm-wince-pe | arm-*-wince) targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;;
+arm*-*-cegcc*)
+ targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o"
+ LIB_PATH='${tooldir}/lib/w32api' ;;
+arm-wince-* | arm-*-wince | arm*-*-mingw32ce*)
+ targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;;
arm-*-pe) targ_emul=armpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;;
arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
armeb-*-aout) targ_emul=armaoutb ;;
diff -urN binutils/ld/pe-dll.c binutils/ld/pe-dll.c
--- binutils/ld/pe-dll.c 2009-02-18 19:23:07.000000000 +0100
+++ binutils/ld/pe-dll.c 2009-03-19 13:41:04.890625000 +0100
@@ -363,11 +363,14 @@
{ STRING_COMMA_LEN ("crt0.o") },
{ STRING_COMMA_LEN ("crt1.o") },
{ STRING_COMMA_LEN ("crt2.o") },
+ { STRING_COMMA_LEN ("crt3.o") },
{ STRING_COMMA_LEN ("dllcrt1.o") },
{ STRING_COMMA_LEN ("dllcrt2.o") },
+ { STRING_COMMA_LEN ("dllcrt3.o") },
{ STRING_COMMA_LEN ("gcrt0.o") },
{ STRING_COMMA_LEN ("gcrt1.o") },
{ STRING_COMMA_LEN ("gcrt2.o") },
+ { STRING_COMMA_LEN ("gcrt3.o") },
{ STRING_COMMA_LEN ("crtbegin.o") },
{ STRING_COMMA_LEN ("crtend.o") },
{ NULL, 0 }
------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com
_______________________________________________
Cegcc-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cegcc-devel