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 toolchain=DEVKITARM
;; ;;
"2" ) "2" )
GCC_VER=4.5.0 GCC_VER=4.4.4
BINUTILS_VER=2.20.1 BINUTILS_VER=2.20.1
NEWLIB_VER=1.18.0 NEWLIB_VER=1.18.0
GDB_VER=7.1 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 diff -Nbaur gcc-4.4.4/gcc/config/rs6000/rs6000.h gcc-4.4.4-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.4.4/gcc/config/rs6000/rs6000.h 2009-04-10 00:23:07.000000000 +0100
+++ gcc-4.5.0-ppc/gcc/config/rs6000/rs6000.h 2010-06-06 23:36:14.000000000 +0100 +++ gcc-4.4.4-ppc/gcc/config/rs6000/rs6000.h 2010-07-01 01:34:08.000000000 +0100
@@ -193,17 +193,17 @@ @@ -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 /* -mcpu=native handling only makes sense with compiler running on
an PowerPC chip. If changing this condition, also change an PowerPC chip. If changing this condition, also change
the condition in driver-rs6000.c. */ the condition in driver-rs6000.c. */
-#if defined(__powerpc__) || defined(__POWERPC__) || defined(_AIX) @@ -185,6 +186,7 @@
+//#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 }, { "local_cpu_detect", host_detect_local_cpu },
#define HAVE_LOCAL_CPU_DETECT #define HAVE_LOCAL_CPU_DETECT
#define ASM_CPU_NATIVE_SPEC "%:local_cpu_detect(asm)" #endif
- +#endif
-#else
+*/
+//#else
#define ASM_CPU_NATIVE_SPEC "%(asm_default)"
-#endif
+//#endif
#ifndef CC1_CPU_SPEC #ifndef CC1_CPU_SPEC
#ifdef HAVE_LOCAL_CPU_DETECT #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 diff -Nbaur gcc-4.4.4/gcc/config/rs6000/sysv4.h gcc-4.4.4-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.4.4/gcc/config/rs6000/sysv4.h 2009-04-10 00:23:07.000000000 +0100
+++ gcc-4.5.0-ppc/gcc/config/rs6000/sysv4.h 2010-06-06 22:26:44.000000000 +0100 +++ gcc-4.4.4-ppc/gcc/config/rs6000/sysv4.h 2010-07-01 01:30:17.000000000 +0100
@@ -664,7 +664,11 @@ @@ -664,7 +664,11 @@
/* Default starting address if specified. */ /* 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_ads", CPP_OS_ADS_SPEC }, \
{ "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \
{ "cpp_os_mvme", CPP_OS_MVME_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 diff -Nbaur gcc-4.4.4/gcc/config/rs6000/sysv4.opt gcc-4.4.4-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.4.4/gcc/config/rs6000/sysv4.opt 2009-02-20 15:20:38.000000000 +0000
+++ gcc-4.5.0-ppc/gcc/config/rs6000/sysv4.opt 2010-06-06 22:26:44.000000000 +0100 +++ gcc-4.4.4-ppc/gcc/config/rs6000/sysv4.opt 2010-07-01 01:30:17.000000000 +0100
@@ -108,6 +108,26 @@ @@ -107,6 +107,26 @@
Target RejectNegative Target RejectNegative
Link with libads.a, libc.a and crt0.o 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 myellowknife
Target RejectNegative Target RejectNegative
Link with libyk.a, libc.a and crt0.o 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 diff -Nbaur gcc-4.4.4/libcpp/Makefile.in gcc-4.4.4-ppc/libcpp/Makefile.in
--- gcc-4.5.0/libcpp/Makefile.in 2010-04-14 10:30:07.000000000 +0100 --- gcc-4.4.4/libcpp/Makefile.in 2010-04-29 09:26:54.000000000 +0100
+++ gcc-4.5.0-ppc/libcpp/Makefile.in 2010-06-06 22:26:44.000000000 +0100 +++ gcc-4.4.4-ppc/libcpp/Makefile.in 2010-07-01 01:30:17.000000000 +0100
@@ -212,8 +212,7 @@ @@ -201,8 +201,7 @@
# Note that we put the dependencies into a .Tpo file, then move them # 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 # into place if the compile succeeds. We need this because gcc does
# not atomically write the dependency output file. # not atomically write the dependency output file.