[Scummvm-cvs-logs] SF.net SVN: scummvm:[52577] scummvm/branches/gsoc2010-plugins/backends/ plugins/elf

dhewg at users.sourceforge.net dhewg at users.sourceforge.net
Mon Sep 6 00:00:42 CEST 2010


Revision: 52577
          http://scummvm.svn.sourceforge.net/scummvm/?rev=52577&view=rev
Author:   dhewg
Date:     2010-09-05 22:00:41 +0000 (Sun, 05 Sep 2010)

Log Message:
-----------
PLUGINS: Added _segmentVMA to the MIPS loader.

Also added 2 TODOs for all loaders not respection that offset.

Modified Paths:
--------------
    scummvm/branches/gsoc2010-plugins/backends/plugins/elf/arm-loader.cpp
    scummvm/branches/gsoc2010-plugins/backends/plugins/elf/mips-loader.cpp

Modified: scummvm/branches/gsoc2010-plugins/backends/plugins/elf/arm-loader.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/plugins/elf/arm-loader.cpp	2010-09-05 22:00:19 UTC (rev 52576)
+++ scummvm/branches/gsoc2010-plugins/backends/plugins/elf/arm-loader.cpp	2010-09-05 22:00:41 UTC (rev 52577)
@@ -59,7 +59,7 @@
 		// Get the symbol this relocation entry is referring to
 		Elf32_Sym *sym = _symtab + (REL_INDEX(rel[i].r_info));
 
-		// Get the target instruction in the code
+		// Get the target instruction in the code. TODO: repect _segmentVMA
 		uint32 *target = (uint32 *)((byte *)relSegment + rel[i].r_offset);
 
 		uint32 origTarget = *target;	//Save for debugging

Modified: scummvm/branches/gsoc2010-plugins/backends/plugins/elf/mips-loader.cpp
===================================================================
--- scummvm/branches/gsoc2010-plugins/backends/plugins/elf/mips-loader.cpp	2010-09-05 22:00:19 UTC (rev 52576)
+++ scummvm/branches/gsoc2010-plugins/backends/plugins/elf/mips-loader.cpp	2010-09-05 22:00:41 UTC (rev 52577)
@@ -69,7 +69,7 @@
 		// Get the symbol this relocation entry is referring to
 		Elf32_Sym *sym = _symtab + (REL_INDEX(rel[i].r_info));
 
-		// Get the target instruction in the code
+		// Get the target instruction in the code. TODO: repect _segmentVMA
 		uint32 *target = (uint32 *)((byte *)relSegment + rel[i].r_offset);
 
 		uint32 origTarget = *target;	// Save for debugging
@@ -288,6 +288,7 @@
 		// Get offset to load segment into
 		baseAddress = _segment + phdr->p_vaddr;
 		_segmentSize = phdr->p_memsz;
+		_segmentVMA = phdr->p_vaddr;
 
 		// Set .bss segment to 0 if necessary
 		if (phdr->p_memsz > phdr->p_filesz) {


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