back off devkitPPC to gcc 4.4.4

This commit is contained in:
Dave Murphy 2010-07-04 11:44:00 +00:00
parent 504a0ad381
commit 39fcd063da
3 changed files with 23 additions and 341 deletions

View File

@ -110,7 +110,7 @@ case "$VERSION" in
toolchain=DEVKITARM
;;
"2" )
GCC_VER=4.5.0
GCC_VER=4.4.4
BINUTILS_VER=2.20.1
NEWLIB_VER=1.18.0
GDB_VER=7.1

View File

@ -1,311 +0,0 @@
diff -Nbaur gcc-4.4.2/gcc/config/rs6000/rs6000.h gcc-4.4.2-ppc/gcc/config/rs6000/rs6000.h
--- gcc-4.4.2/gcc/config/rs6000/rs6000.h 2009-04-10 00:23:07.000000000 +0100
+++ gcc-4.4.2-ppc/gcc/config/rs6000/rs6000.h 2009-10-20 09:10:22.000000000 +0100
@@ -180,12 +180,12 @@
the condition in driver-rs6000.c. */
#if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX)
/* In driver-rs6000.c. */
-extern const char *host_detect_local_cpu (int argc, const char **argv);
+/*extern const char *host_detect_local_cpu (int argc, const char **argv);
#define EXTRA_SPEC_FUNCTIONS \
{ "local_cpu_detect", host_detect_local_cpu },
#define HAVE_LOCAL_CPU_DETECT
+*/
#endif
-
#ifndef CC1_CPU_SPEC
#ifdef HAVE_LOCAL_CPU_DETECT
#define CC1_CPU_SPEC \
diff -Nbaur gcc-4.4.2/gcc/config/rs6000/sysv4.h gcc-4.4.2-ppc/gcc/config/rs6000/sysv4.h
--- gcc-4.4.2/gcc/config/rs6000/sysv4.h 2009-04-10 00:23:07.000000000 +0100
+++ gcc-4.4.2-ppc/gcc/config/rs6000/sysv4.h 2009-10-20 09:10:22.000000000 +0100
@@ -664,7 +664,11 @@
/* Default starting address if specified. */
#define LINK_START_SPEC "\
-%{mads : %(link_start_ads) ; \
+%{mgcn|mogc : %(link_start_ogc) ; \
+ mvgc : %(link_start_vgc) ; \
+ mgcbios : %(link_start_gcb) ; \
+ mrvl : %(link_start_rvl) ; \
+ mads : %(link_start_ads) ; \
myellowknife : %(link_start_yellowknife) ; \
mmvme : %(link_start_mvme) ; \
msim : %(link_start_sim) ; \
@@ -721,7 +725,8 @@
/* Any specific OS flags. */
#define LINK_OS_SPEC "\
-%{mads : %(link_os_ads) ; \
+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \
+ mads : %(link_os_ads) ; \
myellowknife : %(link_os_yellowknife) ; \
mmvme : %(link_os_mvme) ; \
msim : %(link_os_sim) ; \
@@ -740,7 +745,10 @@
/* Override rs6000.h definition. */
#undef CPP_SPEC
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \
-%{mads : %(cpp_os_ads) ; \
+%{mgcn : %(cpp_os_gcn) ; \
+ mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \
+ mrvl : %(cpp_os_rvl) ; \
+ mads : %(cpp_os_ads) ; \
myellowknife : %(cpp_os_yellowknife) ; \
mmvme : %(cpp_os_mvme) ; \
msim : %(cpp_os_sim) ; \
@@ -756,7 +764,10 @@
/* Override svr4.h definition. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "\
-%{mads : %(startfile_ads) ; \
+%{mgcn : %(startfile_gcn) ; \
+ mogc|mvgc|mgcbios : %(startfile_ogc) ; \
+ mrvl : %(startfile_ogc) ; \
+ mads : %(startfile_ads) ; \
myellowknife : %(startfile_yellowknife) ; \
mmvme : %(startfile_mvme) ; \
msim : %(startfile_sim) ; \
@@ -772,7 +783,8 @@
/* Override svr4.h definition. */
#undef LIB_SPEC
#define LIB_SPEC "\
-%{mads : %(lib_ads) ; \
+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \
+ mads : %(lib_ads) ; \
myellowknife : %(lib_yellowknife) ; \
mmvme : %(lib_mvme) ; \
msim : %(lib_sim) ; \
@@ -783,12 +795,13 @@
mcall-openbsd: %(lib_openbsd) ; \
: %(lib_default) }"
-#define LIB_DEFAULT_SPEC "-lc"
+#define LIB_DEFAULT_SPEC "--start-group -lsysbase -lc --end-group"
/* Override svr4.h definition. */
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "\
-%{mads : %(endfile_ads) ; \
+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \
+ mads : %(endfile_ads) ; \
myellowknife : %(endfile_yellowknife) ; \
mmvme : %(endfile_mvme) ; \
msim : %(endfile_sim) ; \
@@ -805,16 +818,27 @@
/* Motorola ADS support. */
#define LIB_ADS_SPEC "--start-group -lads -lc --end-group"
+#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group"
#define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"
+#define STARTFILE_OGC_SPEC "ecrti.o%s crtbegin.o%s crtmain.o%s"
#define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s"
+#define ENDFILE_OGC_SPEC "crtend.o%s ecrtn.o%s"
#define LINK_START_ADS_SPEC "-T ads.ld%s"
+#define LINK_START_OGC_SPEC "-T ogc.ld%s"
+#define LINK_START_RVL_SPEC "-T rvl.ld%s"
+#define LINK_START_VGC_SPEC "-T vgcogc.ld%s"
+#define LINK_START_GCB_SPEC "-T gcbogc.ld%s"
#define LINK_OS_ADS_SPEC ""
+#define LINK_OS_OGC_SPEC "--gc-sections"
#define CPP_OS_ADS_SPEC ""
+#define CPP_OS_GCN_SPEC "-D__gamecube__ -ffunction-sections -fdata-sections"
+#define CPP_OS_OGC_SPEC "-D__gamecube__ -DHW_DOL -ffunction-sections -fdata-sections"
+#define CPP_OS_RVL_SPEC "-D__wii__ -DHW_RVL -ffunction-sections -fdata-sections"
/* Motorola Yellowknife support. */
#define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group"
@@ -1007,6 +1031,7 @@
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
{ "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \
+ { "lib_ogc", LIB_OGC_SPEC }, \
{ "lib_ads", LIB_ADS_SPEC }, \
{ "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \
{ "lib_mvme", LIB_MVME_SPEC }, \
@@ -1017,6 +1042,7 @@
{ "lib_netbsd", LIB_NETBSD_SPEC }, \
{ "lib_openbsd", LIB_OPENBSD_SPEC }, \
{ "lib_default", LIB_DEFAULT_SPEC }, \
+ { "startfile_ogc", STARTFILE_OGC_SPEC }, \
{ "startfile_ads", STARTFILE_ADS_SPEC }, \
{ "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \
{ "startfile_mvme", STARTFILE_MVME_SPEC }, \
@@ -1027,6 +1053,7 @@
{ "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \
{ "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \
{ "startfile_default", STARTFILE_DEFAULT_SPEC }, \
+ { "endfile_ogc", ENDFILE_OGC_SPEC }, \
{ "endfile_ads", ENDFILE_ADS_SPEC }, \
{ "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \
{ "endfile_mvme", ENDFILE_MVME_SPEC }, \
@@ -1041,7 +1068,11 @@
{ "link_shlib", LINK_SHLIB_SPEC }, \
{ "link_target", LINK_TARGET_SPEC }, \
{ "link_start", LINK_START_SPEC }, \
+ { "link_start_vgc", LINK_START_VGC_SPEC }, \
+ { "link_start_gcb", LINK_START_GCB_SPEC }, \
+ { "link_start_rvl", LINK_START_RVL_SPEC }, \
{ "link_start_ads", LINK_START_ADS_SPEC }, \
+ { "link_start_ogc", LINK_START_OGC_SPEC }, \
{ "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \
{ "link_start_mvme", LINK_START_MVME_SPEC }, \
{ "link_start_sim", LINK_START_SIM_SPEC }, \
@@ -1052,6 +1083,7 @@
{ "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \
{ "link_start_default", LINK_START_DEFAULT_SPEC }, \
{ "link_os", LINK_OS_SPEC }, \
+ { "link_os_ogc", LINK_OS_OGC_SPEC }, \
{ "link_os_ads", LINK_OS_ADS_SPEC }, \
{ "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \
{ "link_os_mvme", LINK_OS_MVME_SPEC }, \
@@ -1066,6 +1098,9 @@
{ "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \
{ "cc1_endian_default", CC1_ENDIAN_DEFAULT_SPEC }, \
{ "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \
+ { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \
+ { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \
+ { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \
{ "cpp_os_ads", CPP_OS_ADS_SPEC }, \
{ "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \
{ "cpp_os_mvme", CPP_OS_MVME_SPEC }, \
diff -Nbaur gcc-4.4.2/gcc/config/rs6000/sysv4.opt gcc-4.4.2-ppc/gcc/config/rs6000/sysv4.opt
--- gcc-4.4.2/gcc/config/rs6000/sysv4.opt 2009-02-20 15:20:38.000000000 +0000
+++ gcc-4.4.2-ppc/gcc/config/rs6000/sysv4.opt 2009-10-20 09:10:22.000000000 +0100
@@ -107,6 +107,26 @@
Target RejectNegative
Link with libads.a, libc.a and crt0.o
+mgcn
+Target RejectNegative
+Link with libsysbase.a and libc.a, use ogc linker script
+
+mogc
+Target RejectNegative
+Link with libsysbase.a and libc.a, use ogc linker script
+
+mgcbios
+Target RejectNegative
+Link with libsysbase.a and libc.a, use gcbogc linker script
+
+mvgc
+Target RejectNegative
+Link with libsysbase.a and libc.a, use gcbogc linker script
+
+mrvl
+Target RejectNegative
+Link with libsysbase.a and libc.a, use rvl linker script
+
myellowknife
Target RejectNegative
Link with libyk.a, libc.a and crt0.o
diff -Nbaur gcc-4.4.2/gcc/gcc.c gcc-4.4.2-ppc/gcc/gcc.c
--- gcc-4.4.2/gcc/gcc.c 2009-03-17 21:25:59.000000000 +0000
+++ gcc-4.4.2-ppc/gcc/gcc.c 2009-10-20 09:10:23.000000000 +0100
@@ -698,7 +698,7 @@
-lgcc and -lc order specially, yet not require them to override all
of LINK_COMMAND_SPEC. */
#ifndef LINK_GCC_C_SEQUENCE_SPEC
-#define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G"
+#define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G -lm"
#endif
#ifndef LINK_SSP_SPEC
@@ -3455,8 +3455,6 @@
gcc_libexec_prefix = make_relative_prefix (argv[0],
standard_bindir_prefix,
standard_libexec_prefix);
- if (gcc_exec_prefix)
- xputenv (concat ("GCC_EXEC_PREFIX=", gcc_exec_prefix, NULL));
}
else
{
@@ -6361,10 +6359,18 @@
/* We need to check standard_exec_prefix/just_machine_suffix/specs
for any override of as, ld and libraries. */
- specs_file = (char *) alloca (strlen (standard_exec_prefix)
+ if ( gcc_exec_prefix )
+ {
+ specs_file = alloca (strlen (gcc_exec_prefix)
+ strlen (just_machine_suffix) + sizeof ("specs"));
+ strcpy (specs_file, gcc_exec_prefix);
+ } else {
+
+ specs_file = (char *) alloca (strlen (standard_exec_prefix)
+ + strlen (just_machine_suffix) + sizeof ("specs"));
strcpy (specs_file, standard_exec_prefix);
+ }
strcat (specs_file, just_machine_suffix);
strcat (specs_file, "specs");
if (access (specs_file, R_OK) == 0)
diff -Nbaur gcc-4.4.2/gcc/prefix.c gcc-4.4.2-ppc/gcc/prefix.c
--- gcc-4.4.2/gcc/prefix.c 2007-09-03 18:09:20.000000000 +0100
+++ gcc-4.4.2-ppc/gcc/prefix.c 2009-10-20 09:10:23.000000000 +0100
@@ -245,13 +245,16 @@
The returned string is always malloc-ed, and the caller is
responsible for freeing it. */
+
+static const char *old_prefix = PREFIX;
+
char *
update_path (const char *path, const char *key)
{
char *result, *p;
- const int len = strlen (std_prefix);
+ const int len = strlen (old_prefix);
- if (! strncmp (path, std_prefix, len)
+ if (! strncmp (path, old_prefix, len)
&& (IS_DIR_SEPARATOR(path[len])
|| path[len] == '\0')
&& key != 0)
@@ -353,4 +356,6 @@
set_std_prefix (const char *prefix, int len)
{
std_prefix = save_string (prefix, len);
+
+ putenv (concat ("GCC_EXEC_PREFIX=", std_prefix, NULL));
}
diff -Nbaur gcc-4.4.2/gcc/toplev.c gcc-4.4.2-ppc/gcc/toplev.c
--- gcc-4.4.2/gcc/toplev.c 2009-04-29 05:57:17.000000000 +0100
+++ gcc-4.4.2-ppc/gcc/toplev.c 2009-10-20 09:10:23.000000000 +0100
@@ -84,6 +84,7 @@
#include "tree-mudflap.h"
#include "tree-pass.h"
#include "gimple.h"
+#include "prefix.h"
#if defined (DWARF2_UNWIND_INFO) || defined (DWARF2_DEBUGGING_INFO)
#include "dwarf2out.h"
@@ -1557,6 +1558,10 @@
xmalloc_set_program_name (progname);
+ p = getenv("GCC_EXEC_PREFIX");
+ if (p && strlen(p)) set_std_prefix (p, strlen(p));
+
+
hex_init ();
/* Unlock the stdio streams. */
diff -Nbaur gcc-4.4.2/libcpp/Makefile.in gcc-4.4.2-ppc/libcpp/Makefile.in
--- gcc-4.4.2/libcpp/Makefile.in 2009-10-15 08:55:16.000000000 +0100
+++ gcc-4.4.2-ppc/libcpp/Makefile.in 2009-10-20 09:10:23.000000000 +0100
@@ -201,8 +201,7 @@
# Note that we put the dependencies into a .Tpo file, then move them
# into place if the compile succeeds. We need this because gcc does
# not atomically write the dependency output file.
-COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Tpo
-POSTCOMPILE = @mv $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+COMPILE = $(COMPILE.base) -o $@
else
COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
$(depcomp) $(COMPILE.base)

View File

@ -1,32 +1,25 @@
diff -Nbaur gcc-4.5.0/gcc/config/rs6000/rs6000.h gcc-4.5.0-ppc/gcc/config/rs6000/rs6000.h
--- gcc-4.5.0/gcc/config/rs6000/rs6000.h 2009-12-07 15:34:21.000000000 +0000
+++ gcc-4.5.0-ppc/gcc/config/rs6000/rs6000.h 2010-06-06 23:36:14.000000000 +0100
@@ -193,17 +193,17 @@
diff -Nbaur gcc-4.4.4/gcc/config/rs6000/rs6000.h gcc-4.4.4-ppc/gcc/config/rs6000/rs6000.h
--- gcc-4.4.4/gcc/config/rs6000/rs6000.h 2009-04-10 00:23:07.000000000 +0100
+++ gcc-4.4.4-ppc/gcc/config/rs6000/rs6000.h 2010-07-01 01:34:08.000000000 +0100
@@ -175,6 +175,7 @@
{ "asm_cpu_power7", ASM_CPU_POWER7_SPEC }, \
SUBTARGET_EXTRA_SPECS
+#if 0
/* -mcpu=native handling only makes sense with compiler running on
an PowerPC chip. If changing this condition, also change
the condition in driver-rs6000.c. */
-#if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX)
+//#if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX)
/* In driver-rs6000.c. */
-extern const char *host_detect_local_cpu (int argc, const char **argv);
+/*extern const char *host_detect_local_cpu (int argc, const char **argv);
#define EXTRA_SPEC_FUNCTIONS \
@@ -185,6 +186,7 @@
{ "local_cpu_detect", host_detect_local_cpu },
#define HAVE_LOCAL_CPU_DETECT
#define ASM_CPU_NATIVE_SPEC "%:local_cpu_detect(asm)"
-
-#else
+*/
+//#else
#define ASM_CPU_NATIVE_SPEC "%(asm_default)"
-#endif
+//#endif
#endif
+#endif
#ifndef CC1_CPU_SPEC
#ifdef HAVE_LOCAL_CPU_DETECT
diff -Nbaur gcc-4.5.0/gcc/config/rs6000/sysv4.h gcc-4.5.0-ppc/gcc/config/rs6000/sysv4.h
--- gcc-4.5.0/gcc/config/rs6000/sysv4.h 2009-11-25 20:23:20.000000000 +0000
+++ gcc-4.5.0-ppc/gcc/config/rs6000/sysv4.h 2010-06-06 22:26:44.000000000 +0100
diff -Nbaur gcc-4.4.4/gcc/config/rs6000/sysv4.h gcc-4.4.4-ppc/gcc/config/rs6000/sysv4.h
--- gcc-4.4.4/gcc/config/rs6000/sysv4.h 2009-04-10 00:23:07.000000000 +0100
+++ gcc-4.4.4-ppc/gcc/config/rs6000/sysv4.h 2010-07-01 01:30:17.000000000 +0100
@@ -664,7 +664,11 @@
/* Default starting address if specified. */
@ -182,10 +175,10 @@ diff -Nbaur gcc-4.5.0/gcc/config/rs6000/sysv4.h gcc-4.5.0-ppc/gcc/config/rs6000/
{ "cpp_os_ads", CPP_OS_ADS_SPEC }, \
{ "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \
{ "cpp_os_mvme", CPP_OS_MVME_SPEC }, \
diff -Nbaur gcc-4.5.0/gcc/config/rs6000/sysv4.opt gcc-4.5.0-ppc/gcc/config/rs6000/sysv4.opt
--- gcc-4.5.0/gcc/config/rs6000/sysv4.opt 2009-11-25 20:23:20.000000000 +0000
+++ gcc-4.5.0-ppc/gcc/config/rs6000/sysv4.opt 2010-06-06 22:26:44.000000000 +0100
@@ -108,6 +108,26 @@
diff -Nbaur gcc-4.4.4/gcc/config/rs6000/sysv4.opt gcc-4.4.4-ppc/gcc/config/rs6000/sysv4.opt
--- gcc-4.4.4/gcc/config/rs6000/sysv4.opt 2009-02-20 15:20:38.000000000 +0000
+++ gcc-4.4.4-ppc/gcc/config/rs6000/sysv4.opt 2010-07-01 01:30:17.000000000 +0100
@@ -107,6 +107,26 @@
Target RejectNegative
Link with libads.a, libc.a and crt0.o
@ -212,10 +205,10 @@ diff -Nbaur gcc-4.5.0/gcc/config/rs6000/sysv4.opt gcc-4.5.0-ppc/gcc/config/rs600
myellowknife
Target RejectNegative
Link with libyk.a, libc.a and crt0.o
diff -Nbaur gcc-4.5.0/libcpp/Makefile.in gcc-4.5.0-ppc/libcpp/Makefile.in
--- gcc-4.5.0/libcpp/Makefile.in 2010-04-14 10:30:07.000000000 +0100
+++ gcc-4.5.0-ppc/libcpp/Makefile.in 2010-06-06 22:26:44.000000000 +0100
@@ -212,8 +212,7 @@
diff -Nbaur gcc-4.4.4/libcpp/Makefile.in gcc-4.4.4-ppc/libcpp/Makefile.in
--- gcc-4.4.4/libcpp/Makefile.in 2010-04-29 09:26:54.000000000 +0100
+++ gcc-4.4.4-ppc/libcpp/Makefile.in 2010-07-01 01:30:17.000000000 +0100
@@ -201,8 +201,7 @@
# Note that we put the dependencies into a .Tpo file, then move them
# into place if the compile succeeds. We need this because gcc does
# not atomically write the dependency output file.