# HG changeset patch # User Zheng Shen # Date 1283151846 -28800 # Node ID 9435b9008a58e723e9c4668296f1922fcb0d0864 # Parent 31ef8a13d4f43f3d26120a77d1dd876e5e6dd34c ROM Tools 13.1.0.1 Bug468 initialized static data built into a static library does not get initialized correctly diff -r 31ef8a13d4f4 -r 9435b9008a58 imgtools/romtools/group/release.txt --- 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) =============== diff -r 31ef8a13d4f4 -r 9435b9008a58 imgtools/romtools/readimage/src/image_reader.cpp --- 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(); } diff -r 31ef8a13d4f4 -r 9435b9008a58 imgtools/romtools/rofsbuild/rofsbuild.cpp --- 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; } } diff -r 31ef8a13d4f4 -r 9435b9008a58 imgtools/romtools/rombuild/r_rom.cpp --- 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; diff -r 31ef8a13d4f4 -r 9435b9008a58 imgtools/romtools/rombuild/rombuild.cpp --- 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 = ""; diff -r 31ef8a13d4f4 -r 9435b9008a58 sbsv1/abld/e32util/e32tpver.pm --- 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; diff -r 31ef8a13d4f4 -r 9435b9008a58 sbsv1/abld/group/release.txt --- 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 + ================ (Made by Zheng Shen 12/06/2010) diff -r 31ef8a13d4f4 -r 9435b9008a58 sbsv1/abld/platform/ARMV5.mk --- 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= diff -r 31ef8a13d4f4 -r 9435b9008a58 sbsv1/abld/platform/cl_arm.pm --- 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