[Scummvm-cvs-logs] SF.net SVN: scummvm:[50751] scummvm/branches/gsoc2010-plugins/backends/ platform/ds

toneman1138 at users.sourceforge.net toneman1138 at users.sourceforge.net
Thu Jul 8 23:40:27 CEST 2010


Revision: 50751
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50751&view=rev
Author:   toneman1138
Date:     2010-07-08 21:40:26 +0000 (Thu, 08 Jul 2010)

Log Message:
-----------
fixed dependencies/paths/etc. in arm9/makefile to get engine plugins building; changed makefile to not clean before building further engines when building all engines; fixed syntax of plugin.ld

Modified Paths:
--------------
    scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/makefile
    scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/plugin.ld
    scummvm/branches/gsoc2010-plugins/backends/platform/ds/makefile

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/makefile
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/makefile	2010-07-08 21:22:59 UTC (rev 50750)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/makefile	2010-07-08 21:40:26 UTC (rev 50751)
@@ -5,11 +5,7 @@
 libndsdir = $(DEVKITPRO)/libnds
 #libndsdir = /home/neil/devkitpror21/libnds
 
-ifeq ($(DYNAMIC_MODULES),1)
-	ENABLED = DYNAMIC_PLUGIN
-else
-	ENABLED = STATIC_PLUGIN
-endif
+ENABLED = DYNAMIC_PLUGIN
 
 # Select the build by setting SCUMM_BUILD to a,b,c,d,e,f or g.
 # Anything else gets build a.
@@ -70,9 +66,8 @@
 else
 	ifdef DS_BUILD_E
 	# TODO: Inherit the earth uses so much RAM that I have removed libmad in order to
-	# claw some back.
+	# claw some back.	
 
-
 	else
 		ifdef DS_BUILD_I
 
@@ -118,8 +113,8 @@
 	DEFINES += -DDS_SCUMM_BUILD -DDS_BUILD_A -DUSE_ARM_GFX_ASM -DUSE_ARM_COSTUME_ASM
 	LOGO = logoa.bmp
 	ENABLE_SCUMM = $(ENABLED)
-	DEFINES += -DENABLE_SCUMM=$(ENABLED)
-	MODULES += engines/scumm
+	#DEFINES += -DENABLE_SCUMM=$(ENABLED)
+	#MODULES += engines/scumm
 
 	USE_ARM_GFX_ASM = 1
 	BUILD=scummvm-A
@@ -206,7 +201,7 @@
 #	BUILD=scummvm-K
 #endif
 
-ARM7BIN	:= -7 $(CURDIR)/../../arm7/arm7.bin
+ARM7BIN	:= -7 $(CURDIR)/../arm7/arm7.bin
 
 CC      = arm-eabi-gcc
 CXX     = arm-eabi-g++
@@ -259,13 +254,11 @@
 	DEFINES += -DWRAP_MALLOC
 endif
 
-INCLUDES= -I$(portdir)/$(BUILD) -I$(srcdir) -I$(srcdir)/engines \
+INCLUDES= -I$(portdir) -I$(srcdir) -I$(srcdir)/engines \
 			-I$(portdir)/data -I$(portdir)/../commoninclude \
 			-I$(portdir)/source -I$(portdir)/source/mad -I$(portdir)/source/libcartreset \
 			-I$(libndsdir)/include -include $(srcdir)/common/scummsys.h
 
-CXX_UPDATE_DEP_FLAG = -Wp,-MMD,"$(*D)/$(DEPDIR)/$(*F).d",-MQ,"$@",-MP 
-
 LIBS	= -lm -L$(libndsdir)/lib -L$(portdir)/lib -lnds9
 ifdef USE_MAD
 	LIBS += -lmad
@@ -274,7 +267,6 @@
 	LIBS += -ldsdebugger -ldswifi9
 endif
 
-
 ifeq ($(DYNAMIC_MODULES),1)
 DEFINES += -DDYNAMIC_MODULES
 PRE_OBJS_FLAGS = -Wl,--whole-archive
@@ -282,11 +274,11 @@
 endif
 
 #-Lscumm -lscumm -Lbase -lbase -Lcommon -lcommon -Lgraphics -lgraphics -Lgui -lgui -Lsound -lsound
-EXECUTABLE = $(portdir)/$(BUILD)/scummvm.elf
+EXECUTABLE = scummvm.elf#$(portdir)/$(BUILD)/scummvm.elf
 PLUGIN_PREFIX =
 PLUGIN_SUFFIX = .plg
 PLUGIN_EXTRA_DEPS = $(portdir)/source/plugin.ld $(portdir)/source/plugin.syms $(EXECUTABLE)
-PLUGIN_LDFLAGS = -nostartfiles -Wl,-q,-T$(portdir)/source/plugin.ld,--just-symbols,$(EXECUTABLE),--retain-symbols-file,$(portdir)/source/plugin.syms -lstdc++ -lc 
+PLUGIN_LDFLAGS += -nostartfiles -Wl,-q,--just-symbols,$(EXECUTABLE),-T$(portdir)/source/plugin.ld,--retain-symbols-file,$(portdir)/source/plugin.syms -lstdc++ -lc -mthumb-interwork -mno-fpu -Wl,--gc-sections -mno-crt0 $(DEVKITPRO)/devkitARM/arm-eabi/lib/ds_arm9_crt0.o
 MKDIR = mkdir -p
 RM = rm -f
 RM_REC = rm -rf
@@ -296,7 +288,6 @@
 AS = arm-eabi-as
 HAVE_GCC3 = true
 
-
 PORT_OBJS :=	$(portdir)/source/blitters_arm.o $(portdir)/source/cdaudio.o $(portdir)/source/dsmain.o \
 		$(portdir)/../../../fs/ds/ds-fs.o $(portdir)/source/gbampsave.o $(portdir)/source/scummhelp.o\
 		$(portdir)/source/osystem_ds.o $(portdir)/source/ramsave.o\
@@ -360,11 +351,10 @@
 
 OBJS := $(DATA_OBJS) $(LIBCARTRESET_OBJS) $(PORT_OBJS) $(COMPRESSOR_OBJS) $(FAT_OBJS)
 
-MODULE_DIRS += ./
+MODULE_DIRS += .
 
-ndsall:
-	@[ -d $(BUILD) ] || mkdir -p $(BUILD)
-	make -C ./$(BUILD) -f ../makefile scummvm.nds
+ndsall: plugins
+	make -f makefile scummvm.nds
 
 include $(srcdir)/Makefile.common
 
@@ -373,16 +363,15 @@
 
 clean:
 	$(RM) $(OBJS) $(EXECUTABLE)
-	rm -fr $(BUILD)
+	rm -rf gui engines sound common plugins base backends graphics scummvm.nds scummvm.elf scummvm-stripped.elf scummvm.ds.gba *.h
 
 plugin_dist :
-	find . -name '*.plg' | while read p; do \
-	  sh-elf-strip -g -o "`basename \"$$p\" | tr '[:lower:]' '[:upper:]'`" "$$p"; \
+	for p in $(PLUGINS); do \
+	  arm-elf-strip -g -o "`basename \"$$p\" | LC_CTYPE=C tr '[:lower:]' '[:upper:]'`" "$$p"; \
 	done
 
 dist : SCUMMVM.BIN plugins plugin_dist
 
-
 #---------------------------------------------------------------------------------
 # canned command sequence for binary data
 #---------------------------------------------------------------------------------
@@ -474,9 +463,9 @@
 
 #---------------------------------------------------------------------------------
 %.nds: %.bin
-	@echo ndstool -c $@ -9 scummvm.bin $(ARM7BIN) -b ../../$(LOGO) "$(shell basename $@);ScummVM $(VERSION);DS Port"
-	ndstool -c $@ -9 scummvm.bin $(ARM7BIN) -b ../../$(LOGO) "$(shell basename $@);ScummVM $(VERSION);DS Port"
-	dsbuild $@ -l ../ndsloader.bin
+	@echo ndstool -c $@ -9 scummvm.bin $(ARM7BIN) -b ../$(LOGO) "$(shell basename $@);ScummVM $(VERSION);DS Port"
+	ndstool -c $@ -9 scummvm.bin $(ARM7BIN) -b ../$(LOGO) "$(shell basename $@);ScummVM $(VERSION);DS Port"
+	dsbuild $@ -l ndsloader.bin
 
 	padbin 16 $(basename $@).ds.gba
 

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/plugin.ld
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/plugin.ld	2010-07-08 21:22:59 UTC (rev 50750)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ds/arm9/source/plugin.ld	2010-07-08 21:40:26 UTC (rev 50751)
@@ -1,216 +1,252 @@
 OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
 OUTPUT_ARCH(arm)
+
 /* PHDRS specifies ELF Program Headers (or segments) to the plugin linker */
 PHDRS {
   plugin PT_LOAD ; /* Specifies that the plugin segment should be loaded from file */
 }
+
+MEMORY {
+	rom	: ORIGIN = 0x08000000, LENGTH = 32M
+	ewram	: ORIGIN = 0x02000000, LENGTH = 4M - 4k
+	dtcm	: ORIGIN = 0x0b000000, LENGTH = 16K
+	vectors	: ORIGIN = 0x01000000, LENGTH = 256
+	itcm	: ORIGIN = 0x01000100, LENGTH = 32K - 256
+}
+
+__vectors_start	=	ORIGIN(vectors);
+__itcm_start	=	ORIGIN(itcm);
+__ewram_end	=	ORIGIN(ewram) + LENGTH(ewram);
+__eheap_end	=	ORIGIN(ewram) + LENGTH(ewram);
+__dtcm_start	=	ORIGIN(dtcm);
+__dtcm_top	=	ORIGIN(dtcm) + LENGTH(dtcm);
+__irq_flags	=	__dtcm_top - 0x08;
+__irq_vector	=	__dtcm_top - 0x04;
+
+__sp_svc	=	__dtcm_top - 0x100;
+__sp_irq	=	__sp_svc - 0x100;
+__sp_usr	=	__sp_irq - 0x100;
+
 SECTIONS
 {
-  /* Read-only sections, merged into text segment: */
-  . = 0;
-  .interp         : { *(.interp) } : plugin 	/*The ": plugin" tells the linker to assign this and
-  	             								  the following sections to the "plugin" segment*/
-  .note.gnu.build-id : { *(.note.gnu.build-id) }
-  .hash           : { *(.hash) }
-  .gnu.hash       : { *(.gnu.hash) }
-  .dynsym         : { *(.dynsym) }
-  .dynstr         : { *(.dynstr) }
-  .gnu.version    : { *(.gnu.version) }
-  .gnu.version_d  : { *(.gnu.version_d) }
-  .gnu.version_r  : { *(.gnu.version_r) }
-  .rel.dyn        :
-    {
-      *(.rel.init)
-      *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
-      *(.rel.fini)
-      *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
-      *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
-      *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
-      *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
-      *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
-      *(.rel.ctors)
-      *(.rel.dtors)
-      *(.rel.got)
-      *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
-      PROVIDE_HIDDEN (__rel_iplt_start = .);
-      *(.rel.iplt)
-      PROVIDE_HIDDEN (__rel_iplt_end = .);
-      PROVIDE_HIDDEN (__rela_iplt_start = .);
-      PROVIDE_HIDDEN (__rela_iplt_end = .);
-    }
-  .rela.dyn       :
-    {
-      *(.rela.init)
-      *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
-      *(.rela.fini)
-      *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
-      *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
-      *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
-      *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
-      *(.rela.ctors)
-      *(.rela.dtors)
-      *(.rela.got)
-      *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
-      PROVIDE_HIDDEN (__rel_iplt_start = .);
-      PROVIDE_HIDDEN (__rel_iplt_end = .);
-      PROVIDE_HIDDEN (__rela_iplt_start = .);
-      *(.rela.iplt)
-      PROVIDE_HIDDEN (__rela_iplt_end = .);
-    }
-  .rel.plt        :
-    {
-      *(.rel.plt)
-    }
-  .rela.plt       :
-    {
-      *(.rela.plt)
-    }
-  .init           :
-  {
-    KEEP (*(.init))
-  } =0
-  .plt            : { *(.plt) }
-  .iplt           : { *(.iplt) }
-  .text           :
-  {
-    *(.text.unlikely .text.*_unlikely)
-    *(.text .stub .text.* .gnu.linkonce.t.*)
-    /* .gnu.warning sections are handled specially by elf32.em.  */
-    *(.gnu.warning)
-    *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)
-  } =0
-  .fini           :
-  {
-    KEEP (*(.fini))
-  } =0
-  PROVIDE (__etext = .);
-  PROVIDE (_etext = .);
-  PROVIDE (etext = .);
-  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
-  .rodata1        : { *(.rodata1) }
-  .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
+	.init	:
+	{
+		__text_start = . ;
+		KEEP (*(.init))
+		. = ALIGN(4);  /* REQUIRED. LD is flaky without it. */
+	} >ewram :plugin = 0xff
+
+	.plt : { *(.plt) } >ewram = 0xff
+
+	.text :   /* ALIGN (4): */
+	{
+		*(EXCLUDE_FILE (*.itcm*) .text)
+
+		*(.text.*)
+		*(.stub)
+		/* .gnu.warning sections are handled specially by elf32.em.  */
+		*(.gnu.warning)
+		*(.gnu.linkonce.t*)
+		*(.glue_7)
+		*(.glue_7t)
+		. = ALIGN(4);  /* REQUIRED. LD is flaky without it. */
+	} >ewram = 0xff
+
+	.fini           :
+	{
+		KEEP (*(.fini))
+	} >ewram =0xff
+
+	__text_end = . ;
+
+	.rodata :
+	{
+		*(.rodata)
+		*all.rodata*(*)
+		*(.roda)
+		*(.rodata.*)
+		*(.gnu.linkonce.r*)
+		SORT(CONSTRUCTORS)
+		. = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
+	} >ewram = 0xff
+
+  .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >ewram
    __exidx_start = .;
-  .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
+  .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } >ewram
    __exidx_end = .;
-  .eh_frame_hdr : { *(.eh_frame_hdr) }
-  .eh_frame       : ONLY_IF_RO { KEEP (*(.eh_frame)) }
-  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) }
-  /* Adjust the address for the data segment.  We want to adjust up to
-     the same address within the page on the next page up.  */
-  . = ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1));
-  /* Exception handling  */
-  .eh_frame       : ONLY_IF_RW { KEEP (*(.eh_frame)) }
-  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
-  /* Thread Local Storage sections  */
-  .tdata	  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
-  .tbss		  : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
-  .preinit_array     :
-  {
-    PROVIDE_HIDDEN (__preinit_array_start = .);
-    KEEP (*(.preinit_array))
-    PROVIDE_HIDDEN (__preinit_array_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)) } >ewram = 0xff
+  PROVIDE (__preinit_array_end = .);
+  PROVIDE (__init_array_start = .);
   .init_array     :
   {
-     PROVIDE_HIDDEN (__init_array_start = .);
-     KEEP (*(SORT(.init_array.*)))
-     KEEP (*(.init_array))
-     PROVIDE_HIDDEN (__init_array_end = .);
-  }
+       KEEP (*(SORT(.init_array.*)))
+       KEEP (*(.init_array))
+  } >ewram = 0xff
+  PROVIDE (__init_array_end = .);
+  PROVIDE (__fini_array_start = .);
   .fini_array     :
   {
-    PROVIDE_HIDDEN (__fini_array_start = .);
-    KEEP (*(.fini_array))
-    KEEP (*(SORT(.fini_array.*)))
-    PROVIDE_HIDDEN (__fini_array_end = .);
-  }
-  .ctors          :
-  {
-    ___plugin_ctors = .;
-    KEEP (*(SORT(.ctors.*)))
-    KEEP (*(.ctors))
-    ___plugin_ctors_end = .;
-  }
-  .dtors          :
-  {
-    ___plugin_dtors = .;
-    KEEP (*(SORT(.dtors.*)))
-    KEEP (*(.dtors))
-    ___plugin_dtors_end = .;
-  }
-  .jcr            : { KEEP (*(.jcr)) }
-  .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) }
-  .dynamic        : { *(.dynamic) }
-  .got            : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) }
-  .data           :
-  {
-    __data_start = . ;
-    *(.data .data.* .gnu.linkonce.d.*)
-    SORT(CONSTRUCTORS)
-  }
-  .data1          : { *(.data1) }
-  _edata = .; PROVIDE (edata = .);
-  __bss_start = .;
-  __bss_start__ = .;
-  .bss            :
-  {
-   *(.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.
-      FIXME: Why do we need it? When there is no .bss section, we don't
-      pad the .data section.  */
-   . = ALIGN(. != 0 ? 32 / 8 : 1);
-  }
-  _bss_end__ = . ; __bss_end__ = . ;
-  . = ALIGN(32 / 8);
-  . = ALIGN(32 / 8);
-  __end__ = . ;
-  _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 .gnu.linkonce.wi.*) }
-  .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) }
-  /* DWARF 3 */
-  .debug_pubtypes 0 : { *(.debug_pubtypes) }
-  .debug_ranges   0 : { *(.debug_ranges) }
-    .stack         0x80000 :
-  {
-    _stack = .;
-    *(.stack)
-  }
-  .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }
-  .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }
-  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
+       KEEP (*(.fini_array))
+       KEEP (*(SORT(.fini_array.*)))
+  } >ewram = 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.  */
+		___plugin_ctors = .;
+		KEEP (*(SORT(.ctors.*)))
+		KEEP (*(.ctors))
+		. = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
+		___plugin_ctors_end = .;
+	} >ewram = 0xff
+
+	.dtors :
+	{
+		___plugin_dtors = .;
+		KEEP (*(SORT(.dtors.*)))
+		KEEP (*(.dtors))
+		. = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
+		___plugin_dtors_end = .;
+	} >ewram = 0xff
+
+	.eh_frame :
+	{
+		KEEP (*(.eh_frame))
+		. = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
+	} >ewram = 0xff
+
+	.gcc_except_table :
+	{
+		*(.gcc_except_table)
+		. = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
+	} >ewram = 0xff
+	.jcr            : { KEEP (*(.jcr)) } >ewram = 0
+	.got            : { *(.got.plt) *(.got) *(.rel.got) } >ewram = 0
+
+	.ewram ALIGN(4) : 
+	{
+		__ewram_start = ABSOLUTE(.) ;
+		*(.ewram)
+		*ewram.*(.text)
+		. = ALIGN(4);   /* REQUIRED. LD is flaky without it. */
+	} >ewram = 0xff
+
+
+	.data ALIGN(4) :
+	{
+		__data_start = ABSOLUTE(.);
+		*(.data)
+		*(.data.*)
+		*(.gnu.linkonce.d*)
+		CONSTRUCTORS
+		. = ALIGN(4);
+		__data_end = ABSOLUTE(.) ;
+	} >ewram = 0xff
+
+
+	__dtcm_lma = . ;
+	__bss_vma = . ;
+
+	.dtcm __dtcm_start : AT (__dtcm_lma)
+	{
+		*(.dtcm)
+		*(.dtcm.*)
+		. = ALIGN(4);
+		__dtcm_end = ABSOLUTE(.);
+	} >dtcm  = 0xff
+
+
+	__itcm_lma = __dtcm_lma + SIZEOF(.dtcm);
+
+	.itcm __itcm_start : AT (__itcm_lma)
+	{
+		*(.itcm)
+		*itcm.*(.text)
+		. = ALIGN(4);
+		__itcm_end = ABSOLUTE(.);
+	} >itcm = 0xff
+	
+	__vectors_lma = __itcm_lma + SIZEOF(.itcm);
+
+	.vectors __vectors_start : AT (__vectors_lma)
+	{
+		*(.vectors)
+		*vectors.*(.text)
+		. = ALIGN(4);
+		__vectors_end = ABSOLUTE(.);
+	} >vectors = 0xff
+	
+	.sbss __dtcm_end (NOLOAD): 
+	{
+		__sbss_start = ABSOLUTE(.);
+		__sbss_start__ = ABSOLUTE(.);
+		*(.sbss)
+		. = ALIGN(4);    /* REQUIRED. LD is flaky without it. */
+		__sbss_end = ABSOLUTE(.);
+	} >dtcm 
+
+	.bss __bss_vma (NOLOAD): 
+	{
+		__bss_start = ABSOLUTE(.);
+		__bss_start__ = ABSOLUTE(.);
+		*(.dynbss)
+		*(.gnu.linkonce.b*)
+		*(.bss*)
+		*(COMMON)
+		. = ALIGN(4);    /* REQUIRED. LD is flaky without it. */
+		__bss_end = ABSOLUTE(.) ;
+		__bss_end__ = __bss_end ;
+	} AT>ewram 
+
+
+	_end = __bss_end__ ;
+	__end__ = __bss_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  .  */
 }

Modified: scummvm/branches/gsoc2010-plugins/backends/platform/ds/makefile
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/platform/ds/makefile	2010-07-08 21:22:59 UTC (rev 50750)
+++ scummvm/branches/gsoc2010-plugins/backends/platform/ds/makefile	2010-07-08 21:40:26 UTC (rev 50751)
@@ -22,43 +22,25 @@
 allbuilds:
 	$(MAKE) semiclean
 	$(MAKE) all       SCUMM_BUILD=a
-	$(MAKE) semiclean
 	$(MAKE) all       SCUMM_BUILD=b
-	$(MAKE) semiclean
 	$(MAKE) all       SCUMM_BUILD=c
-	$(MAKE) semiclean
 	$(MAKE) all       SCUMM_BUILD=d
-	$(MAKE) semiclean
 	$(MAKE) all       SCUMM_BUILD=e
-	$(MAKE) semiclean
 	$(MAKE) all       SCUMM_BUILD=f
-	$(MAKE) semiclean
 	$(MAKE) all       SCUMM_BUILD=g
-	$(MAKE) semiclean
 	$(MAKE) all       SCUMM_BUILD=h
-	$(MAKE) semiclean
 	$(MAKE) all       SCUMM_BUILD=i
-	$(MAKE) semiclean
 	$(MAKE) all       SCUMM_BUILD=k
 
 allbuildssafe:
 	$(MAKE) clean     SCUMM_BUILD=a
 	$(MAKE) all       SCUMM_BUILD=a
-	$(MAKE) clean     SCUMM_BUILD=b
 	$(MAKE) all       SCUMM_BUILD=b
-	$(MAKE) clean     SCUMM_BUILD=c
 	$(MAKE) all       SCUMM_BUILD=c
-	$(MAKE) clean     SCUMM_BUILD=d
 	$(MAKE) all       SCUMM_BUILD=d
-	$(MAKE) clean     SCUMM_BUILD=e
 	$(MAKE) all       SCUMM_BUILD=e
-	$(MAKE) clean     SCUMM_BUILD=f
 	$(MAKE) all       SCUMM_BUILD=f
-	$(MAKE) clean     SCUMM_BUILD=g
 	$(MAKE) all       SCUMM_BUILD=g
-	$(MAKE) clean     SCUMM_BUILD=h
 	$(MAKE) all       SCUMM_BUILD=h
-	$(MAKE) clean     SCUMM_BUILD=i
 	$(MAKE) all       SCUMM_BUILD=i
-	$(MAKE) clean     SCUMM_BUILD=k
 	$(MAKE) all       SCUMM_BUILD=k


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list