mirror of
https://github.com/devkitPro/buildscripts.git
synced 2026-08-20 17:34:25 -05:00
Compare commits
5 Commits
devkitARM_
...
devkitPPC_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d2614153c5 | ||
|
|
37b381ea1f | ||
|
|
a6c67408af | ||
|
|
bd5c0ba3ec | ||
|
|
41b418fd8c |
@@ -46,8 +46,9 @@ DFU_UTIL_VER=0.9.1
|
||||
STLINK_VER=1.2.3
|
||||
|
||||
GAMECUBE_TOOLS_VER=1.0.2
|
||||
LIBOGC_VER=1.8.20
|
||||
LIBOGC_VER=1.8.21
|
||||
WIILOAD_VER=0.5.1
|
||||
DKPPC_RULES_VER=1.0.0
|
||||
|
||||
LIBCTRU_VER=1.5.0
|
||||
CITRO3D_VER=1.4.0
|
||||
@@ -234,7 +235,7 @@ if [ $VERSION -eq 2 ]; then
|
||||
|
||||
hostarchives="gamecube-tools-$GAMECUBE_TOOLS_VER.tar.bz2 wiiload-$WIILOAD_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2"
|
||||
|
||||
archives="binutils-${MN_BINUTILS_VER}.tar.bz2 $archives"
|
||||
archives="binutils-${MN_BINUTILS_VER}.tar.bz2 devkitppc-rules-$DKPPC_RULES_VER.tar.xz $archives"
|
||||
fi
|
||||
|
||||
if [ $VERSION -eq 3 ]; then
|
||||
@@ -305,6 +306,8 @@ if [ "$BUILD_DKPRO_SKIP_LIBRARIES" != "1" ] && [ -f $scriptdir/build-libs.sh ];
|
||||
. $scriptdir/build-libs.sh || { echo "Error building libraries"; exit 1; }; cd $BUILDSCRIPTDIR;
|
||||
fi
|
||||
|
||||
cd $BUILDSCRIPTDIR
|
||||
|
||||
if [ ! -z $CROSSBUILD ] && grep -q "mingw" <<<"$CROSSBUILD" ; then
|
||||
cp -v $CROSSBINPATH//libwinpthread-1.dll $prefix/bin
|
||||
fi
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
export CROSSBUILD=i686-w64-mingw32
|
||||
export CROSSLIBPATH=/opt/mingw32/mingw/lib
|
||||
export CROSSBINPATH=/opt/mingw32/mingw/bin
|
||||
export CROSSPATH=/opt/mingw32/mingw
|
||||
export CROSSLIBPATH=$CROSSPATH/lib
|
||||
export CROSSBINPATH=$CROSSPATH/bin
|
||||
export PATH=/opt/mingw32/bin:$PATH
|
||||
|
||||
|
||||
@@ -1,257 +0,0 @@
|
||||
/*
|
||||
* Linkscript for Wii U
|
||||
*/
|
||||
|
||||
OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc");
|
||||
OUTPUT_ARCH(powerpc:common);
|
||||
EXTERN(_start);
|
||||
ENTRY(_start);
|
||||
|
||||
PHDRS
|
||||
{
|
||||
stub PT_LOAD FLAGS(5);
|
||||
text PT_LOAD FLAGS(5);
|
||||
data PT_LOAD FLAGS(6);
|
||||
bss1 PT_LOAD;
|
||||
bss2 PT_LOAD;
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
/* default base address */
|
||||
/* use -Wl,--section-start,.init=0xADDRESS to change */
|
||||
. = 0x00802000;
|
||||
|
||||
/* Program */
|
||||
.init :
|
||||
{
|
||||
KEEP (*crt0.o(*.init))
|
||||
KEEP (*(.init))
|
||||
} :text = 0
|
||||
.plt : { *(.plt) }
|
||||
.interp : { *(.interp) }
|
||||
.hash : { *(.hash) }
|
||||
.dynsym : { *(.dynsym) }
|
||||
.dynstr : { *(.dynstr) }
|
||||
.gnu.version : { *(.gnu.version) }
|
||||
.gnu.version_d : { *(.gnu.version_d) }
|
||||
.gnu.version_r : { *(.gnu.version_r) }
|
||||
.rel.init : { *(.rel.init) }
|
||||
.rela.init : { *(.rela.init) }
|
||||
.rel.text : { *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) }
|
||||
.rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
|
||||
.rel.fini : { *(.rel.fini) }
|
||||
.rela.fini : { *(.rela.fini) }
|
||||
.rel.rodata : { *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) }
|
||||
.rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
|
||||
.rel.data : { *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) }
|
||||
.rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
|
||||
.rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
|
||||
.rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
|
||||
.rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
|
||||
.rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
|
||||
.rel.ctors : { *(.rel.ctors) }
|
||||
.rela.ctors : { *(.rela.ctors) }
|
||||
.rel.dtors : { *(.rel.dtors) }
|
||||
.rela.dtors : { *(.rela.dtors) }
|
||||
.rel.got : { *(.rel.got) }
|
||||
.rela.got : { *(.rela.got) }
|
||||
.rela.got1 : { *(.rela.got1) }
|
||||
.rela.got2 : { *(.rela.got2) }
|
||||
.rel.sdata : { *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*) }
|
||||
.rela.sdata : { *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) }
|
||||
.rel.sbss : { *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*) }
|
||||
.rela.sbss : { *(.rela.sbss .rela.sbss.* .rel.gnu.linkonce.sb.*) }
|
||||
.rel.sdata2 : { *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*) }
|
||||
.rela.sdata2 : { *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) }
|
||||
.rel.sbss2 : { *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*) }
|
||||
.rela.sbss2 : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) }
|
||||
.rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) }
|
||||
.rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
|
||||
.rel.plt : { *(.rel.plt) }
|
||||
.rela.plt : { *(.rela.plt) }
|
||||
|
||||
.text :
|
||||
{
|
||||
*(.text)
|
||||
*(.text.*)
|
||||
/* .gnu.warning sections are handled specially by elf32.em. */
|
||||
*(.gnu.warning)
|
||||
*(.gnu.linkonce.t.*)
|
||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
||||
} = 0
|
||||
|
||||
.fini :
|
||||
{
|
||||
KEEP (*(.fini))
|
||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
||||
} = 0
|
||||
|
||||
PROVIDE (__etext = .);
|
||||
PROVIDE (_etext = .);
|
||||
PROVIDE (etext = .);
|
||||
|
||||
.rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } :data
|
||||
.rodata1 : { *(.rodata1) }
|
||||
.sdata2 : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) }
|
||||
.sbss2 : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) }
|
||||
/* Adjust the address for the data segment. We want to adjust up to
|
||||
the same address within the page on the next page up. */
|
||||
/* Ensure the __preinit_array_start label is properly aligned. We
|
||||
could instead move the label definition inside the section, but
|
||||
the linker would then create the section even if it turns out to
|
||||
be empty, which isn't pretty. */
|
||||
. = ALIGN(32 / 8);
|
||||
PROVIDE (__preinit_array_start = .);
|
||||
.preinit_array : { *(.preinit_array) }
|
||||
PROVIDE (__preinit_array_end = .);
|
||||
PROVIDE (__init_array_start = .);
|
||||
.init_array : { *(.init_array) }
|
||||
PROVIDE (__init_array_end = .);
|
||||
PROVIDE (__fini_array_start = .);
|
||||
.fini_array : { *(.fini_array) }
|
||||
PROVIDE (__fini_array_end = .);
|
||||
.data :
|
||||
{
|
||||
*(.data)
|
||||
*(.data.*)
|
||||
*(.gnu.linkonce.d.*)
|
||||
SORT(CONSTRUCTORS)
|
||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
||||
}
|
||||
|
||||
.data1 : { *(.data1) }
|
||||
.tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
|
||||
.tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
|
||||
.eh_frame : { KEEP (*(.eh_frame)) }
|
||||
.gcc_except_table : { *(.gcc_except_table) }
|
||||
.fixup : { *(.fixup) }
|
||||
.got1 : { *(.got1) }
|
||||
.got2 : { *(.got2) }
|
||||
.dynamic : { *(.dynamic) }
|
||||
|
||||
.ctors :
|
||||
{
|
||||
/* gcc uses crtbegin.o to find the start of
|
||||
the constructors, so we make sure it is
|
||||
first. Because this is a wildcard, it
|
||||
doesn't matter if the user does not
|
||||
actually link against crtbegin.o; the
|
||||
linker won't look for a file to match a
|
||||
wildcard. The wildcard also means that it
|
||||
doesn't matter which directory crtbegin.o
|
||||
is in. */
|
||||
|
||||
KEEP (*crtbegin.o(.ctors))
|
||||
|
||||
/* We don't want to include the .ctor section from
|
||||
from the crtend.o file until after the sorted ctors.
|
||||
The .ctor section from the crtend file contains the
|
||||
end of ctors marker and it must be last */
|
||||
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
|
||||
KEEP (*(SORT(.ctors.*)))
|
||||
KEEP (*(.ctors))
|
||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
||||
}
|
||||
|
||||
.dtors :
|
||||
{
|
||||
KEEP (*crtbegin.o(.dtors))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
|
||||
KEEP (*(SORT(.dtors.*)))
|
||||
KEEP (*(.dtors))
|
||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
||||
}
|
||||
|
||||
.jcr : { KEEP (*(.jcr)) }
|
||||
.got : { *(.got.plt) *(.got) }
|
||||
|
||||
|
||||
/* We want the small data sections together, so single-instruction offsets
|
||||
can access them all, and initialized data all before uninitialized, so
|
||||
we can shorten the on-disk segment size. */
|
||||
|
||||
.sdata :
|
||||
{
|
||||
*(.sdata)
|
||||
*(.sdata.*)
|
||||
*(.gnu.linkonce.s.*)
|
||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
||||
}
|
||||
|
||||
_edata = .;
|
||||
PROVIDE (edata = .);
|
||||
|
||||
.sbss :
|
||||
{
|
||||
__sbss_start = .;
|
||||
PROVIDE (__sbss_start = .);
|
||||
PROVIDE (___sbss_start = .);
|
||||
*(.dynsbss)
|
||||
*(.sbss)
|
||||
*(.sbss.*)
|
||||
*(.gnu.linkonce.sb.*)
|
||||
*(.scommon)
|
||||
PROVIDE (__sbss_end = .);
|
||||
PROVIDE (___sbss_end = .);
|
||||
. = ALIGN(32); /* REQUIRED. LD is flaky without it. */
|
||||
__sbss_end = .;
|
||||
} :bss1
|
||||
|
||||
.bss :
|
||||
{
|
||||
__bss_start = .;
|
||||
PROVIDE (__bss_start = .);
|
||||
*(.dynbss)
|
||||
*(.bss)
|
||||
*(.bss.*)
|
||||
*(.gnu.linkonce.b.*)
|
||||
*(COMMON)
|
||||
/* Align here to ensure that the .bss section occupies space up to
|
||||
_end. Align after .bss to ensure correct alignment even if the
|
||||
.bss section disappears because there are no input sections. */
|
||||
|
||||
. = ALIGN(32);
|
||||
|
||||
PROVIDE (__bss_end = .);
|
||||
__bss_end = .;
|
||||
} :bss2
|
||||
|
||||
_end = .;
|
||||
PROVIDE(end = .);
|
||||
/* Stabs debugging sections. */
|
||||
.stab 0 : { *(.stab) }
|
||||
.stabstr 0 : { *(.stabstr) }
|
||||
.stab.excl 0 : { *(.stab.excl) }
|
||||
.stab.exclstr 0 : { *(.stab.exclstr) }
|
||||
.stab.index 0 : { *(.stab.index) }
|
||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
||||
.comment 0 : { *(.comment) }
|
||||
/* DWARF debug sections.
|
||||
Symbols in the DWARF debugging sections are relative to the beginning
|
||||
of the section so we begin them at 0. */
|
||||
/* DWARF 1 */
|
||||
.debug 0 : { *(.debug) }
|
||||
.line 0 : { *(.line) }
|
||||
/* GNU DWARF 1 extensions */
|
||||
.debug_srcinfo 0 : { *(.debug_srcinfo) }
|
||||
.debug_sfnames 0 : { *(.debug_sfnames) }
|
||||
/* DWARF 1.1 and DWARF 2 */
|
||||
.debug_aranges 0 : { *(.debug_aranges) }
|
||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||
/* DWARF 2 */
|
||||
.debug_info 0 : { *(.debug_info) }
|
||||
.debug_abbrev 0 : { *(.debug_abbrev) }
|
||||
.debug_line 0 : { *(.debug_line) }
|
||||
.debug_frame 0 : { *(.debug_frame) }
|
||||
.debug_str 0 : { *(.debug_str) }
|
||||
.debug_loc 0 : { *(.debug_loc) }
|
||||
.debug_macinfo 0 : { *(.debug_macinfo) }
|
||||
/* SGI/MIPS DWARF 2 extensions */
|
||||
.debug_weaknames 0 : { *(.debug_weaknames) }
|
||||
.debug_funcnames 0 : { *(.debug_funcnames) }
|
||||
.debug_typenames 0 : { *(.debug_typenames) }
|
||||
.debug_varnames 0 : { *(.debug_varnames) }
|
||||
/* These must appear regardless of . */
|
||||
}
|
||||
@@ -58,10 +58,10 @@ index b83b304e3eb..b85359edcfc 100644
|
||||
#ifndef CC1_CPU_SPEC
|
||||
#ifdef HAVE_LOCAL_CPU_DETECT
|
||||
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
|
||||
index bb19d0dcd41..ff5f80b7298 100644
|
||||
index bb19d0dcd41..74d1e474432 100644
|
||||
--- a/gcc/config/rs6000/sysv4.h
|
||||
+++ b/gcc/config/rs6000/sysv4.h
|
||||
@@ -565,7 +565,12 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
@@ -565,7 +565,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
|
||||
/* Default starting address if specified. */
|
||||
#define LINK_START_SPEC "\
|
||||
@@ -70,23 +70,21 @@ index bb19d0dcd41..ff5f80b7298 100644
|
||||
+ mvgc : %(link_start_vgc) ; \
|
||||
+ mgcbios : %(link_start_gcb) ; \
|
||||
+ mrvl : %(link_start_rvl) ; \
|
||||
+ mwup : %(link_start_wup) ; \
|
||||
+ mads : %(link_start_ads) ; \
|
||||
myellowknife : %(link_start_yellowknife) ; \
|
||||
mmvme : %(link_start_mvme) ; \
|
||||
msim : %(link_start_sim) ; \
|
||||
@@ -596,7 +601,9 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
@@ -596,7 +600,8 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
|
||||
/* Any specific OS flags. */
|
||||
#define LINK_OS_SPEC "\
|
||||
-%{mads : %(link_os_ads) ; \
|
||||
+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(link_os_ogc) ; \
|
||||
+ mwup : %(link_os_wup) ; \
|
||||
+ mads : %(link_os_ads) ; \
|
||||
myellowknife : %(link_os_yellowknife) ; \
|
||||
mmvme : %(link_os_mvme) ; \
|
||||
msim : %(link_os_sim) ; \
|
||||
@@ -614,7 +621,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
@@ -614,7 +619,10 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
/* Override rs6000.h definition. */
|
||||
#undef CPP_SPEC
|
||||
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \
|
||||
@@ -94,12 +92,11 @@ index bb19d0dcd41..ff5f80b7298 100644
|
||||
+%{mgcn : %(cpp_os_gcn) ; \
|
||||
+ mogc|mvgc|mgcbios : %(cpp_os_ogc) ; \
|
||||
+ mrvl : %(cpp_os_rvl) ; \
|
||||
+ mwup : %(cpp_os_wup) ; \
|
||||
+ mads : %(cpp_os_ads) ; \
|
||||
myellowknife : %(cpp_os_yellowknife) ; \
|
||||
mmvme : %(cpp_os_mvme) ; \
|
||||
msim : %(cpp_os_sim) ; \
|
||||
@@ -628,7 +639,11 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
@@ -628,7 +636,10 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC "\
|
||||
@@ -107,23 +104,21 @@ index bb19d0dcd41..ff5f80b7298 100644
|
||||
+%{mgcn : %(startfile_gcn) ; \
|
||||
+ mogc|mvgc|mgcbios : %(startfile_ogc) ; \
|
||||
+ mrvl : %(startfile_ogc) ; \
|
||||
+ mwup : %(startfile_wup) ; \
|
||||
+ mads : %(startfile_ads) ; \
|
||||
myellowknife : %(startfile_yellowknife) ; \
|
||||
mmvme : %(startfile_mvme) ; \
|
||||
msim : %(startfile_sim) ; \
|
||||
@@ -642,7 +657,9 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
@@ -642,7 +653,8 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
|
||||
#undef LIB_SPEC
|
||||
#define LIB_SPEC "\
|
||||
-%{mads : %(lib_ads) ; \
|
||||
+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(lib_ogc) ; \
|
||||
+ mwup : %(lib_wup) ; \
|
||||
+ mads : %(lib_ads) ; \
|
||||
myellowknife : %(lib_yellowknife) ; \
|
||||
mmvme : %(lib_mvme) ; \
|
||||
msim : %(lib_sim) ; \
|
||||
@@ -652,11 +669,13 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
@@ -652,11 +664,12 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
mcall-openbsd: %(lib_openbsd) ; \
|
||||
: %(lib_default) }"
|
||||
|
||||
@@ -134,110 +129,97 @@ index bb19d0dcd41..ff5f80b7298 100644
|
||||
#define ENDFILE_SPEC "\
|
||||
-%{mads : %(endfile_ads) ; \
|
||||
+%{mgcn|mogc|mvgc|mgcbios|mrvl : %(endfile_ogc) ; \
|
||||
+ mwup : %(endfile_wup) ; \
|
||||
+ mads : %(endfile_ads) ; \
|
||||
myellowknife : %(endfile_yellowknife) ; \
|
||||
mmvme : %(endfile_mvme) ; \
|
||||
msim : %(endfile_sim) ; \
|
||||
@@ -672,16 +691,33 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
@@ -672,16 +685,27 @@ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN)
|
||||
|
||||
/* Motorola ADS support. */
|
||||
#define LIB_ADS_SPEC "--start-group -lads -lc --end-group"
|
||||
+#define LIB_OGC_SPEC "--start-group -lsysbase -lc --end-group"
|
||||
+#define LIB_WUP_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 STARTFILE_WUP_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 ENDFILE_WUP_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_WUP_SPEC "-T wup.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 LINK_OS_WUP_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"
|
||||
+#define CPP_OS_WUP_SPEC "-D__wiiu__ -DHW_WUP -ffunction-sections -fdata-sections"
|
||||
|
||||
/* Motorola Yellowknife support. */
|
||||
#define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group"
|
||||
@@ -882,6 +918,8 @@ ncrtn.o%s"
|
||||
@@ -882,6 +906,7 @@ ncrtn.o%s"
|
||||
#undef SUBTARGET_EXTRA_SPECS
|
||||
#define SUBTARGET_EXTRA_SPECS \
|
||||
{ "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \
|
||||
+ { "lib_ogc", LIB_OGC_SPEC }, \
|
||||
+ { "lib_wup", LIB_WUP_SPEC }, \
|
||||
{ "lib_ads", LIB_ADS_SPEC }, \
|
||||
{ "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \
|
||||
{ "lib_mvme", LIB_MVME_SPEC }, \
|
||||
@@ -891,6 +929,8 @@ ncrtn.o%s"
|
||||
@@ -891,6 +916,7 @@ ncrtn.o%s"
|
||||
{ "lib_netbsd", LIB_NETBSD_SPEC }, \
|
||||
{ "lib_openbsd", LIB_OPENBSD_SPEC }, \
|
||||
{ "lib_default", LIB_DEFAULT_SPEC }, \
|
||||
+ { "startfile_ogc", STARTFILE_OGC_SPEC }, \
|
||||
+ { "startfile_wup", STARTFILE_WUP_SPEC }, \
|
||||
{ "startfile_ads", STARTFILE_ADS_SPEC }, \
|
||||
{ "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \
|
||||
{ "startfile_mvme", STARTFILE_MVME_SPEC }, \
|
||||
@@ -900,6 +940,8 @@ ncrtn.o%s"
|
||||
@@ -900,6 +926,7 @@ ncrtn.o%s"
|
||||
{ "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \
|
||||
{ "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \
|
||||
{ "startfile_default", STARTFILE_DEFAULT_SPEC }, \
|
||||
+ { "endfile_ogc", ENDFILE_OGC_SPEC }, \
|
||||
+ { "endfile_wup", ENDFILE_WUP_SPEC }, \
|
||||
{ "endfile_ads", ENDFILE_ADS_SPEC }, \
|
||||
{ "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \
|
||||
{ "endfile_mvme", ENDFILE_MVME_SPEC }, \
|
||||
@@ -911,7 +953,12 @@ ncrtn.o%s"
|
||||
@@ -911,7 +938,11 @@ ncrtn.o%s"
|
||||
{ "endfile_default", ENDFILE_DEFAULT_SPEC }, \
|
||||
{ "link_shlib", LINK_SHLIB_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_wup", LINK_START_WUP_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 }, \
|
||||
@@ -921,6 +968,8 @@ ncrtn.o%s"
|
||||
@@ -921,6 +952,7 @@ ncrtn.o%s"
|
||||
{ "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_wup", LINK_OS_WUP_SPEC }, \
|
||||
{ "link_os_ads", LINK_OS_ADS_SPEC }, \
|
||||
{ "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \
|
||||
{ "link_os_mvme", LINK_OS_MVME_SPEC }, \
|
||||
@@ -932,6 +981,10 @@ ncrtn.o%s"
|
||||
@@ -932,6 +964,9 @@ ncrtn.o%s"
|
||||
{ "link_os_default", LINK_OS_DEFAULT_SPEC }, \
|
||||
{ "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \
|
||||
{ "link_secure_plt", LINK_SECURE_PLT_SPEC }, \
|
||||
+ { "cpp_os_gcn", CPP_OS_GCN_SPEC }, \
|
||||
+ { "cpp_os_ogc", CPP_OS_OGC_SPEC }, \
|
||||
+ { "cpp_os_rvl", CPP_OS_RVL_SPEC }, \
|
||||
+ { "cpp_os_wup", CPP_OS_WUP_SPEC }, \
|
||||
{ "cpp_os_ads", CPP_OS_ADS_SPEC }, \
|
||||
{ "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \
|
||||
{ "cpp_os_mvme", CPP_OS_MVME_SPEC }, \
|
||||
diff --git a/gcc/config/rs6000/sysv4.opt b/gcc/config/rs6000/sysv4.opt
|
||||
index 34fea0ddd08..9451447fde0 100644
|
||||
index 34fea0ddd08..084a8ae435e 100644
|
||||
--- a/gcc/config/rs6000/sysv4.opt
|
||||
+++ b/gcc/config/rs6000/sysv4.opt
|
||||
@@ -124,6 +124,30 @@ mads
|
||||
@@ -124,6 +124,26 @@ mads
|
||||
Target RejectNegative
|
||||
Link with libads.a, libc.a and crt0.o.
|
||||
|
||||
@@ -260,10 +242,6 @@ index 34fea0ddd08..9451447fde0 100644
|
||||
+mrvl
|
||||
+Target RejectNegative
|
||||
+Link with libsysbase.a and libc.a, use rvl linker script
|
||||
+
|
||||
+mwup
|
||||
+Target RejectNegative
|
||||
+Link with libsysbase.a and libc.a, use wup linker script
|
||||
+
|
||||
myellowknife
|
||||
Target RejectNegative
|
||||
|
||||
@@ -7407,10 +7407,10 @@ index eb645868b..b9a006453 100644
|
||||
powerpc*-*-linux* | \
|
||||
powerpc*-*-rtem* | \
|
||||
diff --git a/newlib/libc/include/sys/dirent.h b/newlib/libc/include/sys/dirent.h
|
||||
index a3fb5c02c..b42f0b3b1 100644
|
||||
index a3fb5c02c..adb8e1083 100644
|
||||
--- a/newlib/libc/include/sys/dirent.h
|
||||
+++ b/newlib/libc/include/sys/dirent.h
|
||||
@@ -4,10 +4,56 @@
|
||||
@@ -4,10 +4,57 @@
|
||||
not support <dirent.h>, we will get this file which uses #error to force
|
||||
an error. */
|
||||
|
||||
@@ -7419,6 +7419,7 @@ index a3fb5c02c..b42f0b3b1 100644
|
||||
+
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/syslimits.h>
|
||||
+#include <sys/iosupport.h>
|
||||
+
|
||||
+#define _DIRENT_HAVE_D_TYPE
|
||||
+
|
||||
@@ -7445,7 +7446,7 @@ index a3fb5c02c..b42f0b3b1 100644
|
||||
+
|
||||
+ typedef struct {
|
||||
+ long int position;
|
||||
+ void* dirData;
|
||||
+ DIR_ITER* dirData;
|
||||
+ struct dirent fileData;
|
||||
+ } DIR;
|
||||
+
|
||||
@@ -7484,7 +7485,7 @@ index 2900b332f..6efb54eb3 100644
|
||||
#ifdef __rtems__
|
||||
diff --git a/newlib/libc/include/sys/iosupport.h b/newlib/libc/include/sys/iosupport.h
|
||||
new file mode 100644
|
||||
index 000000000..649fc2630
|
||||
index 000000000..8b6d8da30
|
||||
--- /dev/null
|
||||
+++ b/newlib/libc/include/sys/iosupport.h
|
||||
@@ -0,0 +1,108 @@
|
||||
@@ -7500,7 +7501,7 @@ index 000000000..649fc2630
|
||||
+#include <reent.h>
|
||||
+#include <sys/stat.h>
|
||||
+#include <sys/statvfs.h>
|
||||
+#include <time.h>
|
||||
+#include <sys/time.h>
|
||||
+
|
||||
+enum {
|
||||
+ STD_IN,
|
||||
|
||||
@@ -97,7 +97,7 @@ then
|
||||
--with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \
|
||||
--prefix=$prefix\
|
||||
--with-system-zlib\
|
||||
--with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 33" \
|
||||
--with-bugurl="https://github.com/devkitpro/buildscripts/issues" --with-pkgversion="devkitPPC release 34" \
|
||||
$CROSS_PARAMS \
|
||||
$CROSS_GCC_PARAMS \
|
||||
CFLAGS_FOR_TARGET="-O2 -ffunction-sections -fdata-sections" \
|
||||
@@ -185,10 +185,6 @@ rm -fr $prefix/$target/sys-include
|
||||
|
||||
echo "installing linkscripts ..."
|
||||
cp $BUILDSCRIPTDIR/dkppc/crtls/*.ld $prefix/$target/lib/
|
||||
#---------------------------------------------------------------------------------
|
||||
# copy base rulesets
|
||||
#---------------------------------------------------------------------------------
|
||||
cp $BUILDSCRIPTDIR/dkppc/rules/* $prefix
|
||||
|
||||
cd $BUILDDIR
|
||||
|
||||
|
||||
@@ -3,6 +3,12 @@
|
||||
export DEVKITPPC=$TOOLPATH/devkitPPC
|
||||
export DEVKITPRO=$TOOLPATH
|
||||
|
||||
cd $BUILDDIR
|
||||
mkdir -p rules
|
||||
cd rules
|
||||
tar -xvf $SRCDIR/devkitppc-rules-$DKPPC_RULES_VER.tar.xz
|
||||
make install
|
||||
|
||||
cd $BUILDDIR/libogc-$LIBOGC_VER
|
||||
|
||||
if [ ! -f installed ]; then
|
||||
|
||||
@@ -41,7 +41,7 @@ case "$VERSION" in
|
||||
;;
|
||||
"2" )
|
||||
GCC_VER=8.2.0
|
||||
BINUTILS_VER=2.31.1
|
||||
BINUTILS_VER=2.32
|
||||
MN_BINUTILS_VER=2.17
|
||||
NEWLIB_VER=3.0.0
|
||||
GDB_VER=8.2
|
||||
|
||||
Reference in New Issue
Block a user