mirror of
https://github.com/devkitPro/buildscripts.git
synced 2026-08-05 17:17:49 -05:00
*** empty log message ***
This commit is contained in:
parent
b69c5bb48b
commit
667a752a26
|
|
@ -16,17 +16,10 @@ LIBGBA="libgba-src-$LIBGBA_VER.tar.bz2"
|
|||
LIBNDS="libnds-src-$LIBNDS_VER.tar.bz2"
|
||||
LIBMIRKO="libmirko-src-$LIBMIRKO_VER.tar.bz2"
|
||||
|
||||
SFMIRROR="jaist"
|
||||
LIBOGC_URL="http://$SFMIRROR.dl.sourceforge.net/sourceforge/devkitpro/$LIBOGC"
|
||||
LIBGBA_URL="http://$SFMIRROR.dl.sourceforge.net/sourceforge/devkitpro/$LIBGBA"
|
||||
LIBNDS_URL="http://$SFMIRROR.dl.sourceforge.net/sourceforge/devkitpro/$LIBNDS"
|
||||
LIBMIRKO_URL="http://$SFMIRROR.dl.sourceforge.net/sourceforge/devkitpro/$LIBMIRKO"
|
||||
|
||||
|
||||
NEWLIB_VER=1.14.0
|
||||
NEWLIB="newlib-$NEWLIB_VER.tar.gz"
|
||||
NEWLIB_URL="ftp://sources.redhat.com/pub/newlib/$NEWLIB"
|
||||
|
||||
LIBOGC_URL="http://downloads.sourceforge.net/devkitpro/$LIBOGC"
|
||||
LIBGBA_URL="http://downloads.sourceforge.net/devkitpro/$LIBGBA"
|
||||
LIBNDS_URL="http://downloads.sourceforge.net/devkitpro/$LIBNDS"
|
||||
LIBMIRKO_URL="http://downloads.sourceforge.net/devkitpro/$LIBMIRKO"
|
||||
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
|
|
@ -51,14 +44,23 @@ do
|
|||
fi
|
||||
done
|
||||
|
||||
if [ $VERSION -eq 2 ]
|
||||
then
|
||||
GCC_VER=3.4.6
|
||||
BINUTILS_VER=2.16.1
|
||||
else
|
||||
GCC_VER=4.1.1
|
||||
BINUTILS_VER=2.17
|
||||
fi
|
||||
case "$VERSION" in
|
||||
"1" )
|
||||
GCC_VER=4.1.1
|
||||
BINUTILS_VER=2.17
|
||||
NEWLIB_VER=1.15.0
|
||||
;;
|
||||
"2" )
|
||||
GCC_VER=3.4.6
|
||||
BINUTILS_VER=2.16.1
|
||||
NEWLIB_VER=1.14.0
|
||||
;;
|
||||
"3" )
|
||||
GCC_VER=4.1.0
|
||||
BINUTILS_VER=2.16.1
|
||||
NEWLIB_VER=1.14.0
|
||||
;;
|
||||
esac
|
||||
|
||||
GCC_CORE="gcc-core-$GCC_VER.tar.bz2"
|
||||
GCC_GPP="gcc-g++-$GCC_VER.tar.bz2"
|
||||
|
|
@ -66,6 +68,8 @@ GCC_CORE_URL="http://ftp.gnu.org/gnu/gcc/gcc-$GCC_VER/$GCC_CORE"
|
|||
GCC_GPP_URL="http://ftp.gnu.org/gnu/gcc/gcc-$GCC_VER/$GCC_GPP"
|
||||
BINUTILS="binutils-$BINUTILS_VER.tar.bz2"
|
||||
BINUTILS_URL="http://ftp.gnu.org/gnu/binutils/$BINUTILS"
|
||||
NEWLIB="newlib-$NEWLIB_VER.tar.gz"
|
||||
NEWLIB_URL="ftp://sources.redhat.com/pub/newlib/$NEWLIB"
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
189
dkarm-eabi/crtls/dldi.ld
Normal file
189
dkarm-eabi/crtls/dldi.ld
Normal file
|
|
@ -0,0 +1,189 @@
|
|||
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
|
||||
OUTPUT_ARCH(arm)
|
||||
ENTRY(_start)
|
||||
|
||||
MEMORY {
|
||||
/* This base address is chosen to be a reserved instruction in THUMB mode,
|
||||
and SWILT in ARM mode, with an impossible SWI value. This should allow
|
||||
the patcher / linker to find all shifted addresses within each section.
|
||||
Changed sections are: glue_7, got
|
||||
*/
|
||||
ddmem : ORIGIN = 0xBF800000, LENGTH = 32K
|
||||
}
|
||||
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.init :
|
||||
{
|
||||
__text_start = . ;
|
||||
KEEP (*(.init))
|
||||
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
|
||||
} >ddmem = 0xff
|
||||
|
||||
.text : /* ALIGN (4): */
|
||||
{
|
||||
*(.text.*)
|
||||
*(.stub)
|
||||
/* .gnu.warning sections are handled specially by elf32.em. */
|
||||
*(.gnu.warning)
|
||||
*(.gnu.linkonce.t*)
|
||||
__glue_start = ABSOLUTE(.);
|
||||
*(.glue_7)
|
||||
*(.glue_7t)
|
||||
__glue_end = ABSOLUTE(.);
|
||||
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
|
||||
} >ddmem = 0xff
|
||||
|
||||
.fini :
|
||||
{
|
||||
KEEP (*(.fini))
|
||||
} >ddmem =0xff
|
||||
|
||||
__text_end = . ;
|
||||
|
||||
.rodata :
|
||||
{
|
||||
*(.rodata)
|
||||
*all.rodata*(*)
|
||||
*(.roda)
|
||||
*(.rodata.*)
|
||||
*(.gnu.linkonce.r*)
|
||||
SORT(CONSTRUCTORS)
|
||||
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
|
||||
} >ddmem = 0xff
|
||||
|
||||
.ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >ddmem
|
||||
__exidx_start = .;
|
||||
.ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >ddmem
|
||||
__exidx_end = .;
|
||||
|
||||
/* 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 : { KEEP (*(.preinit_array)) } >ddmem = 0xff
|
||||
PROVIDE (__preinit_array_end = .);
|
||||
PROVIDE (__init_array_start = .);
|
||||
.init_array : { KEEP (*(.init_array)) } >ddmem = 0xff
|
||||
PROVIDE (__init_array_end = .);
|
||||
PROVIDE (__fini_array_start = .);
|
||||
.fini_array : { KEEP (*(.fini_array)) } >ddmem = 0xff
|
||||
PROVIDE (__fini_array_end = .);
|
||||
|
||||
.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))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
||||
KEEP (*(SORT(.ctors.*)))
|
||||
KEEP (*(.ctors))
|
||||
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
|
||||
} >ddmem = 0xff
|
||||
|
||||
.dtors :
|
||||
{
|
||||
KEEP (*crtbegin.o(.dtors))
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
||||
KEEP (*(SORT(.dtors.*)))
|
||||
KEEP (*(.dtors))
|
||||
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
|
||||
} >ddmem = 0xff
|
||||
|
||||
.eh_frame :
|
||||
{
|
||||
KEEP (*(.eh_frame))
|
||||
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
|
||||
} >ddmem = 0xff
|
||||
|
||||
.gcc_except_table :
|
||||
{
|
||||
*(.gcc_except_table)
|
||||
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
|
||||
} >ddmem = 0xff
|
||||
.jcr : { KEEP (*(.jcr)) } >ddmem = 0
|
||||
|
||||
|
||||
__got_start = . ;
|
||||
.got :
|
||||
{
|
||||
*(.got.plt)
|
||||
*(.got)
|
||||
*(.rel.got)
|
||||
} >ddmem = 0
|
||||
__got_end = . ;
|
||||
|
||||
|
||||
.data ALIGN(4) : {
|
||||
__data_start = ABSOLUTE(.);
|
||||
*(.data)
|
||||
*(.data.*)
|
||||
*(.gnu.linkonce.d*)
|
||||
CONSTRUCTORS
|
||||
. = ALIGN(4);
|
||||
__data_end = ABSOLUTE(.) ;
|
||||
} >ddmem = 0xff
|
||||
|
||||
__data_end = . ;
|
||||
|
||||
.bss ALIGN(4) :
|
||||
{
|
||||
__bss_start = ABSOLUTE(.);
|
||||
__bss_start__ = ABSOLUTE(.);
|
||||
*(.dynbss)
|
||||
*(.gnu.linkonce.b*)
|
||||
*(.bss*)
|
||||
*(COMMON)
|
||||
. = ALIGN(4); /* REQUIRED. LD is flaky without it. */
|
||||
} >ddmem
|
||||
|
||||
__bss_end = . ;
|
||||
__bss_end__ = . ;
|
||||
|
||||
_end = . ;
|
||||
__end__ = . ;
|
||||
PROVIDE (end = _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) }
|
||||
.stack 0x80000 : { _stack = .; *(.stack) }
|
||||
/* These must appear regardless of . */
|
||||
}
|
||||
|
|
@ -120,7 +120,7 @@ diff -Nbaur gcc-4.1.1/gcc/version.c gcc-4.1.1-arm/gcc/version.c
|
|||
the revision of your modified compiler. */
|
||||
|
||||
-#define VERSUFFIX ""
|
||||
+#define VERSUFFIX " (devkitARM release 19b)"
|
||||
+#define VERSUFFIX " (devkitARM release 20)"
|
||||
|
||||
/* This is the location of the online document giving instructions for
|
||||
reporting bugs. If you distribute a modified version of GCC,
|
||||
|
|
|
|||
5749
dkarm-eabi/patches/newlib-1.15.0.patch
Normal file
5749
dkarm-eabi/patches/newlib-1.15.0.patch
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -34,22 +34,22 @@ export OBJCOPY := $(PREFIX)objcopy
|
|||
#---------------------------------------------------------------------------------
|
||||
%.iwram.o: %.iwram.cpp
|
||||
@echo $(notdir $<)
|
||||
$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -marm-c $< -o $@
|
||||
$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -marm -mlong-calls -c $< -o $@
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
%.iwram.o: %.iwram.c
|
||||
@echo $(notdir $<)
|
||||
$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -marm -c $< -o $@
|
||||
$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -marm -mlong-calls -c $< -o $@
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
%.itcm.o: %.itcm.cpp
|
||||
@echo $(notdir $<)
|
||||
$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -marm-c $< -o $@
|
||||
$(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -marm -mlong-calls -c $< -o $@
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
%.itcm.o: %.itcm.c
|
||||
@echo $(notdir $<)
|
||||
$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -marm -c $< -o $@
|
||||
$(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -marm -mlong-calls -c $< -o $@
|
||||
|
||||
#---------------------------------------------------------------------------------
|
||||
%.o: %.cpp
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user