From 79714906ae765f161969dfddc34adee857be97d6 Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Tue, 23 Mar 2010 11:46:50 +0000 Subject: [PATCH] Sync EDKII BaseTools to BaseTools project r1940 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10307 6f19259b-4bc3-4df7-8a09-765794883524 --- BaseTools/Bin/Win32/BootSectImage.exe | Bin 393216 -> 393216 bytes BaseTools/Bin/Win32/EfiLdrImage.exe | Bin 421888 -> 421888 bytes BaseTools/Bin/Win32/EfiRom.exe | Bin 446464 -> 446464 bytes BaseTools/Bin/Win32/Eot.EfiCompressor.pyd | Bin 0 -> 8192 bytes BaseTools/Bin/Win32/Eot.LzmaCompressor.pyd | Bin 0 -> 53248 bytes BaseTools/Bin/Win32/GenBootSector.exe | Bin 425984 -> 425984 bytes BaseTools/Bin/Win32/GenCrc32.exe | Bin 425984 -> 425984 bytes BaseTools/Bin/Win32/GenFfs.exe | Bin 430080 -> 430080 bytes BaseTools/Bin/Win32/GenFv.exe | Bin 475136 -> 475136 bytes BaseTools/Bin/Win32/GenFw.exe | Bin 483328 -> 483328 bytes BaseTools/Bin/Win32/GenPage.exe | Bin 421888 -> 421888 bytes BaseTools/Bin/Win32/GenSec.exe | Bin 446464 -> 446464 bytes BaseTools/Bin/Win32/GenVtf.exe | Bin 446464 -> 446464 bytes BaseTools/Bin/Win32/LzmaCompress.exe | Bin 397312 -> 397312 bytes BaseTools/Bin/Win32/Split.exe | Bin 425984 -> 425984 bytes BaseTools/Bin/Win32/TianoCompress.exe | Bin 434176 -> 434176 bytes BaseTools/Bin/Win32/VfrCompile.exe | Bin 1183744 -> 1183744 bytes BaseTools/Bin/Win32/VolInfo.exe | Bin 471040 -> 471040 bytes BaseTools/Bin/Win32/build.exe | Bin 2739220 -> 2739179 bytes BaseTools/Source/C/GenFv/GenFvInternalLib.c | 18 +++++++++++------- BaseTools/Source/C/LzmaCompress/GNUmakefile | 12 ++++++++++++ BaseTools/Source/C/LzmaCompress/Makefile | 12 ++++++++++++ BaseTools/Source/Python/Eot/c.py | 2 +- BaseTools/Source/Python/build/BuildReport.py | 2 +- 24 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 BaseTools/Bin/Win32/Eot.EfiCompressor.pyd create mode 100644 BaseTools/Bin/Win32/Eot.LzmaCompressor.pyd diff --git a/BaseTools/Bin/Win32/BootSectImage.exe b/BaseTools/Bin/Win32/BootSectImage.exe index c5f336a997936465943022ade0a27f2f176b3828..535a8dc23903fc59db8de834208310394b4bcf39 100755 GIT binary patch delta 61 zcmZo@kZ5R-nDBtPVA+bs$E}YUTOTvEK4#wfnB^l_Z2R?xEWCRJ0-n9{ES|8$cb1mw QY-#PNr0rkkvhpMW0H%x`8~^|S delta 61 zcmZo@kZ5R-nDBu4Bj2LN$E}YUTOTvEK4#wfnB^l_Z2R?xEWCRJ%;xbfmrK&|XknV9 P7=2ttV*8i5tUO5od-od> diff --git a/BaseTools/Bin/Win32/EfiLdrImage.exe b/BaseTools/Bin/Win32/EfiLdrImage.exe index da82f6eb98fba596251d6fc674c3f6e9d885fd5c..9eee3ff62f90f6ff258510ec7236aab3bcf60334 100755 GIT binary patch delta 64 zcmZp8AldLha>4`Vf@LcjAGbbcY<-<0268+kpKVy delta 64 zcmZp8AldLha>4`VPkf6SAGbbcY<;45h UoM%lvbC>IZn(y`}MQk#$021{dI{*Lx diff --git a/BaseTools/Bin/Win32/Eot.EfiCompressor.pyd b/BaseTools/Bin/Win32/Eot.EfiCompressor.pyd new file mode 100644 index 0000000000000000000000000000000000000000..0729100b997577d4d531f947e693698ad916e19b GIT binary patch literal 8192 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 n=QA+)r}v=HAQI<2LxJBoX*;cCaoh literal 0 HcmV?d00001 diff --git a/BaseTools/Bin/Win32/Eot.LzmaCompressor.pyd b/BaseTools/Bin/Win32/Eot.LzmaCompressor.pyd new file mode 100644 index 0000000000000000000000000000000000000000..d792a7e9fb2073071b085076bfb15f99567e1aba GIT binary patch literal 53248 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 UJ=Q*Ejca*hE53b;0h^CM04Y5nwEzGB delta 64 zcmZo@kZNd(2m?@b>3{tb6YX9BO$!S<{`v UwLSZX--pdxj%?pzz~%#z$@b>G0tVbUR)Tdf8_13ky T&ft$)uag?=yM2ujTZk_J?spw0 delta 64 zcmZo@kZNd%#z$@b>G0tVbUR%s$1}9zBcA UZ{sZ)J-sK|7Tebtv4!{o0QA}&sQ>@~ diff --git a/BaseTools/Bin/Win32/GenFfs.exe b/BaseTools/Bin/Win32/GenFfs.exe index 3001ea8606b6819075c2f3e82267d77ee29a6c85..9411bdc50c843b321af6a56daddce3b56a29a6f5 100755 GIT binary patch delta 64 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 diff --git a/BaseTools/Bin/Win32/GenFw.exe b/BaseTools/Bin/Win32/GenFw.exe index 3fe8e4798d724da31ee031398c3e5f7d08f444d3..072d0fe2727bc7ff34ed2c717946733c613f2c18 100755 GIT binary patch delta 64 zcmZoTAlq<2cEShd@?|R;Kev8nZ2ipC`kA@)Gt1V`tRKO`+n;}ARedTT6!TqHlCRCb TdyimR!S){E?K0Qdo^${JDy1KT delta 64 zcmZoTAlq<2cEShd-+YT2Kev8nZ2ipC`kA@)Gt1V`tRKO`+n;}ARedV3F(PO!gvH diff --git a/BaseTools/Bin/Win32/GenPage.exe b/BaseTools/Bin/Win32/GenPage.exe index 8e67d77c6542030c4ca44c6c0f68d7712855df04..5af9a323e64c711d00d6d0ce8b75be261c29a720 100755 GIT binary patch delta 64 zcmZp8AldLha>4`V@?|R;AGbbcY<4`VKYWWCAGbbcY<i2 Ud+T0(-lNTDmTq5S#1>-<02(JBMF0Q* diff --git a/BaseTools/Bin/Win32/GenSec.exe b/BaseTools/Bin/Win32/GenSec.exe index 12f7e6c214253bde7b6d0f644528ae4fe19bfb5b..deda7866e15bd86dc599fcd4cb1d885828d12385 100755 GIT binary patch delta 64 zcmZozAlnX6x|*01~qw4gdfE delta 64 zcmZozAl&FC;@b>44tf~(LYQ>!9FFo+i Uf8x{czmB|n{CvBN6WbG803$9T`2YX_ delta 64 zcmZo@kZNd{k$+L+=hn}Rt)H1%KQp&}X4(3g^D82R@DaruDz!xRxNAv U>$qp+`s(TX&)a33*q+z|0JuILdjJ3c diff --git a/BaseTools/Bin/Win32/TianoCompress.exe b/BaseTools/Bin/Win32/TianoCompress.exe index a71fa3b12345a03c2077a8fa9913a810d1454314..ec43802ab8714a11b0ca112668e71cfa0d2f0d06 100755 GIT binary patch delta 64 zcmZoTAk}a{YQh8Nnq?~*AGbbcY<z>% delta 64 zcmZoTAk}a{YQh6%CjLc@k6RxzwmxQReazhYm}To@){hM!;qBKOSua7!MUdKdcO{^aSTT F1OWcIEEE6$ delta 105 zcmZoz;L)(aW5Nq&LHwH`P&!thb!b27n;~GBdXx@CM>Pc3mW+ delta 73 zcmZp8Ak*+bX2K0-CjLc@w_9&Bw%%rHz0KTun`P^5R?deY;qA{KvMzli@JU|x$ok*m do;`P2xt?2D@@=1Uj;%qF$%Aff;O diff --git a/BaseTools/Bin/Win32/build.exe b/BaseTools/Bin/Win32/build.exe index d7d48add44590a9cc74c9458790af202e4a762b7..d6ae790c92a1151cb9ee0ddd6ce9741adea18650 100755 GIT binary patch delta 2564 zcmZuz3s98T6~6c1<*~aU5ZC3QSp^X|(gdcyh@dxU8G()eNsMOtke&tXv@_kAZ|~m!o_o%B zzjN;S_r2d#%X_Gndt2r0$Ntw&?2JhGV_R_|31Npu2oYs+x9} zN%_8?ca0QcyATC(>RS=JmPo4*YqtiY(^oM{XN>tO8$cv(f(S1;w|OHqZ2e||G_|op<<{R4h%>;UK0Rw)T3!eWE6Eev5)rBDA|#Ig3nlYI0`!wCs~?;?#HBS?owoMNR{6T3Sm+ z?FX|oBHNsup7s4{DY9$X(;sl4mLgPb(Hd+RWXthd3X%DkRmaNRNzzPp98A2f@j`kX z1*;|wXb}94W&t8jk_&q4IENcCUdLio!0#-D%U|FpXDMjG|GOAZL=@t)PE@h6%5$X- zTUY9gcwEBXX4SJd7d%r>OI1HC(&1Q5CirV1=05NO8{BUvZf^gN+O*Y$T)dr~>7UQ(62=BQyRO z^Um=sA3r)r>zt0nxe9Z(1=%*5gG=X_Q2=h9qvxb63{4a!%}8jXRdNg7ZQ{b8?7)Xj zv_^H;=7!KdH$57g`5?dU=RB@xW)dMtY^E6HfhUT2ltUP6X3EL%XrV~eSd}~GSG#*6 zqlFeb4>q}r{Cray3P(5%O)b1T2BR$$rFsQ z!yK;rJZ}ic_4Dli9k{hJ<5&*R$g3z$yN$ejXCHs-%)SG<~A1i z$0%x}NXKd)y)ftD{z+zVvyF?W<4wKDPD`1&Iu|%Z2EKQJE7KpD7g)On)LdZKCAd31 z3ux!K`;gSm61|909+dHKaI2kSbzi6r|Ec!BIT;N2R|&b=OWr7-g}H;hc%iw2BDl7{ zvd@YTdXb_vtw+4LX!A_FrVIJtMYiup!$meM!d?5|kHAh^tqQ;Ig~Iz@2K>B}53~`r zoh;oKgnOM7rX7FPTdXnf*kR5>$Vry0Y=|Z6O7?cgmM+pdy_M`OcBCzvzF>R0_?U-r zyo(bShFe|Cr5N+Ox!I&3shgs;^}qCJ z=eZK1E-~FiympD56rlVPEmIAw_JKCi$H(4WT`*}k=zy_@!j$heU~>=aw-rZvC|3FO zXBg|DI892U&s4ZIn6Q^{R45bnA$ARLFJ6T~`>X}7 zgA}dY=)w9ycKS4m2btnJ{C1F*>%JTC7kN3ECQJH~=~AA`%QHiqfUAfbV%Lt?JH+?w z!Czq;;-+fBw?ljifskQZ=G^MFNaUqk@}{rM-eKO>iW9>eyc)NMnQhXsMW{Nq$cW8cyN+m4Zb5BuLKbze4azdA7RN;(KN!HX$$@_!esX&bd;jhf3FK-z71r= eqq9N!|9Y7Wpm~(Sl^b37YLpf@x|i^uJn?TaHi$F; delta 2541 zcmY+Gdr(x@9mmhP7Z%xF7jRi&7llQ#$d68I+63`|vZzRPv@z61+s085A8U~nTqjy# z#Gxj>reetWjTwU=%1cDvE6)WKR7ibfQfF+d)qhfrLsDa+u}1B07o8z@=Cfz+J?H*j z=X-v4@1s(F^l_yuXqI=Mo4?FSO*$A|t~f~uFM&dcRHtjon&MwtP44k8N)MDVMnfx@K`ju3o0NeN3BCklmd8NI(8 zR-snpYegO#W^Y=bw>*F02=z|O9HWnAE)(vti&^6Zhs7?&`-0-YTw%fyF7kC^TZGrf zycI@~&vtaeVHSCMpS7HWa+&vm1@mH*Vi|!RmmwVgjZt#PyYyVH-(@@2I5XF#=H@zc z)06oDzImcEy9-`ZJW@5taqc;>ido9`;s<2HN2|=?AMBm1Fe>B6_%j+NfEmLCy7x}j zW)_ci7Gx#S)7P_%JB2Xff9+a}n*RL}-SHh-&rJCXeDz3c(^(za)_K33YhCBa z`oQp5%jg(AGnO$hK};|c!i-~#OekYw#xr3|IAdlkOawE5naD&kQH+&|W+pK)%xjE| ziDf3c4UgmeE64ssO|X{GucZr)60*xns41a2@>>j-P_q0UKR-rk>Xo?)7%R*dNssbl z6e+i&?-#TYm>E-WdhdD>M~eqxI&*O9#*Aw3j|#&WW7ihnDo1jYCQekUkZT^Z;P zCTzsC^8^RmzsPWG zLFpic!Ct|>7U7Q-^rk$Bq6(V9RUN9Jsp``r4Va0zT*DgHqy4{1gxa|4Sic^9&9 zz&oVjGw*O8`YN{d2~w)q)+XdtQIb52wkodOEj*~AY4RT8tNHE$GOBs*a~!Lt)W8py z2a46Mwc8xHdXxqJcvWDq_f)*RG^-I=Lkm>Hfj}@;?5m-8HK#}mCd?aRy!7Bn4b4=K zwP?Xuu(yNs)}N@KPe9Nsiz8zP@=wuBX-C^BS{RTpOD8fiGZ0hs}k$ zh!Fv0)Nl@8C|F8O|@pG9u31*BLeE^4Mn_zq&k|RSj(}kj%LfR;I8BFe#ArXT?u}5 zhUUu-Y(K-&dkan8VJe2ta7{l(Y(34Ag~+Vu4UcOJ!i2VDH;T~ z&;q#|e`w*LuHusxuHzkCZeiIJLv5vG!{S(zSh;fDR@c_twJTTR&~YwnM}lc|{jOtY zE8FfzZ!1^mI-a%C^nkjXChunly)|UUJ8sU*g{^Lyr3QRw!qbN)3$D1iASQo2b<;w* z4D-*jjTG!T%R;O`Ki{dfv0*5U4KpFKjq|*T1#PV3`}j*6FR4YZcUX+)ZM+|unAOf@ z%11#v*%ebf`r0|afMxixofA8aqz=xg9XTDmXf>KUC?(KSU>0d>v*%}`r-m#er)okc z3vK@{Gj{GWoA8@X_WE~h@8m9|zhXXo#T<&~^%RV@o95B^e}RXcyqP<0o8i38?=9}4 z_%RjZEMkpw^Y#%17k9DY;n^14nQgIPkQeCgq*%m;)mt`XIbNzBqg*Hi5`~1+3qORc1K0wh=+si#(58C_-6$4un<#W@8N=N zz>XeDRJ(?)UU^T1&cjXQRuAvU3_R;$4{1p3Ws^z+w)V1szCdd)J8HrU@7+e&`zUox z_48=ozX-hD$Hl7TA3hO%eO%lnP|mRtJCe>(y3E1Bb1bkrTsX&b=?FMaY24J_I?t_k z9ggyy`cHQZ?|lrb;5;`D)f0oVY8F*eKfNyJV^cpz?nFgDO;w`%ajTzW_!dzEY;+2i z4bW_5;(vev-p)_)*#J!+L%}w&KFgUg(y*g1aAY@;bb%7on=5R%w!&uh)<%!g3!L#) zcrMU%b?*@y@{iaey`QOgbwaBR!L7E?k@o8QG;O@dX6|D5MViXJxbvb%-C7<+-gBVcp*6a>XZ`uzGD&W6~y(Sj+&=YyO;JpzWv q9vE{fPApxWk+pW@toYjdrXlt}j6Fj%Q&Bt7KSWl|^rQT5PW&H~&RdHB diff --git a/BaseTools/Source/C/GenFv/GenFvInternalLib.c b/BaseTools/Source/C/GenFv/GenFvInternalLib.c index 00d008573a..7368bbbf9c 100644 --- a/BaseTools/Source/C/GenFv/GenFvInternalLib.c +++ b/BaseTools/Source/C/GenFv/GenFvInternalLib.c @@ -677,7 +677,7 @@ EFI_STATUS WriteMapFile ( IN OUT FILE *FvMapFile, IN CHAR8 *FileName, - IN EFI_GUID *FileGuidPtr, + IN EFI_FFS_FILE_HEADER *FfsFile, IN EFI_PHYSICAL_ADDRESS ImageBaseAddress, IN PE_COFF_LOADER_IMAGE_CONTEXT *pImageContext ) @@ -692,7 +692,7 @@ Arguments: FvMapFile A pointer to FvMap File FileName Ffs File PathName - FileGuidPtr Guid Value of Ffs file + FfsFile A pointer to Ffs file image. ImageBaseAddress PeImage Base Address. pImageContext Image Context Information. @@ -723,7 +723,6 @@ Returns: UINT32 DataVirtualAddress; EFI_PHYSICAL_ADDRESS LinkTimeBaseAddress; - // // Init local variable // @@ -731,7 +730,7 @@ Returns: // // Print FileGuid to string buffer. // - PrintGuidToBuffer (FileGuidPtr, (UINT8 *)FileGuidName, MAX_LINE_LEN, TRUE); + PrintGuidToBuffer (&FfsFile->Name, (UINT8 *)FileGuidName, MAX_LINE_LEN, TRUE); // // Construct Map file Name @@ -808,7 +807,12 @@ Returns: fprintf (FvMapFile, "%s (Fixed Flash Address, ", KeyWord); fprintf (FvMapFile, "BaseAddress=0x%010llx, ", (unsigned long long) (ImageBaseAddress + Offset)); } - fprintf (FvMapFile, "EntryPoint=0x%010llx", (unsigned long long) (ImageBaseAddress + AddressOfEntryPoint)); + + if (FfsFile->Type != EFI_FV_FILETYPE_SECURITY_CORE && pImageContext->Machine == EFI_IMAGE_MACHINE_IA64) { + fprintf (FvMapFile, "EntryPoint=0x%010llx", (unsigned long long) (*(UINT64 *)((UINTN) pImageContext->Handle + (UINTN) AddressOfEntryPoint))); + } else { + fprintf (FvMapFile, "EntryPoint=0x%010llx", (unsigned long long) (ImageBaseAddress + AddressOfEntryPoint)); + } fprintf (FvMapFile, ")\n"); fprintf (FvMapFile, "(GUID=%s", FileGuidName); @@ -3094,7 +3098,7 @@ Returns: PdbPointer = FileName; } - WriteMapFile (FvMapFile, PdbPointer, (EFI_GUID *) FfsFile, NewPe32BaseAddress, &OrigImageContext); + WriteMapFile (FvMapFile, PdbPointer, FfsFile, NewPe32BaseAddress, &OrigImageContext); } if (FfsFile->Type != EFI_FV_FILETYPE_SECURITY_CORE && @@ -3320,7 +3324,7 @@ Returns: WriteMapFile ( FvMapFile, PdbPointer, - (EFI_GUID *) FfsFile, + FfsFile, NewPe32BaseAddress, &OrigImageContext ); diff --git a/BaseTools/Source/C/LzmaCompress/GNUmakefile b/BaseTools/Source/C/LzmaCompress/GNUmakefile index de38ea1047..db3dbd1037 100644 --- a/BaseTools/Source/C/LzmaCompress/GNUmakefile +++ b/BaseTools/Source/C/LzmaCompress/GNUmakefile @@ -1,3 +1,15 @@ +## @file +# Windows makefile for 'LzmaCompress' module build. +# +# Copyright (c) 2009 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# ARCH ?= IA32 MAKEROOT ?= .. diff --git a/BaseTools/Source/C/LzmaCompress/Makefile b/BaseTools/Source/C/LzmaCompress/Makefile index b2fc9de75e..8cc303dd69 100644 --- a/BaseTools/Source/C/LzmaCompress/Makefile +++ b/BaseTools/Source/C/LzmaCompress/Makefile @@ -1,3 +1,15 @@ +## @file +# Windows makefile for 'LzmaCompress' module build. +# +# Copyright (c) 2009 - 2010, Intel Corporation
+# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# !INCLUDE ..\Makefiles\ms.common APPNAME = LzmaCompress diff --git a/BaseTools/Source/Python/Eot/c.py b/BaseTools/Source/Python/Eot/c.py index 71d2b626db..8b11ed378f 100644 --- a/BaseTools/Source/Python/Eot/c.py +++ b/BaseTools/Source/Python/Eot/c.py @@ -361,7 +361,7 @@ def CreateCCodeDB(FileNameList): collector = CodeFragmentCollector.CodeFragmentCollector(FullName) try: collector.ParseFile() - except UnicodeError: + except: ParseErrorFileList.append(FullName) BaseName = os.path.basename(FullName) DirName = os.path.dirname(FullName) diff --git a/BaseTools/Source/Python/build/BuildReport.py b/BaseTools/Source/Python/build/BuildReport.py index f805aae5ca..329352204d 100644 --- a/BaseTools/Source/Python/build/BuildReport.py +++ b/BaseTools/Source/Python/build/BuildReport.py @@ -601,7 +601,7 @@ class PcdReport(object): FileWrite(File, "Platform Configuration Database Report") FileWrite(File, " *P - Platform scoped PCD override in DSC file") FileWrite(File, " *F - Platform scoped PCD override in FDF file") - FileWrite(File, " *M - Module scoped PCD override in DSC file") + FileWrite(File, " *M - Module scoped PCD override") FileWrite(File, gSectionSep) else: # -- 2.39.2