mirror of
https://github.com/devkitPro/buildscripts.git
synced 2026-08-20 17:34:25 -05:00
Compare commits
39 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc708a543c | ||
|
|
9e5843b414 | ||
|
|
811c6a45b4 | ||
|
|
b1e0b0abd8 | ||
|
|
be6c50e32e | ||
|
|
3ef75548cf | ||
|
|
cb663299d1 | ||
|
|
3ba03b29f2 | ||
|
|
64492fe29c | ||
|
|
0026b3450c | ||
|
|
7f9fa7a161 | ||
|
|
cd8a1b3c85 | ||
|
|
ca40deb9ee | ||
|
|
3a2688063a | ||
|
|
4c47502632 | ||
|
|
eb23f198ad | ||
|
|
a1221bad50 | ||
|
|
1b65df77a3 | ||
|
|
e48ba38ce5 | ||
|
|
1d6cd5b344 | ||
|
|
e2d1ec8882 | ||
|
|
25e4deb095 | ||
|
|
ff9b2dd329 | ||
|
|
b6511b156c | ||
|
|
ca6443a27c | ||
|
|
5b1d0458dc | ||
|
|
116ad3bfc4 | ||
|
|
d8e737b988 | ||
|
|
b033aa91b2 | ||
|
|
3f149af10d | ||
|
|
dc93157478 | ||
|
|
a62a3f6379 | ||
|
|
6698343534 | ||
|
|
c8d5125ac3 | ||
|
|
e257f22430 | ||
|
|
3b8d9c702d | ||
|
|
f9dd6655ec | ||
|
|
3fcebd74b2 | ||
|
|
ac39e253ff |
@@ -23,6 +23,8 @@ http://gmplib.org/
|
||||
http://www.mpfr.org/
|
||||
http://www.multiprecision.org/
|
||||
|
||||
sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev
|
||||
|
||||
Some of the tools for devkitARM and devkitPPC also require FreeImage, zlib,
|
||||
and libusb. Again these are built as static libraries for ease of packaging
|
||||
but you can probably use the versions supplied by your distro.
|
||||
@@ -31,7 +33,10 @@ http://freeimage.sourceforge.net/
|
||||
http://www.zlib.net
|
||||
http://www.libusb.org
|
||||
|
||||
sudo apt-get install libfreeimage-dev zlib1g-dev libusb-dev
|
||||
|
||||
Building gxtexconv for cube/wii needs GL/gl.h which can be obtained with
|
||||
|
||||
sudo apt-get install mesa-common-dev
|
||||
|
||||
To avoid having to manually answer prompts during the build the script will
|
||||
@@ -78,7 +83,7 @@ Using devkitPPC
|
||||
|
||||
to use the built in crt0 and linkscript use powerpc-eabi-gcc to link your project,
|
||||
using the command line switch -mgcn for a bare bones system, -mogc to use libogc and
|
||||
the multi-threaded microkernel for gamecube, -mrvl for wii.
|
||||
the multi-threaded microkernel for gamecube, -mrvl for wii, -mwup for wii u.
|
||||
|
||||
Using devkitPSP
|
||||
---------------
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
#!/bin/bash
|
||||
#---------------------------------------------------------------------------------
|
||||
# Build scripts for
|
||||
# devkitARM release 45
|
||||
# devkitPPC release 27
|
||||
# devkitPPC release 28
|
||||
# devkitPSP release 17
|
||||
#---------------------------------------------------------------------------------
|
||||
|
||||
@@ -24,7 +23,7 @@ echo "Patches and improvements are of course welcome, please send these to the p
|
||||
echo "https://sourceforge.net/tracker/?group_id=114505&atid=668553"
|
||||
echo
|
||||
|
||||
LIBOGC_VER=1.8.12
|
||||
LIBOGC_VER=1.8.15
|
||||
LIBGBA_VER=20150106
|
||||
LIBNDS_VER=1.5.12
|
||||
LIBCTRU_VER=0.6.0
|
||||
@@ -42,7 +41,7 @@ GRIT_VER=0.8.13
|
||||
NDSTOOL_VER=1.50.3
|
||||
GENERAL_TOOLS_VER=1.0.0
|
||||
DLDITOOL_VER=1.24.0
|
||||
GAMECUBE_TOOLS_VER=1.0.0
|
||||
GAMECUBE_TOOLS_VER=1.0.1
|
||||
WIILOAD_VER=0.5.1
|
||||
MMUTIL_VER=1.8.6
|
||||
DFU_UTIL_VER=0.8.1
|
||||
@@ -56,17 +55,7 @@ function extract_and_patch {
|
||||
#---------------------------------------------------------------------------------
|
||||
if [ ! -f extracted-$1 ]; then
|
||||
echo "extracting $1"
|
||||
if [ $3 == "bz2" ]; then
|
||||
extractflags="-xjf"
|
||||
archivetype=".tar.bz2"
|
||||
elif [ $3 == "gz" ]; then
|
||||
extractflags="-xzf"
|
||||
archivetype=".tar.gz"
|
||||
else
|
||||
echo "invalid archive type"
|
||||
exit 1
|
||||
fi
|
||||
tar $extractflags "$SRCDIR/$1-$2$archivetype" || { echo "Error extracting "$1; exit 1; }
|
||||
tar -xf "$SRCDIR/$1-$2.tar.$3" || { echo "Error extracting "$1; exit 1; }
|
||||
touch extracted-$1
|
||||
fi
|
||||
if [[ ! -f patched-$1 && -f $patchdir/$1-$2.patch ]]; then
|
||||
@@ -170,10 +159,8 @@ PLATFORM=`uname -s`
|
||||
|
||||
case $PLATFORM in
|
||||
Darwin )
|
||||
cflags="-mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
|
||||
ldflags="-mmacosx-version-min=10.4 -arch i386 -arch ppc -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk"
|
||||
export CC=gcc-4.0
|
||||
export CXX=g++-4.0
|
||||
cflags="-mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk -I/usr/local/include"
|
||||
ldflags="-mmacosx-version-min=10.5 -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -L/usr/local/lib"
|
||||
;;
|
||||
MINGW32* )
|
||||
cflags="-D__USE_MINGW_ACCESS"
|
||||
|
||||
@@ -13,8 +13,8 @@ SECTIONS
|
||||
{
|
||||
/* =========== CODE section =========== */
|
||||
|
||||
. = 0x100000;
|
||||
__start__ = . ;
|
||||
PROVIDE(__start__ = 0x100000);
|
||||
. = __start__;
|
||||
|
||||
.text ALIGN(0x1000) :
|
||||
{
|
||||
|
||||
257
dkppc/crtls/wup.ld
Normal file
257
dkppc/crtls/wup.ld
Normal file
@@ -0,0 +1,257 @@
|
||||
/*
|
||||
* 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 . */
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -Nbaur binutils-2.24/opcodes/ppc-opc.c binutils-2.24-ppc/opcodes/ppc-opc.c
|
||||
--- binutils-2.24/opcodes/ppc-opc.c 2013-11-04 15:33:40.000000000 +0000
|
||||
+++ binutils-2.24-ppc/opcodes/ppc-opc.c 2014-04-01 14:22:06.000000000 +0100
|
||||
@@ -2735,7 +2735,7 @@
|
||||
#define MFDEC1 PPC_OPCODE_POWER
|
||||
#define MFDEC2 PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE | PPC_OPCODE_TITAN
|
||||
#define BOOKE PPC_OPCODE_BOOKE
|
||||
-#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS | PPC_OPCODE_VLE
|
||||
+#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS | PPC_OPCODE_VLE
|
||||
#define PPCE300 PPC_OPCODE_E300
|
||||
#define PPCSPE PPC_OPCODE_SPE | PPC_OPCODE_VLE
|
||||
#define PPCISEL PPC_OPCODE_ISEL | PPC_OPCODE_VLE
|
||||
12
dkppc/patches/binutils-2.27.patch
Normal file
12
dkppc/patches/binutils-2.27.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff -Nbaur binutils-2.27/opcodes/ppc-opc.c binutils-2.27-ppc/opcodes/ppc-opc.c
|
||||
--- binutils-2.27/opcodes/ppc-opc.c 2016-08-03 08:36:54.000000000 +0100
|
||||
+++ binutils-2.27-ppc/opcodes/ppc-opc.c 2016-11-08 21:37:45.360000000 +0000
|
||||
@@ -3037,7 +3037,7 @@
|
||||
#define MFDEC1 PPC_OPCODE_POWER
|
||||
#define MFDEC2 PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE | PPC_OPCODE_TITAN
|
||||
#define BOOKE PPC_OPCODE_BOOKE
|
||||
-#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_PPCPS | PPC_OPCODE_EFS
|
||||
+#define NO371 PPC_OPCODE_BOOKE | PPC_OPCODE_EFS
|
||||
#define PPCE300 PPC_OPCODE_E300
|
||||
#define PPCSPE PPC_OPCODE_SPE
|
||||
#define PPCISEL PPC_OPCODE_ISEL
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -Nbaur gcc-4.8.2/gcc/config/rs6000/rs6000.h gcc-4.8.2-ppc/gcc/config/rs6000/rs6000.h
|
||||
--- gcc-4.8.2/gcc/config/rs6000/rs6000.h 2013-06-19 02:18:38.000000000 +0100
|
||||
+++ gcc-4.8.2-ppc/gcc/config/rs6000/rs6000.h 2014-04-01 14:13:11.000000000 +0100
|
||||
@@ -195,6 +195,7 @@
|
||||
diff -NBaur gcc-6.1.0/gcc/config/rs6000/rs6000.h gcc-6.1.0-ppc/gcc/config/rs6000/rs6000.h
|
||||
--- gcc-6.1.0/gcc/config/rs6000/rs6000.h 2016-01-20 20:30:24.000000000 +0000
|
||||
+++ gcc-6.1.0-ppc/gcc/config/rs6000/rs6000.h 2016-05-20 12:10:24.645019640 +0100
|
||||
@@ -205,6 +205,7 @@
|
||||
{ "asm_cpu_476", ASM_CPU_476_SPEC }, \
|
||||
SUBTARGET_EXTRA_SPECS
|
||||
|
||||
@@ -9,42 +9,44 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/rs6000.h gcc-4.8.2-ppc/gcc/config/rs6000
|
||||
/* -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. */
|
||||
@@ -209,6 +210,8 @@
|
||||
@@ -219,6 +220,8 @@
|
||||
#else
|
||||
#define ASM_CPU_NATIVE_SPEC "%(asm_default)"
|
||||
#endif
|
||||
+#endif
|
||||
+#endif
|
||||
+#define ASM_CPU_NATIVE_SPEC "%(asm_default)"
|
||||
|
||||
#ifndef CC1_CPU_SPEC
|
||||
#ifdef HAVE_LOCAL_CPU_DETECT
|
||||
diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/sysv4.h
|
||||
--- gcc-4.8.2/gcc/config/rs6000/sysv4.h 2013-06-19 02:18:38.000000000 +0100
|
||||
+++ gcc-4.8.2-ppc/gcc/config/rs6000/sysv4.h 2014-04-01 14:13:11.000000000 +0100
|
||||
@@ -570,7 +570,11 @@
|
||||
diff -NBaur gcc-6.1.0/gcc/config/rs6000/sysv4.h gcc-6.1.0-ppc/gcc/config/rs6000/sysv4.h
|
||||
--- gcc-6.1.0/gcc/config/rs6000/sysv4.h 2016-01-04 14:30:50.000000000 +0000
|
||||
+++ gcc-6.1.0-ppc/gcc/config/rs6000/sysv4.h 2016-05-20 12:12:27.073019640 +0100
|
||||
@@ -559,7 +559,12 @@
|
||||
|
||||
/* Default starting address if specified. */
|
||||
#define LINK_START_SPEC "\
|
||||
-%{mads : %(link_start_ads) ; \
|
||||
+%{mgcn|mogc : %(link_start_ogc) ; \
|
||||
+%{mgcn|mogc : %(link_start_ogc) ; \
|
||||
+ mvgc : %(link_start_vgc) ; \
|
||||
+ mgcbios : %(link_start_gcb) ; \
|
||||
+ 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) ; \
|
||||
@@ -604,7 +608,8 @@
|
||||
@@ -590,7 +594,9 @@
|
||||
|
||||
/* 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) ; \
|
||||
@@ -622,7 +627,10 @@
|
||||
@@ -608,7 +613,11 @@
|
||||
/* Override rs6000.h definition. */
|
||||
#undef CPP_SPEC
|
||||
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} \
|
||||
@@ -52,11 +54,12 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
|
||||
+%{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) ; \
|
||||
@@ -636,7 +644,10 @@
|
||||
@@ -622,7 +630,11 @@
|
||||
|
||||
#undef STARTFILE_SPEC
|
||||
#define STARTFILE_SPEC "\
|
||||
@@ -64,11 +67,12 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
|
||||
+%{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) ; \
|
||||
@@ -646,11 +657,12 @@
|
||||
@@ -632,11 +643,13 @@
|
||||
mcall-openbsd: %(startfile_openbsd) ; \
|
||||
: %(startfile_default) }"
|
||||
|
||||
@@ -79,11 +83,12 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
|
||||
#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) ; \
|
||||
@@ -660,11 +672,12 @@
|
||||
@@ -646,11 +658,13 @@
|
||||
mcall-openbsd: %(lib_openbsd) ; \
|
||||
: %(lib_default) }"
|
||||
|
||||
@@ -94,98 +99,111 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.h gcc-4.8.2-ppc/gcc/config/rs6000/
|
||||
#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) ; \
|
||||
@@ -680,16 +693,27 @@
|
||||
@@ -666,16 +679,33 @@
|
||||
|
||||
/* 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"
|
||||
@@ -859,6 +883,7 @@
|
||||
@@ -855,6 +879,8 @@
|
||||
#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 }, \
|
||||
@@ -868,6 +893,7 @@
|
||||
@@ -864,6 +889,8 @@
|
||||
{ "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 }, \
|
||||
@@ -877,6 +903,7 @@
|
||||
@@ -873,6 +899,8 @@
|
||||
{ "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 }, \
|
||||
@@ -889,7 +916,11 @@
|
||||
@@ -884,7 +911,12 @@
|
||||
{ "endfile_default", ENDFILE_DEFAULT_SPEC }, \
|
||||
{ "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_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 }, \
|
||||
@@ -899,6 +930,7 @@
|
||||
@@ -894,6 +925,8 @@
|
||||
{ "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 }, \
|
||||
@@ -912,6 +944,9 @@
|
||||
{ "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \
|
||||
{ "cc1_endian_default", CC1_ENDIAN_DEFAULT_SPEC }, \
|
||||
@@ -905,6 +937,10 @@
|
||||
{ "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 -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.opt gcc-4.8.2-ppc/gcc/config/rs6000/sysv4.opt
|
||||
--- gcc-4.8.2/gcc/config/rs6000/sysv4.opt 2013-01-10 20:38:27.000000000 +0000
|
||||
+++ gcc-4.8.2-ppc/gcc/config/rs6000/sysv4.opt 2014-04-01 14:13:11.000000000 +0100
|
||||
@@ -120,6 +120,26 @@
|
||||
diff -NBaur gcc-6.1.0/gcc/config/rs6000/sysv4.opt gcc-6.1.0-ppc/gcc/config/rs6000/sysv4.opt
|
||||
--- gcc-6.1.0/gcc/config/rs6000/sysv4.opt 2016-01-04 14:30:50.000000000 +0000
|
||||
+++ gcc-6.1.0-ppc/gcc/config/rs6000/sysv4.opt 2016-05-20 12:10:24.649019640 +0100
|
||||
@@ -120,6 +120,30 @@
|
||||
Target RejectNegative
|
||||
Link with libads.a, libc.a and crt0.o
|
||||
Link with libads.a, libc.a and crt0.o.
|
||||
|
||||
+mgcn
|
||||
+Target RejectNegative
|
||||
@@ -206,14 +224,18 @@ diff -Nbaur gcc-4.8.2/gcc/config/rs6000/sysv4.opt gcc-4.8.2-ppc/gcc/config/rs600
|
||||
+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
|
||||
Link with libyk.a, libc.a and crt0.o
|
||||
diff -Nbaur gcc-4.8.2/gcc/config.gcc gcc-4.8.2-ppc/gcc/config.gcc
|
||||
--- gcc-4.8.2/gcc/config.gcc 2013-10-03 01:47:24.000000000 +0100
|
||||
+++ gcc-4.8.2-ppc/gcc/config.gcc 2014-04-01 14:13:11.000000000 +0100
|
||||
@@ -2057,7 +2057,7 @@
|
||||
Link with libyk.a, libc.a and crt0.o.
|
||||
diff -NBaur gcc-6.1.0/gcc/config.gcc gcc-6.1.0-ppc/gcc/config.gcc
|
||||
--- gcc-6.1.0/gcc/config.gcc 2016-04-11 11:14:59.000000000 +0100
|
||||
+++ gcc-6.1.0-ppc/gcc/config.gcc 2016-05-20 12:10:24.661019640 +0100
|
||||
@@ -2381,7 +2381,7 @@
|
||||
use_gcc_stdint=wrap
|
||||
;;
|
||||
powerpc-*-eabi*)
|
||||
@@ -222,10 +244,24 @@ diff -Nbaur gcc-4.8.2/gcc/config.gcc gcc-4.8.2-ppc/gcc/config.gcc
|
||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||
tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
|
||||
use_gcc_stdint=wrap
|
||||
diff -Nbaur gcc-4.8.2/libcpp/Makefile.in gcc-4.8.2-ppc/libcpp/Makefile.in
|
||||
--- gcc-4.8.2/libcpp/Makefile.in 2013-10-16 08:27:58.000000000 +0100
|
||||
+++ gcc-4.8.2-ppc/libcpp/Makefile.in 2014-04-01 14:13:11.000000000 +0100
|
||||
@@ -207,8 +207,7 @@
|
||||
diff -NBaur gcc-6.1.0/gcc/Makefile.in gcc-6.1.0-ppc/gcc/Makefile.in
|
||||
--- gcc-6.1.0/gcc/Makefile.in 2016-04-15 12:49:39.000000000 +0100
|
||||
+++ gcc-6.1.0-ppc/gcc/Makefile.in 2016-05-20 12:10:24.641019640 +0100
|
||||
@@ -1073,8 +1073,8 @@
|
||||
# things like the go/%.o rule work properly; but we use $(*F) for the
|
||||
# file part, as we just want the file part of the stem, not the entire
|
||||
# file name.
|
||||
-COMPILE = $(COMPILE.base) -MT $@ -MMD -MP -MF $(@D)/$(DEPDIR)/$(*F).TPo
|
||||
-POSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(*F).TPo $(@D)/$(DEPDIR)/$(*F).Po
|
||||
+COMPILE = $(COMPILE.base)
|
||||
+POSTCOMPILE =
|
||||
else
|
||||
COMPILE = source='$<' object='$@' libtool=no \
|
||||
DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) $(COMPILE.base)
|
||||
diff -NBaur gcc-6.1.0/libcpp/Makefile.in gcc-6.1.0-ppc/libcpp/Makefile.in
|
||||
--- gcc-6.1.0/libcpp/Makefile.in 2016-04-27 09:22:11.000000000 +0100
|
||||
+++ gcc-6.1.0-ppc/libcpp/Makefile.in 2016-05-20 12:10:24.661019640 +0100
|
||||
@@ -208,8 +208,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.
|
||||
@@ -235,9 +271,9 @@ diff -Nbaur gcc-4.8.2/libcpp/Makefile.in gcc-4.8.2-ppc/libcpp/Makefile.in
|
||||
else
|
||||
COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
|
||||
$(depcomp) $(COMPILE.base)
|
||||
diff -Nbaur gcc-4.8.2/libgcc/config/rs6000/crtrestvr.S gcc-4.8.2-ppc/libgcc/config/rs6000/crtrestvr.S
|
||||
--- gcc-4.8.2/libgcc/config/rs6000/crtrestvr.S 2013-02-04 19:06:20.000000000 +0000
|
||||
+++ gcc-4.8.2-ppc/libgcc/config/rs6000/crtrestvr.S 2014-04-01 14:13:11.000000000 +0100
|
||||
diff -NBaur gcc-6.1.0/libgcc/config/rs6000/crtrestvr.S gcc-6.1.0-ppc/libgcc/config/rs6000/crtrestvr.S
|
||||
--- gcc-6.1.0/libgcc/config/rs6000/crtrestvr.S 2016-01-04 14:30:50.000000000 +0000
|
||||
+++ gcc-6.1.0-ppc/libgcc/config/rs6000/crtrestvr.S 2016-05-20 12:10:24.665019640 +0100
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
/* On PowerPC64 Linux, these functions are provided by the linker. */
|
||||
@@ -252,31 +288,43 @@ diff -Nbaur gcc-4.8.2/libgcc/config/rs6000/crtrestvr.S gcc-4.8.2-ppc/libgcc/conf
|
||||
|
||||
#endif
|
||||
+#endif
|
||||
diff -Nbaur gcc-4.8.2/libgcc/config/rs6000/crtsavevr.S gcc-4.8.2-ppc/libgcc/config/rs6000/crtsavevr.S
|
||||
--- gcc-4.8.2/libgcc/config/rs6000/crtsavevr.S 2013-02-04 19:06:20.000000000 +0000
|
||||
+++ gcc-4.8.2-ppc/libgcc/config/rs6000/crtsavevr.S 2014-04-01 14:13:11.000000000 +0100
|
||||
@@ -24,6 +24,7 @@
|
||||
diff -NBaur gcc-6.1.0/libgcc/config/rs6000/crtsavevr.S gcc-6.1.0-ppc/libgcc/config/rs6000/crtsavevr.S
|
||||
--- gcc-6.1.0/libgcc/config/rs6000/crtsavevr.S 2016-01-04 14:30:50.000000000 +0000
|
||||
+++ gcc-6.1.0-ppc/libgcc/config/rs6000/crtsavevr.S 2016-05-20 12:10:24.665019640 +0100
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
/* On PowerPC64 Linux, these functions are provided by the linker. */
|
||||
#ifndef __powerpc64__
|
||||
-
|
||||
+#if 0
|
||||
|
||||
#undef __ALTIVEC__
|
||||
#define __ALTIVEC__ 1
|
||||
@@ -85,3 +86,4 @@
|
||||
#include "ppc-asm.h"
|
||||
@@ -85,3 +85,4 @@
|
||||
CFI_ENDPROC
|
||||
|
||||
#endif
|
||||
+#endif
|
||||
diff -Nbaur gcc-4.8.2/libgcc/crtstuff.c gcc-4.8.2-ppc/libgcc/crtstuff.c
|
||||
--- gcc-4.8.2/libgcc/crtstuff.c 2013-02-04 19:06:20.000000000 +0000
|
||||
+++ gcc-4.8.2-ppc/libgcc/crtstuff.c 2014-04-01 14:13:11.000000000 +0100
|
||||
@@ -47,7 +47,7 @@
|
||||
diff -NBaur gcc-6.1.0/libgcc/crtstuff.c gcc-6.1.0-ppc/libgcc/crtstuff.c
|
||||
--- gcc-6.1.0/libgcc/crtstuff.c 2016-01-04 14:30:50.000000000 +0000
|
||||
+++ gcc-6.1.0-ppc/libgcc/crtstuff.c 2016-05-20 12:10:24.669019640 +0100
|
||||
@@ -47,6 +47,7 @@
|
||||
|
||||
/* Target machine header files require this define. */
|
||||
#define IN_LIBGCC2
|
||||
-
|
||||
+#define USED_FOR_TARGET
|
||||
|
||||
/* FIXME: Including auto-host is incorrect, but until we have
|
||||
identified the set of defines that need to go into auto-target.h,
|
||||
this will have to do. */
|
||||
diff -NBaur gcc-6.1.0/libstdc++-v3/include/std/type_traits gcc-6.1.0-ppc/libstdc++-v3/include/std/type_traits
|
||||
--- gcc-6.1.0/libstdc++-v3/include/std/type_traits 2016-01-12 21:19:58.000000000 +0000
|
||||
+++ gcc-6.1.0-ppc/libstdc++-v3/include/std/type_traits 2016-05-20 12:10:24.669019640 +0100
|
||||
@@ -38,7 +38,7 @@
|
||||
#include <bits/c++config.h>
|
||||
|
||||
#ifdef _GLIBCXX_USE_C99_STDINT_TR1
|
||||
-# if defined (__UINT_LEAST16_TYPE__) && defined(__UINT_LEAST32_TYPE__)
|
||||
+# if defined (__UINT_LEAST16_TYPE__) && defined(__UINT_LEAST32_TYPE__) && 0
|
||||
namespace std
|
||||
{
|
||||
typedef __UINT_LEAST16_TYPE__ uint_least16_t;
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -Nbaur gdb-7.7/gdb/Makefile.in gdb-7.7-ppc/gdb/Makefile.in
|
||||
--- gdb-7.7/gdb/Makefile.in 2014-02-06 02:21:29.000000000 +0000
|
||||
+++ gdb-7.7-ppc/gdb/Makefile.in 2014-04-01 14:01:24.000000000 +0100
|
||||
@@ -2307,10 +2307,10 @@
|
||||
diff -NBaur gdb-7.10/gdb/Makefile.in gdb-7.10-ppc/gdb/Makefile.in
|
||||
--- gdb-7.10/gdb/Makefile.in 2015-08-28 22:22:07.000000000 +0100
|
||||
+++ gdb-7.10-ppc/gdb/Makefile.in 2015-11-09 09:21:13.228003995 +0000
|
||||
@@ -2676,10 +2676,10 @@
|
||||
# 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.
|
||||
@@ -16,15 +16,3 @@ diff -Nbaur gdb-7.7/gdb/Makefile.in gdb-7.7-ppc/gdb/Makefile.in
|
||||
@GMAKE_TRUE@else
|
||||
@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
|
||||
@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
|
||||
diff -Nbaur gdb-7.7/sim/ppc/Makefile.in gdb-7.7-ppc/sim/ppc/Makefile.in
|
||||
--- gdb-7.7/sim/ppc/Makefile.in 2013-12-08 04:55:48.000000000 +0000
|
||||
+++ gdb-7.7-ppc/sim/ppc/Makefile.in 2014-04-01 14:01:24.000000000 +0100
|
||||
@@ -552,7 +552,7 @@
|
||||
PACKAGE_OBJ = @sim_pk_obj@
|
||||
|
||||
|
||||
-psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBS) $(LIBINTL_DEP)
|
||||
+psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBINTL_DEP)
|
||||
$(CC) $(CFLAGS) $(SIM_CFLAGS) $(LDFLAGS) -o psim$(EXEEXT) main.o $(TARGETLIB) $(BFD_LIB) $(LIBINTL) $(LIBIBERTY_LIB) $(LIBS)
|
||||
|
||||
run: psim
|
||||
@@ -6630,29 +6630,6 @@ diff -Nbaur newlib-2.0.0/newlib/libc/include/pthread.h newlib-2.0.0-ppc/newlib/l
|
||||
-
|
||||
-#endif
|
||||
-/* end of include file */
|
||||
diff -Nbaur newlib-2.0.0/newlib/libc/include/stdint.h newlib-2.0.0-ppc/newlib/libc/include/stdint.h
|
||||
--- newlib-2.0.0/newlib/libc/include/stdint.h 2012-10-16 19:45:23.000000000 +0100
|
||||
+++ newlib-2.0.0-ppc/newlib/libc/include/stdint.h 2013-09-06 22:13:38.000000000 +0100
|
||||
@@ -75,14 +75,14 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-#if __have_long32
|
||||
-typedef signed long int32_t;
|
||||
-typedef unsigned long uint32_t;
|
||||
-#define __int32_t_defined 1
|
||||
-#elif __STDINT_EXP(INT_MAX) == 0x7fffffffL
|
||||
+#if __STDINT_EXP(INT_MAX) == 0x7fffffffL
|
||||
typedef signed int int32_t;
|
||||
typedef unsigned int uint32_t;
|
||||
#define __int32_t_defined 1
|
||||
+#elif __have_long32
|
||||
+typedef signed long int32_t;
|
||||
+typedef unsigned long uint32_t;
|
||||
+#define __int32_t_defined 1
|
||||
#elif __STDINT_EXP(SHRT_MAX) == 0x7fffffffL
|
||||
typedef signed short int32_t;
|
||||
typedef unsigned short uint32_t;
|
||||
diff -Nbaur newlib-2.0.0/newlib/libc/include/stdio.h newlib-2.0.0-ppc/newlib/libc/include/stdio.h
|
||||
--- newlib-2.0.0/newlib/libc/include/stdio.h 2012-11-01 11:51:11.000000000 +0000
|
||||
+++ newlib-2.0.0-ppc/newlib/libc/include/stdio.h 2013-09-06 22:13:38.000000000 +0100
|
||||
|
||||
12
dkppc/rules/wiiu_rules
Normal file
12
dkppc/rules/wiiu_rules
Normal file
@@ -0,0 +1,12 @@
|
||||
ifeq ($(strip $(DEVKITPPC)),)
|
||||
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPro/devkitPPC)
|
||||
endif
|
||||
|
||||
MACHDEP = -DESPRESSO -mwup -mcpu=750 -meabi -mhard-float
|
||||
|
||||
include $(DEVKITPPC)/base_rules
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
%.elf:
|
||||
@echo linking ... $(notdir $@)
|
||||
@$(LD) $^ $(LDFLAGS) $(LIBPATHS) $(LIBS) -o $@
|
||||
@@ -16,7 +16,7 @@ then
|
||||
--prefix=$prefix --target=$target --disable-nls --disable-shared --disable-debug \
|
||||
--disable-werror \
|
||||
--enable-poison-system-directories \
|
||||
--enable-plugins --enable-lto --disable-dependency-tracking \
|
||||
--enable-plugins --enable-lto \
|
||||
--disable-werror $CROSS_PARAMS \
|
||||
|| { echo "Error configuing ppc binutils"; exit 1; }
|
||||
touch configured-binutils
|
||||
@@ -47,7 +47,6 @@ if [ ! -f configured-binutils ]
|
||||
then
|
||||
CFLAGS=$cflags LDFLAGS=$ldflags ../../binutils-$BINUTILS_VER/configure \
|
||||
--prefix=$prefix --target=mn10200 --disable-nls --disable-debug \
|
||||
--disable-dependency-tracking \
|
||||
--disable-werror $CROSS_PARAMS \
|
||||
|| { echo "Error configuing mn10200 binutils"; exit 1; }
|
||||
touch configured-binutils
|
||||
@@ -82,12 +81,13 @@ then
|
||||
--disable-nls --disable-shared --enable-threads --disable-multilib \
|
||||
--disable-win32-registry \
|
||||
--disable-libstdcxx-pch \
|
||||
--disable-libstdcxx-verbose \
|
||||
--enable-cxx-flags='-ffunction-sections -fdata-sections' \
|
||||
--target=$target \
|
||||
--with-newlib \
|
||||
--with-headers=../../newlib-$NEWLIB_VER/newlib/libc/include \
|
||||
--prefix=$prefix\
|
||||
--disable-dependency-tracking \
|
||||
--with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitPPC release 27" \
|
||||
--with-bugurl="http://wiki.devkitpro.org/index.php/Bug_Reports" --with-pkgversion="devkitPPC release 28" \
|
||||
$CROSS_PARAMS \
|
||||
|| { echo "Error configuring gcc stage 1"; exit 1; }
|
||||
touch configured-gcc
|
||||
@@ -170,7 +170,7 @@ cd $target/gdb
|
||||
if [ ! -f configured-gdb ]
|
||||
then
|
||||
CFLAGS="$cflags" LDFLAGS="$ldflags" ../../gdb-$GDB_VER/configure \
|
||||
--disable-nls --prefix=$prefix --target=$target --disable-werror --disable-dependency-tracking\
|
||||
--disable-nls --prefix=$prefix --target=$target --disable-werror \
|
||||
$CROSS_PARAMS || { echo "Error configuring gdb"; exit 1; }
|
||||
touch configured-gdb
|
||||
fi
|
||||
|
||||
@@ -40,10 +40,10 @@ case "$VERSION" in
|
||||
toolchain=DEVKITARM
|
||||
;;
|
||||
"2" )
|
||||
GCC_VER=4.8.2
|
||||
BINUTILS_VER=2.24
|
||||
GCC_VER=6.2.0
|
||||
BINUTILS_VER=2.27
|
||||
NEWLIB_VER=2.0.0
|
||||
GDB_VER=7.7
|
||||
GDB_VER=7.11
|
||||
basedir='dkppc'
|
||||
package=devkitPPC
|
||||
target=powerpc-eabi
|
||||
|
||||
Reference in New Issue
Block a user