ROM Tools 13.1.0.1
authorZheng Shen <zheng.shen@nokia.com>
Mon, 30 Aug 2010 15:04:06 +0800
changeset 631 9435b9008a58
parent 630 31ef8a13d4f4
child 632 934f9131337b
child 633 a4eca1f021ac
ROM Tools 13.1.0.1 Bug468 initialized static data built into a static library does not get initialized correctly
imgtools/romtools/group/release.txt
imgtools/romtools/readimage/src/image_reader.cpp
imgtools/romtools/rofsbuild/rofsbuild.cpp
imgtools/romtools/rombuild/r_rom.cpp
imgtools/romtools/rombuild/rombuild.cpp
sbsv1/abld/e32util/e32tpver.pm
sbsv1/abld/group/release.txt
sbsv1/abld/platform/ARMV5.mk
sbsv1/abld/platform/cl_arm.pm
--- a/imgtools/romtools/group/release.txt	Thu Aug 26 13:41:01 2010 +0100
+++ b/imgtools/romtools/group/release.txt	Mon Aug 30 15:04:06 2010 +0800
@@ -1,3 +1,13 @@
+Version 2.13.0 (ROFSBUILD)
+===============
+Released by Jason Cui, 25/08/2010
+	1) ROFSBUILD generates 0-length log file.
+
+Version 2.18.2 (ROMBUILD)
+===============
+Released by Lorence Wang, 20/08/2010
+	1) ou1cimx1#537227 Rombuild crashed when "compress" and "unpageddata" coexist
+
 Version 2.18.1 (ROMBUILD)
 Version 2.13.1 (ROFSBUILD)
 ===============
--- a/imgtools/romtools/readimage/src/image_reader.cpp	Thu Aug 26 13:41:01 2010 +0100
+++ b/imgtools/romtools/readimage/src/image_reader.cpp	Mon Aug 30 15:04:06 2010 +0800
@@ -96,7 +96,7 @@
 			fullPath += SLASH_CHAR1 ;		
 	}
 	int startImagePath = (int)fullPath.length();
-	fullPath += aPath ;	 
+	fullPath += aPath ;	
 	
 	// create specified directory where file needs to be extracted. 
 	// to lower
@@ -107,7 +107,6 @@
 		}
 	}
 	CreateSpecifiedDir(fullPath);
-
 	data -- ;
 	if(*data != SLASH_CHAR1)
 		fullPath += SLASH_CHAR1 ; 
@@ -131,7 +130,8 @@
 		infile.seekg(aOffset,ios_base::beg);
 		//read number of bytes specified by the variable size 
 		//from the stream and place it on to buffer.
-		infile.read(buffer,aSize);
+		if (aSize)
+			infile.read(buffer,aSize);
 		//close the input stream after reading.
 		infile.close();
 	}
@@ -142,7 +142,8 @@
 	if(outfile.is_open()) {
 		//writes number of bytes specified by the variable size 
 		//from buffer to the current output stream.
-		outfile.write(buffer,aSize);
+		if (aSize)
+			outfile.write(buffer,aSize);
 		//close the output stream after writing.
 		outfile.close();
 	}
--- a/imgtools/romtools/rofsbuild/rofsbuild.cpp	Thu Aug 26 13:41:01 2010 +0100
+++ b/imgtools/romtools/rofsbuild/rofsbuild.cpp	Mon Aug 30 15:04:06 2010 +0800
@@ -47,7 +47,7 @@
 
 static const TInt RofsbuildMajorVersion=2;
 static const TInt RofsbuildMinorVersion=13;
-static const TInt RofsbuildPatchVersion=1;
+static const TInt RofsbuildPatchVersion=2;
 static TBool SizeSummary=EFalse;
 static TPrintType SizeWhere=EAlways;
 
@@ -86,9 +86,9 @@
 TBool gIsOBYUTF8 = EFalse;
 TBool gKeepGoing = EFalse;
 void PrintVersion() {
-	Print(EAlways,"\nROFSBUILD - Rofs/Datadrive image builder");
-	Print(EAlways, " V%d.%d.%d\n", RofsbuildMajorVersion, RofsbuildMinorVersion, RofsbuildPatchVersion);
-	Print(EAlways,Copyright);
+	printf("\nROFSBUILD - Rofs/Datadrive image builder");
+	printf(" V%d.%d.%d\n", RofsbuildMajorVersion, RofsbuildMinorVersion, RofsbuildPatchVersion);
+	printf("%s\n\n", "Copyright (c) 1996-2010 Nokia Corporation.");
 }
 
 char HelpText[] = 
@@ -517,11 +517,11 @@
 	}
 	if(gThreadNum == 0) {
 		if(gCPUNum > 0) {
-			Print (EWarning, "The number of processors (%d) is used as the number of concurrent jobs.\n", gCPUNum);
+			printf("WARNING: The number of processors (%d) is used as the number of concurrent jobs.\n", gCPUNum);
 			gThreadNum = gCPUNum;
 		}
 		else {
-			Print (EWarning, "Can't automatically get the valid number of concurrent jobs and %d is used.\n", DEFAULT_THREADS);
+			printf("WARNING: Can't automatically get the valid number of concurrent jobs and %d is used.\n", DEFAULT_THREADS);
 			gThreadNum = DEFAULT_THREADS;
 		}
 	}
--- a/imgtools/romtools/rombuild/r_rom.cpp	Thu Aug 26 13:41:01 2010 +0100
+++ b/imgtools/romtools/rombuild/r_rom.cpp	Mon Aug 30 15:04:06 2010 +0800
@@ -563,7 +563,7 @@
 
 TInt E32Rom::SetupPages()
 	{
-	iHeader->iPageableRomStart = 0;
+	iHeader->iPageableRomStart = iSizeUsed;
 	iHeader->iPageableRomSize = 0;
 	iHeader->iDemandPagingConfig = gDemandPagingConfig;
 
@@ -637,6 +637,8 @@
 		pi->iDataStart = prev->iDataStart + prev->iDataSize;
 		}
 	TInt relSize = pi->iDataStart + pi->iDataSize;
+	if (relSize == 0)//no page is compressed
+		relSize = iSizeUsed;
 
 	memset((TUint8*)iHeader + relSize, 0xff, iSizeUsed - relSize);
 	TInt compression = (iSizeUsed >= 1000) ? (relSize*10)/(iSizeUsed/1000) : (relSize*10000)/iSizeUsed;
--- a/imgtools/romtools/rombuild/rombuild.cpp	Thu Aug 26 13:41:01 2010 +0100
+++ b/imgtools/romtools/rombuild/rombuild.cpp	Mon Aug 30 15:04:06 2010 +0800
@@ -33,7 +33,7 @@
 
 static const TInt RombuildMajorVersion=2;
 static const TInt RombuildMinorVersion=18;
-static const TInt RombuildPatchVersion=1;
+static const TInt RombuildPatchVersion=2;
 static TBool SizeSummary=EFalse;
 static TPrintType SizeWhere=EAlways;
 static string compareROMName = "";
--- a/sbsv1/abld/e32util/e32tpver.pm	Thu Aug 26 13:41:01 2010 +0100
+++ b/sbsv1/abld/e32util/e32tpver.pm	Mon Aug 30 15:04:06 2010 +0800
@@ -24,7 +24,7 @@
 
 
 sub E32tpver () {
-	my $Version=679; 
+	my $Version=680; 
 }
 
 1;
--- a/sbsv1/abld/group/release.txt	Thu Aug 26 13:41:01 2010 +0100
+++ b/sbsv1/abld/group/release.txt	Mon Aug 30 15:04:06 2010 +0800
@@ -1,4 +1,8 @@
-
+Version 0.01.680
+=========================
+(Made by Marvin Shi 19/08/2010)
+1) bug468 initialized static data built into a static library does not get initialized correctly
+
 <unchange>
 ================
 (Made by Zheng Shen 12/06/2010)
--- a/sbsv1/abld/platform/ARMV5.mk	Thu Aug 26 13:41:01 2010 +0100
+++ b/sbsv1/abld/platform/ARMV5.mk	Mon Aug 30 15:04:06 2010 +0800
@@ -343,7 +343,7 @@
 #---------------------------------------------------------
 
 # Option to control the Linker warnings
-LD_WARNINGS_CONTROL_OPTION=--diag_suppress 6331,6780
+LD_WARNINGS_CONTROL_OPTION=--diag_suppress 6331,6780,6319 --keep *(.init) --keep *(.fini) --keep *(.init_array) --keep *(.fini_array) 
 
 # Option to suppress the Linker errors
 LD_ERRORS_CONTROL_OPTION=
--- a/sbsv1/abld/platform/cl_arm.pm	Thu Aug 26 13:41:01 2010 +0100
+++ b/sbsv1/abld/platform/cl_arm.pm	Mon Aug 30 15:04:06 2010 +0800
@@ -459,7 +459,7 @@
 	my $InterWorking = ($ABI eq 'ARMV4') ? "" : "--inter";
 
 	$Archive=$ToolPrefix.'armar';
-	$Link=$ToolPrefix."armlink ${oP}diag_suppress 6331,6780 ";
+	$Link=$ToolPrefix."armlink ${oP}diag_suppress 6331,6780,6319 --keep *(.init) --keep *(.fini) --keep *(.init_array) --keep *(.fini_array)";
 	$Objcopy=$ToolPrefix.'objcopy';
 
 	&Generic_Header(0,$Makecmd);	# define standard things using absolute paths