From 79b74a03e018ecbf03d8d50e6f20301e249c1ba5 Mon Sep 17 00:00:00 2001 From: lgao4 Date: Tue, 11 Oct 2011 02:49:48 +0000 Subject: [PATCH] Sync BaseTools Branch (version r2362) to EDKII main trunk. Signed-off-by: lgao4 Reviewed-by: jsu1 Reviewed-by: ydliu git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12525 6f19259b-4bc3-4df7-8a09-765794883524 --- BaseTools/Bin/Win32/BPDG.exe | Bin 579301 -> 579301 bytes BaseTools/Bin/Win32/BootSectImage.exe | Bin 434176 -> 434176 bytes BaseTools/Bin/Win32/EfiLdrImage.exe | Bin 421888 -> 421888 bytes BaseTools/Bin/Win32/EfiRom.exe | Bin 446464 -> 446464 bytes BaseTools/Bin/Win32/Fpd2Dsc.exe | Bin 1436918 -> 1436918 bytes BaseTools/Bin/Win32/GenBootSector.exe | Bin 425984 -> 425984 bytes BaseTools/Bin/Win32/GenCrc32.exe | Bin 425984 -> 425984 bytes BaseTools/Bin/Win32/GenDepex.exe | Bin 636701 -> 637047 bytes BaseTools/Bin/Win32/GenFds.exe | Bin 1608149 -> 1610088 bytes BaseTools/Bin/Win32/GenFfs.exe | Bin 430080 -> 430080 bytes BaseTools/Bin/Win32/GenFv.exe | Bin 479232 -> 479232 bytes BaseTools/Bin/Win32/GenFw.exe | Bin 495616 -> 495616 bytes BaseTools/Bin/Win32/GenPage.exe | Bin 421888 -> 421888 bytes BaseTools/Bin/Win32/GenPatchPcdTable.exe | Bin 630705 -> 631051 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/MigrationMsa2Inf.exe | Bin 1382578 -> 1382578 bytes BaseTools/Bin/Win32/PatchPcdValue.exe | Bin 563443 -> 563443 bytes BaseTools/Bin/Win32/Spd2Dec.exe | Bin 1410326 -> 1410672 bytes BaseTools/Bin/Win32/Split.exe | Bin 425984 -> 425984 bytes BaseTools/Bin/Win32/TargetTool.exe | Bin 585238 -> 585238 bytes BaseTools/Bin/Win32/TianoCompress.exe | Bin 434176 -> 434176 bytes BaseTools/Bin/Win32/Trim.exe | Bin 841923 -> 842269 bytes BaseTools/Bin/Win32/UPT.exe | Bin 2329281 -> 2329281 bytes BaseTools/Bin/Win32/VfrCompile.exe | Bin 1273856 -> 1273856 bytes BaseTools/Bin/Win32/VolInfo.exe | Bin 471040 -> 471040 bytes BaseTools/Bin/Win32/build.exe | Bin 3022769 -> 3028851 bytes BaseTools/Conf/tools_def.template | 189 +++++++++++------- BaseTools/Source/C/GenFv/GenFv.c | 35 +++- BaseTools/Source/C/GenFv/GenFvInternalLib.c | 14 +- BaseTools/Source/C/GenFv/GenFvInternalLib.h | 1 + .../Source/C/Include/Common/BuildVersion.h | 2 +- BaseTools/Source/C/VfrCompile/VfrSyntax.g | 2 +- BaseTools/Source/Python/AutoGen/AutoGen.py | 177 +++++++++++++++- BaseTools/Source/Python/AutoGen/GenMake.py | 9 +- BaseTools/Source/Python/AutoGen/StrGather.py | 32 +-- .../Source/Python/AutoGen/UniClassObject.py | 44 ++-- .../Source/Python/Common/BuildVersion.py | 2 +- BaseTools/Source/Python/Common/Misc.py | 21 ++ BaseTools/Source/Python/Ecc/c.py | 122 +++++------ BaseTools/Source/Python/GenFds/FdfParser.py | 53 ++++- .../Source/Python/GenFds/FfsFileStatement.py | 6 +- .../Source/Python/GenFds/FfsInfStatement.py | 6 +- BaseTools/Source/Python/GenFds/Fv.py | 7 +- .../Python/GenFds/GenFdsGlobalVariable.py | 8 +- .../Python/GenFds/OptRomInfStatement.py | 4 +- .../Source/Python/Workspace/MetaFileParser.py | 35 ++-- .../Python/Workspace/WorkspaceDatabase.py | 17 +- 49 files changed, 566 insertions(+), 220 deletions(-) diff --git a/BaseTools/Bin/Win32/BPDG.exe b/BaseTools/Bin/Win32/BPDG.exe index 9d2cc2b823ba109d526a87db0c49700b0657b94c..016bee5d840c122adec6de0bc305dae8381edde1 100644 GIT binary patch delta 327 zcmaF5R{7~#?d4*96OmYQJs16yh)R_6OEb73@0ZfPUYyU^s;Z#Ipi?; zZ=wqGomrDMt0e6_$gv(M+V}9@zv)kv8ReO!XHVMBuENN61gv`A?7)-LMPD##f|PG} ze8KouKpmw1!PR4$tN0igK$wStfgwIVH!(9WK3=b&GI{eSUM`?1?V&#zw}<{@S|1O# zA>n_q%XFSdW+{*j?V6FyK+LjTGm_OJ7i^Q(7RPhbGmo( zo2bJ4@@3g(m86{qInDz`uRmG;box_eMtSD%FUz*Gt1z-10jqAD*={pk^aZ0PNcnch z7mRNO)IsV$e%LyF6(0iw2=g#7FvQ2_CT8Zv$LkeTCU5@4%LO#0J@hBz_Ryb9>*K*T zn6(Psn$8o+ECsTmT{Dsyh*`F4MzUJuf^G8D(409v^BAi#$foxGW2`{T2E^>!`;T#) zVS)Q=dh%%wTewfAuQ<(71oy#qr869oj0lH2pXIOzOM;xcz3VJTAT!)8+aF)x$Y+9E Ly*=tOM>jJ7Xx4{N diff --git a/BaseTools/Bin/Win32/BootSectImage.exe b/BaseTools/Bin/Win32/BootSectImage.exe index 1ac08a171e75129167c2e196542d3171aa3d306d..313bc717562aaa5cfba136becc04bfb2e2a3e7c0 100755 GIT binary patch delta 73 zcmZoTAk}a{YQh8N8S^GJK5l)?*!q~M^)YknW0tLtSwAL#gtuQ$WIg&oVBVQ?HMf1; dyr%VRo!nnHrF#1sC$<<_CNsnBTnTL7>;YiLBRc>9 delta 73 zcmZoTAk}a{YQh8NX|Ku}AGbbcY<6Z8+KWlImA0>OVvCVwGBVoEmB9AR9soO+A%Xw^ diff --git a/BaseTools/Bin/Win32/EfiLdrImage.exe b/BaseTools/Bin/Win32/EfiLdrImage.exe index e1c47508e2918af21f052524668a2b3624f7b6dc..e06cbedc51ca47a95828ab41b6d4278a83763979 100755 GIT binary patch delta 73 zcmZp8AldLha>4`V8S^GJK5l)?*!q~M^)YknW0tLtSw9AVgtuQ0WZnBfz+N|T+A3i` d=Y~SV%`cm`6>nc+#Fiq4`VX|Ku}AGbbcY<qzzA;tgz diff --git a/BaseTools/Bin/Win32/EfiRom.exe b/BaseTools/Bin/Win32/EfiRom.exe index 73c638f42121d3caeeb1bac829c8d08efc095124..01ad3703d0114ccdfc4f2b042c4c90c5b8d3c8c3 100755 GIT binary patch delta 73 zcmZozAlSszXS32(nXk@fEbfn5pO->0gm dxi;{m`9&KUeBb`0h%HBx$;@zj&>XgP#sEdaA`Jil delta 73 zcmV-P0Ji^tpc{ao8<6k=mg;ta^M&&Ph4TW1^8UOu+kp=zW5F?fD fx&{>GN|^3Dpozu+C%5Es25cz;GBUSPoCdBlbI&7? diff --git a/BaseTools/Bin/Win32/Fpd2Dsc.exe b/BaseTools/Bin/Win32/Fpd2Dsc.exe index da0b3957dc8e262770a43c43438ecfacb5a44a73..fd41b60624b4d57b6783f36bdedec45feefe60f9 100755 GIT binary patch delta 911 zcmYjPT}YE*6#lkPZJV3x`_`Kv5sRGjXE`)jYK1?knPg2XyvWehL1LgwD}PCL(KJM3 z3tm%NE4-*HEyI_7WD=5jktt;{e=6~JN~ICQ3yHq>e9*c$7whOUi3@ZncV8ZJW~z*^Uq4tN3N9v4g69mo(n4o12p9Ar_f+=f1BZT8lLJ?Mp8tw-KRWu9VWSY^2hLT zy($LsHF{NX9puwC|19F^`zrBXgkc`fA?Gb<#KiWTt&u?=HlsnS7%~cxp zw12Gqn$exXFf^3Hm1k@)Bqrvbfa@plaV-pKC(bY&B7Y5;V@y~ZS* z>*tMt-sI2BT$S8`n#GTPd$b+-=jfzQEw6H1e%e+ zlbVVwO`?a=fQLFiq6R2ZzYuN;sYBpNEkUAZkXHiNQU_r992$TkRhNv+A&H0!qQ3ir zJW!-kk~?2fK|ne3V*wozd#P9?aS5e}xS&z(GD;69Gqj9aVJ6iB=dGa10N=wa$Qocd fc@<^-hA%_*`{SJ7-P;{X)^xYq582URyA_XAsgBcTF;JzF zLrnrzY+0@Lt&H_DN*Kg>Gi)Lolp1kgDN4cLo*45WzWL1gZem%NOlJGIX7U^onA2m7g!7l zkgvBGDw`mGyE60#e|cz7?&Z7&k@H3o&TEX*z`enOwN0GTZ-jeAXTOm+`}h1Bhrc~j zt97`-$t##0PF~llrCYx_ckmVNUE+_i@`B{`65kmESfzq*3!mTNPf+ei*A8EsY@z-0 zi%(y8vl)hlUcT~7L)|rJZhiHCXOcsS!o+Dn*9=qy@sFEAETHRKg_IURw_g}Z#l;~Z z8PHop!hDkUaI-zLD2c4&i{@yH=Ke^7S?W{xIf=Doru zoVA^02w?v{luW5o_&u;6m8CGO>VE3NDEH?kgID zB9)RnSVU!E<;c%vl%e!ev50L2r7O6gQNt?A3M(_ZiaKB>)dQbgL$zVP$JdZM%yQZ~ d%KOJHX(2m?@b>3{tb6YX9KKMpp@`|R d`_eVBOLiGD?byD>fXzUW$;fE?vp_Z}JpfJAB1ixL diff --git a/BaseTools/Bin/Win32/GenCrc32.exe b/BaseTools/Bin/Win32/GenCrc32.exe index 2a4fa4647abbf5e58b2b541acab30ee875b549f2..d20d15a950896f6bf507ee34cf92bdd60df9c357 100755 GIT binary patch delta 73 zcmZo@kZNdn&b&#DpIbjOwti-6{mk6@nPux|)`tNg;qBK0S&u#t@VQsMf9=HI d4*MDxrcH@9wAsGKh%H8z$;@y&R{+~LeE>($B3u9f delta 73 zcmZo@kZNdn)~m9{&#j*sTR$_ker9g{%(C?}>%#z$@b>G0tVbURXdQoDINjxw d=jBCpcL9tw-|)Y1UK9?L9=ApA2lY+bZ#OUfA+(Bi#V5O5LqRd8cmvQfYsv-zL~c`t4f7 zP9by0i?BP3MA$8cHhJ*->x!{EHgHePyg&>3qt!A^;lD6M; zSfAR^qIWL`DS4fy)|0)s8Hf@e09Ua{V-PY@WRTD?g36T07=VltdLN^*K%^^8qP`zam0C0`Y|SV`R&FHBC}&bYr3SnCOysk?w(bgN?{H>fEQ$A|YvQaMvxX#gddXI2 zY$`Uk*c41DHP*k$&h}3(zY<$jr8hTJRdvW&`(X@2I1&euKtgd4mN>zVIr(O|^oFamQgFvCiap66zs_rCbr#MSxS#?8@t;UB! zc?l7R;D{`$q(M~Wn^t3&3=jJBQMeo9uYLETu>uD;dE5;i7Ywn%xK#X%83Ykti@_6X zVCa9qQ3eKxVA_Hc72HubieWw$zbfiZGwmx_-hxf|ystuwU&kUh>5kj`-r8tSn|=;9 z#o?p4uX8XC`v&7kGWPG%$my4_!nJsk%$LdcFrM5Cm4I#2)MT|5eoH5t$xwf%GK2V( z8Nz{I{UKl8&AkA%8d*FK>Fm+S7|DG-8u4tGA5Zb@y#W~xaSbnbh@IsQg|FNp9o*{2 z^BSZ}aD74Y@2_uVL8|`QZ|A=QRD4dS|NRX>Jw|i=7+-lPAEPoFsR{zdX$(;o!BgWjlY}*bp2?iyXo6~N#PTHdlmrK0buIY|NY@ z{nm9BmH47TekwN?kN2cWy>Nwz?)`jlpE8 z{lA;@x9r=45T}h#+-WijoGzM28q46mi>8x5^^h>dTDmm{m0Z>fFfc`Tkwhajoote2%;`53XB!GweMsE<(`^-Aj(#hn^Ys Z9$)N+Z)WH-WOx`J&Cn?E+!$p;`Wx?qxM=_Y delta 1272 zcmZuxeN0nV6up@cg}l%J*u2dS4Nfk{I7>Cjq&q!2W}FCxD+C|Gfy@0#f@i`YimP`d-RDGMVZgi z*k%+T1fKL%NhTi-1@v|cF`EM&_74;spxt9>3T)WRB|M_oVcJ^5t<5u2pP4^Jh|6Y# zP>Z{-&+RfDat`(wJ-(jY4FhjZT)-|MO59O`kVAp&a`X;CofJ8g$RS5>W7PQ!vc9}S zA-<)=-^;*~P;7yVH)Kk<;}q0zYYQGEBQp4|OR9r2KT4Ef&&LrwDi)}*Op3=qtHF&} z1)UmPmiHb;$of8Cj4UH7z@!GB-jv7o0^W>^>Zp>cL{$-vO7WC9W~!WTw}K{PtQR+G`~p_cKTnXFWc+p_3Xol7CevWg-(-b;8Hv z8GqZ3>S>q=3R!xtI(pPL*f;uipN01gcgPnZ}BTR}@{pX6$@mAT>|p|4s&Y z7HC7p$7cbO3v|z>|IYyYy+99<*)nJk(K-@sg|QH=B};C&&UAgVj-YO@W7z5C)f_p9 zNdYQgH6p}OI3o{PleiRTthr^$K)_T%w9p!+D*e+~%Dsuu4?Dpdrn`vU4&g9uBCqtq zA7R=+nqBZ*gzl5H`UxzLlR_Ae&>E_pCdlI+bPmHyAzA=;BeaAVS71FtcN20CYNE86 z^sj;|%BpzqCwvlRRcS2nbCe+(4?;ia2c~n%AH$PInSG0cYb3esmc`uJZ}3$5{cFOQCv^Y54~9aGh4e>>`W1 zw+(*c=Y|7Nlwk2kZE!e2ckQ(g3y5*+ePf{8^E7(-7|bx9xTyc*i|q_o;AVm$uU`R4 zl4WqA3hI-zh4@S`nq)V8ehgAc`n<$>QVzfL$_qh~qBZ2M7ECD?)!P7`6w9al6wIX< zZNE*yeP&mFbWwragJwrxmRmhf{{TTzmH_|& diff --git a/BaseTools/Bin/Win32/GenFds.exe b/BaseTools/Bin/Win32/GenFds.exe index a0c20def4d03041bcd029fc44ad351755741d9c1..9209a7dd863814e33d899f6d58a6bf28624eb6ce 100755 GIT binary patch delta 19359 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 delta 17775 zcma)k31Ae(((v@`W+pq6V>f$bavzWojs!@!uMm;|;buTl9uPvZzy@+JcS3-G+-Jm+ zCn!7*6cC80<1IWzz=KP?K;=+G5IOWcQBe7-dIJf0zW4pXuJrU-U0qdO)m`!Xe@ytK zcEavA2DUmlGc7&ykEvB%w+aHKU_lTvONxq0irWtMROF|W&dT5OQ=oG3;`BY=4SZx3 zD~6bhPG{}9lf9z_!R;>;$ihNV7;O>Uir|)o8YYZZ1${)4|DNAYp74W^VPZ;c_PGkN z$`5SE#E9BY&b`X!?OFYepP4PHU4J2+1=N0WA>O)z34*?oKnfzDLv6tKQ-Z9Rl~^#- zI$IP=z@Ek5?>4hX_H_AiDU){j2|~q0*mBlsuRVF?s+F0pnEcnH*w%7GUUZ+0|TdoD!Yujzi_Inhow$&cE?qOT@wEt-wV~^IZ`S~kW zxu^JFJI~raK-z@K*{eSqE(nzDa5PbL`g4L@y*S+%@G0wOf)$~5TkVET0kHE6mJYU) zER+Sn+PyX>^g7A5!m%xK7>v=xP#ANHS>R*Y?lNjlvHK+!3MbF9MAib>ITprRLc}?C znxz}J&M{5KksO!UqgJnqG{`BQ*w-`FJtVKl4Rx1TGpQNTs5zXx#KuUmlsB!vrZ}Vg zF?)aBR8K*k*R2Opc`E{~3G{^GA6O(#w)_XSpLK%amzmDG!&8@8mf8awB+1k&6n?(U zs@Ylz#2OsBRQ70e~jiGT;5yvEvC@1y+v1X>U%h11tq zlr)C&Wx!lgCS+e{g;FRL%!HS&vjkQHr>?UqcF}n7C+5$h2ob#}0xvD4&os}}f+5q2 z^hs1a0p|Y9qLFBuerCg2ta0^cW)ay4`0d{;l?{V7zpzQoW2qrucp~P!$RonE(o%Q1 z51|^WW$Q$1ci5r*7m;X@z90w0F7%e=mC-qZ@W z9zqo~u5S_JDR(ag^$t`<%SocybfP6}p6_(P2e)zCi{bih)dqYM_rQW`_Qg2KktJlO7mSLd;RBr^7~7TfqzLy%;loNqyx<1C(2TsqB5JIq;p4VbLr9KWSlJHe>2 zik-|I_fwzu2pmAb_qamDTtb09j|%Ac@hAcl^mj0)ze~Wk`6_L`2a})=hMrFG(Q3Yh zQ>lP2mb&VD5bza`aOZnHCB+<%QmWzGOw|6%y?%%)XdCp-2)q)4zSA=b3d(iL>Z=Is zrW)ete(qu%{(c&tv$;-`Yv94A3a3HWn5bPWfkFZw5!gt8^e^8SZ+kf7!gFh%OYAQt zQt8(a94dxc@6uUcNu{fxOQ@K@{t4qk#qQD-Eb@keO%v_#La4aUZ#fpMGG=PxS1f!O z<||02CRD@@89Fkyz&+7Z>@G;re}Iy3u|svkuF^32RRl>c%5lcxq$NJ`vDi

qOwc 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 F{vS>_tCO}DLNo-NN06qO8$^ZZW diff --git a/BaseTools/Bin/Win32/GenFv.exe b/BaseTools/Bin/Win32/GenFv.exe index 08f4320f87312ed8c3d870ac360074e51a4d3668..6d1096efc9883077c00313692a6149e59e6c587e 100755 GIT binary patch delta 54283 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 delta 53514 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 Zb?WxU;t8iuKbZP{r%ysHi11PB{{u*?8Cw7V diff --git a/BaseTools/Bin/Win32/GenFw.exe b/BaseTools/Bin/Win32/GenFw.exe index 8eab045150694693cacba94aa53e962c5cf4f644..f4331d3eeaeb8f61cac14cf50ff4e691da676f21 100755 GIT binary patch delta 76 zcmV-S0JHyqpdNsr9+2PzpPrI|5d)u|lDFp(1})_f i)bOmqe$wMZx!LgfG31Vvw%VxIQtH%45Kx2t?-Q_*BHGTQE?z`iXX0AJ%FWdHyG diff --git a/BaseTools/Bin/Win32/GenPage.exe b/BaseTools/Bin/Win32/GenPage.exe index 8c7097c00731dfa965bbc313a038565d754a5186..2cdca2ad6c220701a854d11dad80cc4ca62d76d5 100755 GIT binary patch delta 73 zcmZp8AldLha>4`V`ST_4`Vxv$C^AGbbcY<{?_Nh dzU!X;Z|G95l;6I@h%HB!$;fECPypLIc>s89BO3q! diff --git a/BaseTools/Bin/Win32/GenPatchPcdTable.exe b/BaseTools/Bin/Win32/GenPatchPcdTable.exe index 2371e995e846e1d99ff46312d63a5b1cfe023efd..4a506e4858ed2e5ec1c85e94768bb6a58b0ec3a3 100755 GIT binary patch delta 1052 zcmY*XZD>(v~@+)vDw*;F5P55{3x}_I!A*>X`*J@58J?K zo7u9?Hkq}ny)8$RG*#Sa6)e#fF35&M{UZfIwlNV!{1^H^!3{o4Cphp@{%hx450 zoacQn_qlMn?C6!UT!GgZ>fGYHorNK@$Xlx2NsY|B=bhbTB)hlxhJSmw)BL-sTr;yH zrZ@aHt9;9B2#?ttU#+=PW9GxF)JC5tVtFE16}Opey8b#f-p4l;W%b|3`9iyY$2{|l zy7Rb9^#@XUv{HGdMQ!ef$JJ-)`=GYc=H`Ohz+BK_%?0&SiN)%E6|*1SNCSY1#Q^kE zTDYAvc~^myqLYvGY=xTI=-&2E-xPp~MRIaeYjbmJ%evZVN7LH2&Zht7tv$c%{X_T# z{n5c2=;@#?-T;UQ2pjM&HtYD1)q8Bl#=#Zf)Wf>jKw7rvi z0xrNfLKNXk1}zfA7)UJFC60qlXb_h#gU=bX8h~MhKufV)d(m{fXfoNB~jH)xD zQj5RpBwwL(DGg;r1>5JLOBwMFoBo)dXT%1!V>^|PiyG}mhe5rX;ikjma;l-6&W($W ztmqSZG%l*x&0Z?W3Li@(Xm?gD^Q!aI$F@sfs&K1+`|>$^fihXCSvzY`;f(Pb{gsuP l;ubBR5LJ9zseslFsvi|@icN@Ow*CkWPl(rf<*1Mn{{p7ZM~46a delta 840 zcmY*XUr19?7(eIU-Lre9(`hD}QcKe`YJpO^sHP~Cl0`GE6e5{>kkAQ+CQj_K+%&ba zxqWK6Eli{$)G6HlJQUSKAY~6B7!fE2D&)fiABv!RPk*3??{L1~@BF^=o%8#8US&?b z$eh#}#kW^-En#yyD%o?dJQ}n!U!_TrMZaTT$za zR~083a|`z-BBVwFf*K!9)J{kAI;DUs*)AvBvDwK=OGBQ+P_>A&)!MRq5q~oSBCJR`w7yEeni?p=BYk zN9{=;SN}4593eGg5kf_d`g%vh{<69zo2jwY_NP6$=Bwbofg50@iBxPy$S$Hq#1fKLe@TYF)4jm0a_$-DaN4e368}{c~nQE<%mQkHP|nYx=A<26Y{<; zqQy~~N4`INL`g?DQ=35hb+pLZA34o&9d*yEpCdd`jHK99xvtM`#)6>IE2~2e~u@%#F|@QJb5P}0+ fkdsm|NSUOu+kp->b5O+wX fK%rdTOQ+oSB9Q<9 diff --git a/BaseTools/Bin/Win32/LzmaCompress.exe b/BaseTools/Bin/Win32/LzmaCompress.exe index 7c0d8d1363d9dae87ef6946966e49d631e4cbede..2652a7b5bdc6bd747097292e233cbf9b14bb2a09 100755 GIT binary patch delta 73 zcmZozAknZuV!{LF#q%aLK5l)?*!q~M^)YknW0tLtSwAX(gtuQ;WSzTFATcmNDnmcd dxg|ilbc26}<@T1#tTOUUW`^4rePWH11pwh@A4LEF delta 73 zcmZozAknZuV!{LFg|EsQAGbbcY<+Gyh dp9QMz>lS+2@ojIp%qk<#WMs5`(I?h8SpYLbA<_T< diff --git a/BaseTools/Bin/Win32/MigrationMsa2Inf.exe b/BaseTools/Bin/Win32/MigrationMsa2Inf.exe index a6ed5abd747a645ba1012086b5d59d2e333f9054..2c7b28d59c5c01d03fdcad22edc826f69a047ee2 100755 GIT binary patch delta 356 zcmdnAF=W%mkcJk<7N#xCTh?;)ReIU$hc>uO-?Nrkjrq>3N$pS9G6OLS5VHa?8xXT^ zf4Y{V=qy<6o>#Ujr^i=wDudOwR&%zuR&xO{HxTmxF)tAF0Wtsf)@p$|Gq4^V&u15> zb8iyR1nJpszDeNW1deq;dzGH)sZ3XJ7L;L@oIPo~y|duw{a|rrQ69GGR?I?5VDWfn zp_?-~I;*|xCtQCVJKbTfkUI0^d6TAR%@s0cGBa$SKUZk`{JFwkAA#-C+TwU_`kV$4 zWfq`aev|duOsC6l=d|5!+9-0j5$@aVQp}<db}b>%EsO{!J`)x- cLO4u8M6?|4obB^PME#iHHgEqbCc2jq03Vu+{Qv*} delta 356 zcmdnAF=W%mkcJk<7N#xCTh?-%s4%uaTD4YY`kuASYRoTRmbE`!%M8RUK+FonY(UJu z{pnhcqO)MN{q+Tv)8nf-mBDITt2x_StGR%f8;E&;m=}oofS7-KYqda~8CcJZW6$!Z zb8iyR1nJpszDeNW1dj7SdkZ1SNQ8Auw9-Snlq=*X%JCn z0ovs^S+C7>y8L!d+wG=}B6l0%zTGaxEGokW_t17bPSGbEaJO#P5)$3Qh;ZUFVNoN5 a!xThB%i+%1K3_!Cj|pz`_OD{1dl>?d4*96OmYQJs16yh)R_6OEb73@0ZfPUYyU^s;Z#Ipi?; zZ=wqGomrEbRg$)=Br#gnfMw>*4m>$M^&X=pNNW4UdyH=d)GL8HTq5_avKD7x0AU^m z28Q_f+{Dbh_;|g7%H++Tc)7OCn$*7ZJtGh^0WtITrSDnnXM#=C+TwU_`kM|`Wsr&O zLY=HY%m&2l+l4wg&alAUI{jHMhb`Q7+qL^R!Wa=w>g?yR=YTn6`-Ogv39N9_w`WY{ H=w=20{5EFV delta 254 zcmeyoQR(wWr42t5IFu@l?LGCjznILJsLnj`RoP_iL}Ml+qsa-0Q#npl7~A_47&}h> zo2bJ4@?}}GO44?fBu2{`uuS93cAM#`_ZT%nQrjoqV|**1eiW$Ve%3WRYjFk!5awZE zV2F>;P0Y-TkJl@xOy2y7m+SG%vi7C#8G)Dyh?%!9ea~V)6KtZVhUU!aZ#r0&K_<2f zb+Q668xXT^7wY6V!vc5f^k=;sws6;N*Y4v8V?;Qqv!BDB1LlzJ7y3CSu)o-vi9 Gn;8HCmSl$j diff --git a/BaseTools/Bin/Win32/Spd2Dec.exe b/BaseTools/Bin/Win32/Spd2Dec.exe index 60fdb26dd0b3c2532c10db322d195052d2dcca0a..5a5bb7b59c11148323ee58278d7882df8199fbbd 100755 GIT binary patch delta 2574 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 delta 73 zcmZo@kZNdn(W|n?&#j*sTR$_ker9g{%(C?}>&FC;@b>44tf~(L1Z+A*HP5%W dZcR15aI&!d!gd)awl}g&Mn>DY64<`U0{|qfAyWVV diff --git a/BaseTools/Bin/Win32/TargetTool.exe b/BaseTools/Bin/Win32/TargetTool.exe index 7550a5efeeae06a06feeb23884544cab1ccfbc02..14b2680005be9a2d58767fe35f0890b3446556b4 100755 GIT binary patch delta 293 zcmbPsM|s*E?d4*96OmYQJs16yh)R_6OEb73@0ZfPUYyU^s;Z#Ipi?; zZ=wqGomrEbRg$)=Br#gnfMw>*4m>$M^&X=pNNW4UdyH=d)GL8H^5zuJi`Hde0AU^m z28Q_f+{Dbh_;|g7%H++Tc)7OEn$*7ZJ>&MJ@0k+nz$Wc^WxH}ZZyvKU$fS1TJZ2zf z*>0T2IyoOKueHVT-1KvISt0UY?y|OjxyuH`?AyQGm{Zu@rb7aSE#aLcxLzvAd-1^^yYduadw delta 293 zcmbPsM|s*E zo2bJ4@?}}GO44?fBu2{`uuS93cAM#`_ZT%nQrjoqV|**1eiW$V&PnB}Xk7*d5awZE zV2F>;P0Y-TkJl@xOy2y7m+SG%vi7C#8MiNe&y-LHHmSe9pmI8I9Wq0wx;? dw+#Z#Dz+)MZriscvCWZXGBeyB)WEh*9sn1yAO!#b delta 73 zcmZoTAk}a{YQh8NMX$;lAGbbcY<hAL2`hb|uV509vTl91Siz=~Vl!(~&YYOB&{ zpo+p5I|ZV~dQ{VRWwjfz0Ynrn%duQbtZk(Fm$srUiB_Ao^OkN}5;r?D@0*!7$M4Nt zyO4V5V(NLlDXFq_i8;f#?0MNKLIjN^ge-L0?M}y=%WWlv$*$5u?{5bEo!V+|nrU|> z-K<Ss|`*qoye6CmXDZ_ATB$Wt@RANWw zA!HjBuHt}cDfy5Qr-4w^+9=u1hyy=7>|ZbZMlWGdk!|>AA$N(;B1*Cy@px@SsU}XL zWT@1jRFUi=Xs(c>G`7F-r?@UgCyG+C+=7);tV6=n3eS40d#Sb5qr;DE>&A6>R<4%j zOte@E?JkSu6Af1VD%uE*qXx#AObt|`1~{;vMT6-ttr{X%X(lLXmz=CxqdfMESDG$e zrU$(rf2&c`T4hJQnHrR)`pKq!m@;d>U=~NlJJ~s{_Aj#pBS~`}F zn<Lpe%+TdLdL^&t8PK=Gu<1)=qr1s+xRr3H@l>I zcseA7F8LB3OTV-yo)bm1neraZB18~J7%diifz4sDgr_yWuG)twp3IWUw=OXs2;N%@ zNkej?N;zB&IYV+POP}p4ACkA$hO#7GoZkVwLO)V=N`-z;N=1Y(rGg*N95Z@7;Qse~ zIXiz7QrmbstC;3b|l6#QISV{t2u6JY6a=Gvc1U#N~8Z9Vu|M7cVumtu1Ucj+(DP=}t6!S~M@7Ii5 zDJVLm4YTnP5a{6ZS>zZncJdT`cBYy*JR;6W;YFQTL#7jUbYgEO%utU~wYNY6EAlnt zz|h5$-q~!^kV0pXwXo!6sl|9y%_BrmR5)u$#{3GKy0|%FV1|}#bQTxe9K~=U$m1Zt zldEB%3lq<~3&UNAkktq?16aW1`LHg42oBoeD8gzIy@?r{8AFJmk&eSzuD3&9fM>EP z_aU~MCxpDk&^?GGL{MDVF(i-t0jsK>d%|_#`R35Adju$Gn%98L!jC(~Yd5X2$B^#x2Cz|Jn$K+ynpw(ley8Q=-pseZA; F{{RJo7hnJY delta 1357 zcmZuwdrVtZ7(e&)b?@!j!?a+*iGWjiIG7aa<{X7F{$RK|L5NwR8?uruJX)agh@0CS z(qUoCax*@r(aZ!i5gd#zR5JqGx4{@@kDTyM#n>GGaTD7^j+(<+3x-j=se$6qqx zuAZA!zbF@);2dofgNpbN%am^ z>`rH`ZWnA)N}rR^CRlTnQb&$bcJrq|?DSD{HAKzGo(;qdGct!^Mt*!c5PQw6O@#@M zVxt&y{OeJ)#s>Vy&skrEi;IfrfPZRHQFK4x&-GkC0&mQ-OZ%(l+21|vAgv$mG2Vir zUT%ZrKFwq6<>oiDk=0s#Mx5g|)XZ@&NY31?fD3b+R+5llfTPzqjpN}Q_wFZwtQk?! z=b*sGFEOmQ@z#2q(ot_C%_(bF&mNKo$Znk54-Eq(3F|k4OSD}H@MwT+!Ol$3d8oZz z1Etg|tp6~m+)@S+UZMi0hlH^q$rzOx&1I14A!>N!A)#2C4Iy5#6-RyxZ+gkgII16P zUYfMC44ht~!>%THD1Li-A#sq}G&d9tk{!6y4;_PKJ3c=Rvx8(q`0^O8VT42kQDLk+ zS2>6sBB{8GK*=`3cctG7aGa1yw z^jHb|!7xnHUU~YU4CR{+81u_T2%jrvdu}t*oAdA1A1O(l&u+k|bhh5*Q{agX~;5IZ5=}x9#JR#aLyjEXy-L zZjR!m_>|@sv3ibw*YQwli@0!%jcdt?4Yh@25@L*91L&dSY!0Ec!{9{KgIO GEdK-1kIu;e diff --git a/BaseTools/Bin/Win32/UPT.exe b/BaseTools/Bin/Win32/UPT.exe index 396397d92e7fa22400bdf05de62c6e712494c9cb..a1cf4d889f1122931ad60dac7e51c745dd132821 100644 GIT binary patch delta 3543 zcmYLMX;_n27ET~yf{;Ln1W16uMP*oIaolh!QWqFX0k^>gl;Q%2NZqJl5JWMEA{OeL zQ7no&__X6f#qvSNv9(nzO08QT7gSuI0%}LCC@$Ff?)x$FH>1}tZ;EX)LT2Wap96TdmP9{t(z7oJdFiq&8quy7#7Du1lM^+N!az=>SB>{w|J?Um4{HC**ehLN;J0LY<;Or zGUj%tk=ENOe7P~Y73nxgXt7hoF*T1M{dB{Ri9=Rh_qakOzw?k1H+oXRs2-^f{Zp zD0`-r$@r3*p3E6c+n2lGjbyISywD>0UFOWUw6aDM`mPQn)*+diV_2{-d9Nl+gDyDw zo!`?l8ky{jM(P6hh0Njq)+|l+8lkD);r?bN&#&QG)dZ>+o5)&BMi7hl&z-=d%eeG6 zDs6N00v=*(2Bl(u#WUUa)E1`&PDq48O}fDd$PEh&yWF4}f2j&DrxR-pjH`z9oV7)U@g=bM z)s)i@X|~2V7_p0a6Skc~e3`kw!msR$`>l-xE&So?JCk*?c3?q3JQKStv_2#@Z^^uZ#}geEDt?-Ct}R zWL;4ug{QU^x$FJq=?mwYLWc|s5ymYs9)AyDc9dpKC5Kw0FFJ%HO)0fTsR>l%)=B4T zjs6JgZLKkLEFNUY!GukdM1|(dLwb;#pBWwbDH_$`xkDJ+X)N^zQeB;FBV94Mdq7`b zn%w(^!tLYy$ab=u>>hyEH)^tb{}SM^e9YcCH0_4FAB-U!vG6v+p&Rbb9_YZICb!(8 zbFbYQ5PAOET^$ck6)ozcWEbNx5H&&dqhdTJ-c@cA+s^NB#968i@??tZ+sb1rnx77( z?jX-Jl*H-iB_m}9drI%BD%kV>3~As0$|2gY!P5h!+PA@T>MVp9aXKT8R2`l{QmHyT zHC|3!uqTBE&T>tb$@oHR7x%O_*YBKurV+~#|K--I9BM2u4aTcOoZSVcJE17+gPSXV zqhISxKD>7<>cb{+c?s&n-s*qgd%AmfF8RbT2!J4#eV?Q|d~PE91ol^e%O@n7mB1F_ z4xfyK3kggv$4@>7QOh(|-#hjU817;EP|jwD@eMP_@!8@@ zKGrPk&7w0WU(gv;<_ocXE7&vuTm-&i@0%Y zxIPL$EoQb-iV(uqC2SeOf&9%}%3|OHqIYm9%YP?z!mwrRh}0QSw^z$qAuxuftEa@_S(Z+EpwPQG@FLSj9qn34Ub0Xp^4=qd&2q3dCo@?}4P*YSF_xR$j82Wg|}T?&H;Lv{XXQw8IKTTzEk_zfyjo*!ui03Mf>w zh8@5?5a)?C%z~4k%PDJF9lV1YHAQUXJ3ISN-bt)`~rJDC>HPW1UX#^!`HK5se!;wStV@J{{Xh1koy1t delta 3543 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≻=9jNXHVb^z%I=9X)=O_{8^|y)N30RBY0M_D9 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 z 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

  • N3w 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�j^IK(Z>?dSAVX>d;DedM8gkjm4`$Kyalzb( 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 qWQ0W 0) && (mFvDataInfo.ForceRebase == -1)) || (mFvDataInfo.ForceRebase == 1)) { VerboseMsg ("FvImage Rebase Address is 0x%llX", (unsigned long long) mFvDataInfo.BaseAddress); } // diff --git a/BaseTools/Source/C/GenFv/GenFvInternalLib.c b/BaseTools/Source/C/GenFv/GenFvInternalLib.c index d86909b4df..9fdcb47d6b 100644 --- a/BaseTools/Source/C/GenFv/GenFvInternalLib.c +++ b/BaseTools/Source/C/GenFv/GenFvInternalLib.c @@ -209,6 +209,7 @@ Returns: DebugMsg (NULL, 0, 9, "rebase address", "%s = %s", EFI_FV_BASE_ADDRESS_STRING, Value); FvInfo->BaseAddress = Value64; + FvInfo->BaseAddressSet = TRUE; } } @@ -2826,11 +2827,20 @@ Returns: PeFileBuffer = NULL; // - // Don't need to relocate image when BaseAddress is not set. + // Don't need to relocate image when BaseAddress is zero and no ForceRebase Flag specified. // - if (FvInfo->BaseAddress == 0) { + if ((FvInfo->BaseAddress == 0) && (FvInfo->ForceRebase == -1)) { return EFI_SUCCESS; } + + // + // If ForceRebase Flag specified to FALSE, will always not take rebase action. + // + if (FvInfo->ForceRebase == 0) { + return EFI_SUCCESS; + } + + XipBase = FvInfo->BaseAddress + XipOffset; // diff --git a/BaseTools/Source/C/GenFv/GenFvInternalLib.h b/BaseTools/Source/C/GenFv/GenFvInternalLib.h index bc25ea8358..2629b9aee8 100644 --- a/BaseTools/Source/C/GenFv/GenFvInternalLib.h +++ b/BaseTools/Source/C/GenFv/GenFvInternalLib.h @@ -232,6 +232,7 @@ typedef struct { CHAR8 FvFiles[MAX_NUMBER_OF_FILES_IN_FV][_MAX_PATH]; UINT32 SizeofFvFiles[MAX_NUMBER_OF_FILES_IN_FV]; BOOLEAN IsPiFvImage; + INT8 ForceRebase; } FV_INFO; typedef struct { diff --git a/BaseTools/Source/C/Include/Common/BuildVersion.h b/BaseTools/Source/C/Include/Common/BuildVersion.h index 3e1f8f93fa..ec4acc338a 100644 --- a/BaseTools/Source/C/Include/Common/BuildVersion.h +++ b/BaseTools/Source/C/Include/Common/BuildVersion.h @@ -1,3 +1,3 @@ //This file is for build version number auto generation // -#define __BUILD_VERSION "Build 2322" +#define __BUILD_VERSION "Build 2361" diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g b/BaseTools/Source/C/VfrCompile/VfrSyntax.g index 0cd87bb5e8..d9f8dd99a7 100644 --- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g +++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g @@ -1683,7 +1683,7 @@ vfrStatementGoto : Question "=" ( QN3:StringIdentifier "," << mCVfrQuestionDB.GetQuestionId (QN3->getText (), NULL, QId, BitMask); >> - | QN4:Number "," << QId = _STOQID(QN4->getText()); >> + | QN3:Number "," << QId = _STOQID(QN3->getText()); >> ) ) | diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py index 55a6a81ccc..8150ea0b69 100644 --- a/BaseTools/Source/Python/AutoGen/AutoGen.py +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py @@ -155,7 +155,7 @@ class AutoGen(object): class WorkspaceAutoGen(AutoGen): ## Real constructor of WorkspaceAutoGen # - # This method behaves the same as __init__ except that it needs explict invoke + # This method behaves the same as __init__ except that it needs explicit invoke # (in super class's __new__ method) # # @param WorkspaceDir Root directory of workspace @@ -246,6 +246,9 @@ class WorkspaceAutoGen(AutoGen): # self._CheckPcdDefineAndType() + if self.FdfFile: + self._CheckDuplicateInFV(Fdf) + self._BuildDir = None self._FvDir = None self._MakeFileDir = None @@ -253,6 +256,130 @@ class WorkspaceAutoGen(AutoGen): return True + ## _CheckDuplicateInFV() method + # + # Check whether there is duplicate modules/files exist in FV section. + # The check base on the file GUID; + # + def _CheckDuplicateInFV(self, Fdf): + for Fv in Fdf.Profile.FvDict: + _GuidDict = {} + for FfsFile in Fdf.Profile.FvDict[Fv].FfsList: + if FfsFile.InfFileName and FfsFile.NameGuid == None: + # + # Get INF file GUID + # + InfFoundFlag = False + for Pa in self.AutoGenObjectList: + for Module in Pa.ModuleAutoGenList: + if path.normpath(Module.MetaFile.File) == path.normpath(FfsFile.InfFileName): + InfFoundFlag = True + if not Module.Guid.upper() in _GuidDict.keys(): + _GuidDict[Module.Guid.upper()] = FfsFile + else: + EdkLogger.error("build", + FORMAT_INVALID, + "Duplicate GUID found for these lines: Line %d: %s and Line %d: %s. GUID: %s"%(FfsFile.CurrentLineNum, + FfsFile.CurrentLineContent, + _GuidDict[Module.Guid.upper()].CurrentLineNum, + _GuidDict[Module.Guid.upper()].CurrentLineContent, + Module.Guid.upper()), + ExtraData=self.FdfFile) + # + # Some INF files not have entity in DSC file. + # + if not InfFoundFlag: + if FfsFile.InfFileName.find('$') == -1: + InfPath = NormPath(FfsFile.InfFileName) + if not os.path.exists(InfPath): + EdkLogger.error('build', GENFDS_ERROR, "Non-existant Module %s !" % (FfsFile.InfFileName)) + + PathClassObj = PathClass(FfsFile.InfFileName, self.WorkspaceDir) + # + # Here we just need to get FILE_GUID from INF file, use 'COMMON' as ARCH attribute. and use + # BuildObject from one of AutoGenObjectList is enough. + # + InfObj = self.AutoGenObjectList[0].BuildDatabase.WorkspaceDb.BuildObject[PathClassObj, 'COMMON', self.BuildTarget, self.ToolChain] + if not InfObj.Guid.upper() in _GuidDict.keys(): + _GuidDict[InfObj.Guid.upper()] = FfsFile + else: + EdkLogger.error("build", + FORMAT_INVALID, + "Duplicate GUID found for these lines: Line %d: %s and Line %d: %s. GUID: %s"%(FfsFile.CurrentLineNum, + FfsFile.CurrentLineContent, + _GuidDict[InfObj.Guid.upper()].CurrentLineNum, + _GuidDict[InfObj.Guid.upper()].CurrentLineContent, + InfObj.Guid.upper()), + ExtraData=self.FdfFile) + InfFoundFlag = False + + if FfsFile.NameGuid != None: + _CheckPCDAsGuidPattern = re.compile("^PCD\(.+\..+\)$") + + # + # If the NameGuid reference a PCD name. + # The style must match: PCD(xxxx.yyy) + # + if _CheckPCDAsGuidPattern.match(FfsFile.NameGuid): + # + # Replace the PCD value. + # + _PcdName = FfsFile.NameGuid.lstrip("PCD(").rstrip(")") + PcdFoundFlag = False + for Pa in self.AutoGenObjectList: + if not PcdFoundFlag: + for PcdItem in Pa.AllPcdList: + if (PcdItem.TokenSpaceGuidCName + "." + PcdItem.TokenCName) == _PcdName: + # + # First convert from CFormatGuid to GUID string + # + _PcdGuidString = GuidStructureStringToGuidString(PcdItem.DefaultValue) + + if not _PcdGuidString: + # + # Then try Byte array. + # + _PcdGuidString = GuidStructureByteArrayToGuidString(PcdItem.DefaultValue) + + if not _PcdGuidString: + # + # Not Byte array or CFormat GUID, raise error. + # + EdkLogger.error("build", + FORMAT_INVALID, + "The format of PCD value is incorrect. PCD: %s , Value: %s\n"%(_PcdName, PcdItem.DefaultValue), + ExtraData=self.FdfFile) + + if not _PcdGuidString.upper() in _GuidDict.keys(): + _GuidDict[_PcdGuidString.upper()] = FfsFile + PcdFoundFlag = True + break + else: + EdkLogger.error("build", + FORMAT_INVALID, + "Duplicate GUID found for these lines: Line %d: %s and Line %d: %s. GUID: %s"%(FfsFile.CurrentLineNum, + FfsFile.CurrentLineContent, + _GuidDict[_PcdGuidString.upper()].CurrentLineNum, + _GuidDict[_PcdGuidString.upper()].CurrentLineContent, + FfsFile.NameGuid.upper()), + ExtraData=self.FdfFile) + + if not FfsFile.NameGuid.upper() in _GuidDict.keys(): + _GuidDict[FfsFile.NameGuid.upper()] = FfsFile + else: + # + # Two raw file GUID conflict. + # + EdkLogger.error("build", + FORMAT_INVALID, + "Duplicate GUID found for these lines: Line %d: %s and Line %d: %s. GUID: %s"%(FfsFile.CurrentLineNum, + FfsFile.CurrentLineContent, + _GuidDict[FfsFile.NameGuid.upper()].CurrentLineNum, + _GuidDict[FfsFile.NameGuid.upper()].CurrentLineContent, + FfsFile.NameGuid.upper()), + ExtraData=self.FdfFile) + + def _CheckPcdDefineAndType(self): PcdTypeList = [ "FixedAtBuild", "PatchableInModule", "FeatureFlag", @@ -1749,6 +1876,7 @@ class ModuleAutoGen(AutoGen): self._DepexList = None self._DepexExpressionList = None self._BuildOption = None + self._BuildOptionIncPathList = None self._BuildTargets = None self._IntroBuildTargetList = None self._FinalBuildTargetList = None @@ -2004,6 +2132,50 @@ class ModuleAutoGen(AutoGen): self._BuildOption = self.PlatformInfo.ApplyBuildOption(self.Module) return self._BuildOption + ## Get include path list from tool option for the module build + # + # @retval list The include path list + # + def _GetBuildOptionIncPathList(self): + if self._BuildOptionIncPathList == None: + # + # Regular expression for finding Include Directories, the difference between MSFT and INTEL/GCC + # is the former use /I , the Latter used -I to specify include directories + # + if self.PlatformInfo.ToolChainFamily in ('MSFT'): + gBuildOptIncludePattern = re.compile(r"(?:.*?)/I[ \t]*([^ ]*)", re.MULTILINE|re.DOTALL) + elif self.PlatformInfo.ToolChainFamily in ('INTEL', 'GCC'): + gBuildOptIncludePattern = re.compile(r"(?:.*?)-I[ \t]*([^ ]*)", re.MULTILINE|re.DOTALL) + + BuildOptionIncPathList = [] + for Tool in ('CC', 'PP', 'VFRPP', 'ASLPP', 'ASLCC', 'APP', 'ASM'): + Attr = 'FLAGS' + try: + FlagOption = self.BuildOption[Tool][Attr] + except KeyError: + FlagOption = '' + + IncPathList = [NormPath(Path, self.Macros) for Path in gBuildOptIncludePattern.findall(FlagOption)] + # + # EDK II modules must not reference header files outside of the packages they depend on or + # within the module's directory tree. Report error if violation. + # + if self.AutoGenVersion >= 0x00010005 and len(IncPathList) > 0: + for Path in IncPathList: + if (Path not in self.IncludePathList) and (CommonPath([Path, self.MetaFile.Dir]) != self.MetaFile.Dir): + ErrMsg = "The include directory for the EDK II module in this line is invalid %s specified in %s FLAGS '%s'" % (Path, Tool, FlagOption) + EdkLogger.error("build", + PARAMETER_INVALID, + ExtraData = ErrMsg, + File = str(self.MetaFile)) + + + BuildOptionIncPathList += IncPathList + + self._BuildOptionIncPathList = BuildOptionIncPathList + + return self._BuildOptionIncPathList + ## Return a list of files which can be built from source # # What kind of files can be built is determined by build rules in @@ -2256,7 +2428,7 @@ class ModuleAutoGen(AutoGen): # def _GetLibraryPcdList(self): if self._LibraryPcdList == None: - Pcds = {} + Pcds = sdict() if not self.IsLibrary: # get PCDs from dependent libraries for Library in self.DependentLibraryList: @@ -2584,6 +2756,7 @@ class ModuleAutoGen(AutoGen): DxsFile = property(_GetDxsFile) DepexExpressionList = property(_GetDepexExpressionTokenList) BuildOption = property(_GetModuleBuildOption) + BuildOptionIncPathList = property(_GetBuildOptionIncPathList) BuildCommand = property(_GetBuildCommand) # This acts like the main() function for the script, unless it is 'import'ed into another script. diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py index 5bf693c50f..3720c8bfed 100644 --- a/BaseTools/Source/Python/AutoGen/GenMake.py +++ b/BaseTools/Source/Python/AutoGen/GenMake.py @@ -614,7 +614,7 @@ cleanlib: self.FileDependency = self.GetFileDependency( SourceFileList, ForceIncludedFile, - self._AutoGenObject.IncludePathList + self._AutoGenObject.IncludePathList + self._AutoGenObject.BuildOptionIncPathList ) DepSet = None for File in self.FileDependency: @@ -1253,7 +1253,7 @@ ${END}\t@cd $(BUILD_DIR) # fds: init \t-@cd $(FV_DIR) -${BEGIN}\tGenFds -f ${fdf_file} -o $(BUILD_DIR) -t $(TOOLCHAIN) -b $(TARGET) -p ${active_platform} -a ${build_architecture_list} ${extra_options}${END}${BEGIN} -r ${fd} ${END}${BEGIN} -i ${fv} ${END}${BEGIN} -C ${cap} ${END}${BEGIN} -D ${macro} ${END} +${BEGIN}\tGenFds -f ${fdf_file} -o $(BUILD_DIR) -t $(TOOLCHAIN) -b $(TARGET) -p ${active_platform} -a ${build_architecture_list}${END}${BEGIN}${extra_options}${END}${BEGIN} -r ${fd}${END}${BEGIN} -i ${fv}${END}${BEGIN} -C ${cap}${END}${BEGIN} -D${macro}${END} # # run command for emulator platform only @@ -1335,6 +1335,9 @@ ${END}\t@cd $(BUILD_DIR)\n if GlobalData.gCaseInsensitive: ExtraOption += " -c" + ExtraOptionList = [] + if ExtraOption: + ExtraOptionList.append(ExtraOption) MakefileName = self._FILE_NAME_[self._FileType] SubBuildCommandList = [] @@ -1366,7 +1369,7 @@ ${END}\t@cd $(BUILD_DIR)\n "fd" : PlatformInfo.FdTargetList, "fv" : PlatformInfo.FvTargetList, "cap" : PlatformInfo.CapTargetList, - "extra_options" : ExtraOption, + "extra_options" : ExtraOptionList, "macro" : MacroList, } diff --git a/BaseTools/Source/Python/AutoGen/StrGather.py b/BaseTools/Source/Python/AutoGen/StrGather.py index 3df493834c..7187f0a440 100644 --- a/BaseTools/Source/Python/AutoGen/StrGather.py +++ b/BaseTools/Source/Python/AutoGen/StrGather.py @@ -168,8 +168,9 @@ def CreateHFileContent(BaseName, UniObjectClass, IsCompatibleMode, UniGenCFlag): Str = WriteLine(Str, Line) Line = COMMENT_DEFINE_STR + ' ' + PRINTABLE_LANGUAGE_NAME_STRING_NAME + ' ' * (ValueStartPtr - len(DEFINE_STR + PRINTABLE_LANGUAGE_NAME_STRING_NAME)) + DecToHexStr(1, 4) + COMMENT_NOT_REFERENCED Str = WriteLine(Str, Line) + UnusedStr = '' - #Group the referred STRING token together. + #Group the referred/Unused STRING token together. for Index in range(2, len(UniObjectClass.OrderedStringList[UniObjectClass.LanguageDef[0][0]])): StringItem = UniObjectClass.OrderedStringList[UniObjectClass.LanguageDef[0][0]][Index] Name = StringItem.StringName @@ -183,21 +184,14 @@ def CreateHFileContent(BaseName, UniObjectClass, IsCompatibleMode, UniGenCFlag): else: Line = DEFINE_STR + ' ' + Name + ' ' * (ValueStartPtr - len(DEFINE_STR + Name)) + DecToHexStr(Token, 4) Str = WriteLine(Str, Line) - - #Group the unused STRING token together. - for Index in range(2, len(UniObjectClass.OrderedStringList[UniObjectClass.LanguageDef[0][0]])): - StringItem = UniObjectClass.OrderedStringList[UniObjectClass.LanguageDef[0][0]][Index] - Name = StringItem.StringName - Token = StringItem.Token - Referenced = StringItem.Referenced - if Name != None: - Line = '' - if Referenced == False: + else: if (ValueStartPtr - len(DEFINE_STR + Name)) <= 0: Line = COMMENT_DEFINE_STR + ' ' + Name + ' ' + DecToHexStr(Token, 4) + COMMENT_NOT_REFERENCED else: Line = COMMENT_DEFINE_STR + ' ' + Name + ' ' * (ValueStartPtr - len(DEFINE_STR + Name)) + DecToHexStr(Token, 4) + COMMENT_NOT_REFERENCED - Str = WriteLine(Str, Line) + UnusedStr = WriteLine(UnusedStr, Line) + + Str = ''.join([Str,UnusedStr]) Str = WriteLine(Str, '') if IsCompatibleMode or UniGenCFlag: @@ -383,7 +377,6 @@ def CreateCFileContent(BaseName, UniObjectClass, IsCompatibleMode, UniBinBuffer, # for IndexI in range(len(UniObjectClass.LanguageDef)): Language = UniObjectClass.LanguageDef[IndexI][0] - LangPrintName = UniObjectClass.LanguageDef[IndexI][1] if Language not in UniLanguageListFiltered: continue @@ -393,12 +386,12 @@ def CreateCFileContent(BaseName, UniObjectClass, IsCompatibleMode, UniBinBuffer, NumberOfUseOtherLangDef = 0 Index = 0 for IndexJ in range(1, len(UniObjectClass.OrderedStringList[UniObjectClass.LanguageDef[IndexI][0]])): - Item = UniObjectClass.FindByToken(IndexJ, Language) + Item = UniObjectClass.OrderedStringListByToken[Language][IndexJ] + Name = Item.StringName Value = Item.StringValueByteList Referenced = Item.Referenced Token = Item.Token - Length = Item.Length UseOtherLangDef = Item.UseOtherLangDef if UseOtherLangDef != '' and Referenced: @@ -595,10 +588,7 @@ def SearchString(UniObjectClass, FileList, IsCompatibleMode): # This function is used for UEFI2.1 spec # # -def GetStringFiles(UniFilList, SourceFileList, IncludeList, IncludePathList, SkipList, BaseName, IsCompatibleMode = False, ShellMode = False, UniGenCFlag = True, UniGenBinBuffer = None, FilterInfo = [True, []]): - Status = True - ErrorMessage = '' - +def GetStringFiles(UniFilList, SourceFileList, IncludeList, IncludePathList, SkipList, BaseName, IsCompatibleMode = False, ShellMode = False, UniGenCFlag = True, UniGenBinBuffer = None, FilterInfo = [True, []]): if len(UniFilList) > 0: if ShellMode: # @@ -627,13 +617,13 @@ def GetStringFiles(UniFilList, SourceFileList, IncludeList, IncludePathList, Ski # Write an item # def Write(Target, Item): - return Target + Item + return ''.join([Target,Item]) # # Write an item with a break line # def WriteLine(Target, Item): - return Target + Item + '\n' + return ''.join([Target,Item,'\n']) # This acts like the main() function for the script, unless it is 'import'ed into another # script. diff --git a/BaseTools/Source/Python/AutoGen/UniClassObject.py b/BaseTools/Source/Python/AutoGen/UniClassObject.py index 1825c81d91..54751bab4e 100644 --- a/BaseTools/Source/Python/AutoGen/UniClassObject.py +++ b/BaseTools/Source/Python/AutoGen/UniClassObject.py @@ -193,6 +193,8 @@ class UniFileClassObject(object): self.Token = 2 self.LanguageDef = [] #[ [u'LanguageIdentifier', u'PrintableName'], ... ] self.OrderedStringList = {} #{ u'LanguageIdentifier' : [StringDefClassObject] } + self.OrderedStringDict = {} #{ u'LanguageIdentifier' : {StringName:(IndexInList)} } + self.OrderedStringListByToken = {} #{ u'LanguageIdentifier' : {Token: StringDefClassObject} } self.IsCompatibleMode = IsCompatibleMode self.IncludePathList = IncludePathList if len(self.FileList) > 0: @@ -246,14 +248,13 @@ class UniFileClassObject(object): else: OtherLang = FirstLangName self.OrderedStringList[LangName].append (StringDefClassObject(Item.StringName, '', Item.Referenced, Item.Token, OtherLang)) - + self.OrderedStringDict[LangName][Item.StringName] = len(self.OrderedStringList[LangName]) - 1 return True # # Get String name and value # def GetStringObject(self, Item): - Name = '' Language = '' Value = '' @@ -476,20 +477,22 @@ class UniFileClassObject(object): if Language not in self.OrderedStringList: self.OrderedStringList[Language] = [] + self.OrderedStringDict[Language] = {} IsAdded = True - for Item in self.OrderedStringList[Language]: - if Name == Item.StringName: - IsAdded = False - if Value != None: - Item.UpdateValue(Value) - Item.UseOtherLangDef = '' - break + if Name in self.OrderedStringDict[Language]: + IsAdded = False + if Value != None: + ItemIndexInList = self.OrderedStringDict[Language][Name] + Item = self.OrderedStringList[Language][ItemIndexInList] + Item.UpdateValue(Value) + Item.UseOtherLangDef = '' if IsAdded: Token = len(self.OrderedStringList[Language]) if Index == -1: self.OrderedStringList[Language].append(StringDefClassObject(Name, Value, Referenced, Token, UseOtherLangDef)) + self.OrderedStringDict[Language][Name] = Token for LangName in self.LanguageDef: # # New STRING token will be added into all language string lists. @@ -501,8 +504,10 @@ class UniFileClassObject(object): else: OtherLangDef = Language self.OrderedStringList[LangName[0]].append(StringDefClassObject(Name, '', Referenced, Token, OtherLangDef)) + self.OrderedStringDict[LangName[0]][Name] = len(self.OrderedStringList[LangName[0]]) - 1 else: self.OrderedStringList[Language].insert(Index, StringDefClassObject(Name, Value, Referenced, Token, UseOtherLangDef)) + self.OrderedStringDict[Language][Name] = Index # # Set the string as referenced @@ -513,17 +518,18 @@ class UniFileClassObject(object): # So, only update the status of string stoken in first language string list. # Lang = self.LanguageDef[0][0] - for Item in self.OrderedStringList[Lang]: - if Name == Item.StringName: - Item.Referenced = True - break + if Name in self.OrderedStringDict[Lang]: + ItemIndexInList = self.OrderedStringDict[Lang][Name] + Item = self.OrderedStringList[Lang][ItemIndexInList] + Item.Referenced = True + # # Search the string in language definition by Name # def FindStringValue(self, Name, Lang): - for Item in self.OrderedStringList[Lang]: - if Item.StringName == Name: - return Item + if Name in self.OrderedStringDict[Lang]: + ItemIndexInList = self.OrderedStringDict[Lang][Name] + return self.OrderedStringList[Lang][ItemIndexInList] return None @@ -546,6 +552,10 @@ class UniFileClassObject(object): # FirstLangName = self.LanguageDef[0][0] + # Convert the OrderedStringList to be OrderedStringListByToken in order to faciliate future search by token + for LangNameItem in self.LanguageDef: + self.OrderedStringListByToken[LangNameItem[0]] = {} + # # Use small token for all referred string stoken. # @@ -558,6 +568,7 @@ class UniFileClassObject(object): OtherLangItem = self.OrderedStringList[LangName][Index] OtherLangItem.Referenced = True OtherLangItem.Token = RefToken + self.OrderedStringListByToken[LangName][OtherLangItem.Token] = OtherLangItem RefToken = RefToken + 1 # @@ -571,6 +582,7 @@ class UniFileClassObject(object): LangName = LangNameItem[0] OtherLangItem = self.OrderedStringList[LangName][Index] OtherLangItem.Token = RefToken + UnRefToken + self.OrderedStringListByToken[LangName][OtherLangItem.Token] = OtherLangItem UnRefToken = UnRefToken + 1 # diff --git a/BaseTools/Source/Python/Common/BuildVersion.py b/BaseTools/Source/Python/Common/BuildVersion.py index 48316716b1..fecc40e84a 100644 --- a/BaseTools/Source/Python/Common/BuildVersion.py +++ b/BaseTools/Source/Python/Common/BuildVersion.py @@ -1,3 +1,3 @@ #This file is for build version number auto generation # -gBUILD_VERSION = "Build 2322" +gBUILD_VERSION = "Build 2361" diff --git a/BaseTools/Source/Python/Common/Misc.py b/BaseTools/Source/Python/Common/Misc.py index d6a796bd2b..731bbf1458 100644 --- a/BaseTools/Source/Python/Common/Misc.py +++ b/BaseTools/Source/Python/Common/Misc.py @@ -1396,6 +1396,27 @@ class PathClass(object): else: return self.Path == str(Other) + ## Override __cmp__ function + # + # Customize the comparsion operation of two PathClass + # + # @retval 0 The two PathClass are different + # @retval -1 The first PathClass is less than the second PathClass + # @retval 1 The first PathClass is Bigger than the second PathClass + def __cmp__(self, Other): + if type(Other) == type(self): + OtherKey = Other.Path + else: + OtherKey = str(Other) + + SelfKey = self.Path + if SelfKey == OtherKey: + return 0 + elif SelfKey > OtherKey: + return 1 + else: + return -1 + ## Override __hash__ function # # Use Path as key in hash table diff --git a/BaseTools/Source/Python/Ecc/c.py b/BaseTools/Source/Python/Ecc/c.py index 4c831e0ff7..532f4a0918 100644 --- a/BaseTools/Source/Python/Ecc/c.py +++ b/BaseTools/Source/Python/Ecc/c.py @@ -62,7 +62,7 @@ def PrintErrorMsg(ErrorType, Msg, TableName, ItemId): for Part in MsgPartList: Msg += Part Msg += ' ' - GetDB().TblReport.Insert(ErrorType, OtherMsg = Msg, BelongsToTable = TableName, BelongsToItem = ItemId) + GetDB().TblReport.Insert(ErrorType, OtherMsg=Msg, BelongsToTable=TableName, BelongsToItem=ItemId) def GetIdType(Str): Type = DataClass.MODEL_UNKNOWN @@ -93,16 +93,16 @@ def SuOccurInTypedef (Su, TdList): def GetIdentifierList(): IdList = [] for comment in FileProfile.CommentList: - IdComment = DataClass.IdentifierClass(-1, '', '', '', comment.Content, DataClass.MODEL_IDENTIFIER_COMMENT, -1, -1, comment.StartPos[0],comment.StartPos[1],comment.EndPos[0],comment.EndPos[1]) + IdComment = DataClass.IdentifierClass(-1, '', '', '', comment.Content, DataClass.MODEL_IDENTIFIER_COMMENT, -1, -1, comment.StartPos[0], comment.StartPos[1], comment.EndPos[0], comment.EndPos[1]) IdList.append(IdComment) for pp in FileProfile.PPDirectiveList: Type = GetIdType(pp.Content) - IdPP = DataClass.IdentifierClass(-1, '', '', '', pp.Content, Type, -1, -1, pp.StartPos[0],pp.StartPos[1],pp.EndPos[0],pp.EndPos[1]) + IdPP = DataClass.IdentifierClass(-1, '', '', '', pp.Content, Type, -1, -1, pp.StartPos[0], pp.StartPos[1], pp.EndPos[0], pp.EndPos[1]) IdList.append(IdPP) for pe in FileProfile.PredicateExpressionList: - IdPE = DataClass.IdentifierClass(-1, '', '', '', pe.Content, DataClass.MODEL_IDENTIFIER_PREDICATE_EXPRESSION, -1, -1, pe.StartPos[0],pe.StartPos[1],pe.EndPos[0],pe.EndPos[1]) + IdPE = DataClass.IdentifierClass(-1, '', '', '', pe.Content, DataClass.MODEL_IDENTIFIER_PREDICATE_EXPRESSION, -1, -1, pe.StartPos[0], pe.StartPos[1], pe.EndPos[0], pe.EndPos[1]) IdList.append(IdPE) FuncDeclPattern = GetFuncDeclPattern() @@ -191,7 +191,7 @@ def GetIdentifierList(): var.Modifier += ' ' + Name[LSBPos:] Name = Name[0:LSBPos] - IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', Name, (len(DeclList) > 1 and [DeclList[1]]or [''])[0], DataClass.MODEL_IDENTIFIER_VARIABLE, -1, -1, var.StartPos[0],var.StartPos[1], VarNameStartLine, VarNameStartColumn) + IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', Name, (len(DeclList) > 1 and [DeclList[1]]or [''])[0], DataClass.MODEL_IDENTIFIER_VARIABLE, -1, -1, var.StartPos[0], var.StartPos[1], VarNameStartLine, VarNameStartColumn) IdList.append(IdVar) else: DeclList = var.Declarator.split('=') @@ -200,15 +200,15 @@ def GetIdentifierList(): LSBPos = var.Declarator.find('[') var.Modifier += ' ' + Name[LSBPos:] Name = Name[0:LSBPos] - IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', Name, (len(DeclList) > 1 and [DeclList[1]]or [''])[0], DataClass.MODEL_IDENTIFIER_VARIABLE, -1, -1, var.StartPos[0],var.StartPos[1], VarNameStartLine, VarNameStartColumn) + IdVar = DataClass.IdentifierClass(-1, var.Modifier, '', Name, (len(DeclList) > 1 and [DeclList[1]]or [''])[0], DataClass.MODEL_IDENTIFIER_VARIABLE, -1, -1, var.StartPos[0], var.StartPos[1], VarNameStartLine, VarNameStartColumn) IdList.append(IdVar) for enum in FileProfile.EnumerationDefinitionList: LBPos = enum.Content.find('{') RBPos = enum.Content.find('}') Name = enum.Content[4:LBPos].strip() - Value = enum.Content[LBPos+1:RBPos] - IdEnum = DataClass.IdentifierClass(-1, '', '', Name, Value, DataClass.MODEL_IDENTIFIER_ENUMERATE, -1, -1, enum.StartPos[0],enum.StartPos[1],enum.EndPos[0],enum.EndPos[1]) + Value = enum.Content[LBPos + 1:RBPos] + IdEnum = DataClass.IdentifierClass(-1, '', '', Name, Value, DataClass.MODEL_IDENTIFIER_ENUMERATE, -1, -1, enum.StartPos[0], enum.StartPos[1], enum.EndPos[0], enum.EndPos[1]) IdList.append(IdEnum) for su in FileProfile.StructUnionDefinitionList: @@ -226,8 +226,8 @@ def GetIdentifierList(): Value = '' else: Name = su.Content[SkipLen:LBPos].strip() - Value = su.Content[LBPos:RBPos+1] - IdPE = DataClass.IdentifierClass(-1, '', '', Name, Value, Type, -1, -1, su.StartPos[0],su.StartPos[1],su.EndPos[0],su.EndPos[1]) + Value = su.Content[LBPos:RBPos + 1] + IdPE = DataClass.IdentifierClass(-1, '', '', Name, Value, Type, -1, -1, su.StartPos[0], su.StartPos[1], su.EndPos[0], su.EndPos[1]) IdList.append(IdPE) TdFuncPointerPattern = GetTypedefFuncPointerPattern() @@ -238,7 +238,7 @@ def GetIdentifierList(): if TdFuncPointerPattern.match(td.ToType): Modifier = td.FromType LBPos = td.ToType.find('(') - TmpStr = td.ToType[LBPos+1:].strip() + TmpStr = td.ToType[LBPos + 1:].strip() StarPos = TmpStr.find('*') if StarPos != -1: Modifier += ' ' + TmpStr[0:StarPos] @@ -260,11 +260,11 @@ def GetIdentifierList(): Value += Name[LBPos : RBPos + 1] Name = Name[0 : LBPos] - IdTd = DataClass.IdentifierClass(-1, Modifier, '', Name, Value, DataClass.MODEL_IDENTIFIER_TYPEDEF, -1, -1, td.StartPos[0],td.StartPos[1],td.EndPos[0],td.EndPos[1]) + IdTd = DataClass.IdentifierClass(-1, Modifier, '', Name, Value, DataClass.MODEL_IDENTIFIER_TYPEDEF, -1, -1, td.StartPos[0], td.StartPos[1], td.EndPos[0], td.EndPos[1]) IdList.append(IdTd) for funcCall in FileProfile.FunctionCallingList: - IdFC = DataClass.IdentifierClass(-1, '', '', funcCall.FuncName, funcCall.ParamList, DataClass.MODEL_IDENTIFIER_FUNCTION_CALLING, -1, -1, funcCall.StartPos[0],funcCall.StartPos[1],funcCall.EndPos[0],funcCall.EndPos[1]) + IdFC = DataClass.IdentifierClass(-1, '', '', funcCall.FuncName, funcCall.ParamList, DataClass.MODEL_IDENTIFIER_FUNCTION_CALLING, -1, -1, funcCall.StartPos[0], funcCall.StartPos[1], funcCall.EndPos[0], funcCall.EndPos[1]) IdList.append(IdFC) return IdList @@ -275,7 +275,7 @@ def StripNonAlnumChars(Str): StrippedStr += Char return StrippedStr -def GetParamList(FuncDeclarator, FuncNameLine = 0, FuncNameOffset = 0): +def GetParamList(FuncDeclarator, FuncNameLine=0, FuncNameOffset=0): FuncDeclarator = StripComments(FuncDeclarator) ParamIdList = [] #DeclSplitList = FuncDeclarator.split('(') @@ -477,7 +477,7 @@ def GetFunctionList(): FuncNameStartColumn += 1 PreChar = FirstChar - FuncObj = DataClass.FunctionClass(-1, FuncDef.Declarator, FuncDef.Modifier, FuncName.strip(), '', FuncDef.StartPos[0],FuncDef.StartPos[1],FuncDef.EndPos[0],FuncDef.EndPos[1], FuncDef.LeftBracePos[0], FuncDef.LeftBracePos[1], -1, ParamIdList, [], FuncNameStartLine, FuncNameStartColumn) + FuncObj = DataClass.FunctionClass(-1, FuncDef.Declarator, FuncDef.Modifier, FuncName.strip(), '', FuncDef.StartPos[0], FuncDef.StartPos[1], FuncDef.EndPos[0], FuncDef.EndPos[1], FuncDef.LeftBracePos[0], FuncDef.LeftBracePos[1], -1, ParamIdList, [], FuncNameStartLine, FuncNameStartColumn) FuncObjList.append(FuncObj) return FuncObjList @@ -547,7 +547,7 @@ def CollectSourceCodeDataIntoDB(RootDir): Db.UpdateIdentifierBelongsToFunction() -def GetTableID(FullFileName, ErrorMsgList = None): +def GetTableID(FullFileName, ErrorMsgList=None): if ErrorMsgList == None: ErrorMsgList = [] @@ -562,11 +562,11 @@ def GetTableID(FullFileName, ErrorMsgList = None): for Result in ResultSet: if FileID != -1: ErrorMsgList.append('Duplicate file ID found in DB for file %s' % FullFileName) - return -2 + return - 2 FileID = Result[0] if FileID == -1: ErrorMsgList.append('NO file ID found in DB for file %s' % FullFileName) - return -1 + return - 1 return FileID def GetIncludeFileList(FullFileName): @@ -645,7 +645,7 @@ def GetPredicateListFromPredicateExpStr(PES): while i < len(PES) - 1: if (PES[i].isalnum() or PES[i] == '_' or PES[i] == '*') and LogicOpPos > PredicateBegin: PredicateBegin = i - if (PES[i] == '&' and PES[i+1] == '&') or (PES[i] == '|' and PES[i+1] == '|'): + if (PES[i] == '&' and PES[i + 1] == '&') or (PES[i] == '|' and PES[i + 1] == '|'): LogicOpPos = i Exp = PES[PredicateBegin:i].strip() # Exp may contain '.' or '->' @@ -670,7 +670,7 @@ def GetPredicateListFromPredicateExpStr(PES): PredicateList.append(Exp.rstrip(';').rstrip(')').strip()) return PredicateList -def GetCNameList(Lvalue, StarList = []): +def GetCNameList(Lvalue, StarList=[]): Lvalue += ' ' i = 0 SearchBegin = 0 @@ -686,7 +686,7 @@ def GetCNameList(Lvalue, StarList = []): VarEnd = i i += 1 elif VarEnd != -1: - VarList.append(Lvalue[VarStart:VarEnd+1]) + VarList.append(Lvalue[VarStart:VarEnd + 1]) i += 1 break else: @@ -714,7 +714,7 @@ def GetCNameList(Lvalue, StarList = []): return VarList -def SplitPredicateByOp(Str, Op, IsFuncCalling = False): +def SplitPredicateByOp(Str, Op, IsFuncCalling=False): Name = Str.strip() Value = None @@ -760,7 +760,7 @@ def SplitPredicateByOp(Str, Op, IsFuncCalling = False): return [Name] Name = Str[0:Index + IndexInRemainingStr].strip() - Value = Str[Index+IndexInRemainingStr+len(Op):].strip().strip(')') + Value = Str[Index + IndexInRemainingStr + len(Op):].strip().strip(')') return [Name, Value] TmpStr = Str.rstrip(';').rstrip(')') @@ -769,7 +769,7 @@ def SplitPredicateByOp(Str, Op, IsFuncCalling = False): if Index == -1: return [Name] - if Str[Index - 1].isalnum() or Str[Index - 1].isspace() or Str[Index - 1] == ')': + if Str[Index - 1].isalnum() or Str[Index - 1].isspace() or Str[Index - 1] == ')' or Str[Index - 1] == ']': Name = Str[0:Index].strip() Value = Str[Index + len(Op):].strip() return [Name, Value] @@ -826,15 +826,13 @@ def PatternInModifier(Modifier, SubStr): def GetDataTypeFromModifier(ModifierStr): MList = ModifierStr.split() + ReturnType = '' for M in MList: if M in EccGlobalData.gConfig.ModifierList: - MList.remove(M) + continue # remove array sufix - if M.startswith('['): - MList.remove(M) - - ReturnType = '' - for M in MList: + if M.startswith('[') or M.endswith(']'): + continue ReturnType += M + ' ' ReturnType = ReturnType.strip() @@ -950,7 +948,7 @@ def StripComments(Str): DoubleSlashComment = False Index += 1 # check for */ comment end - elif InComment and not DoubleSlashComment and ListFromStr[Index] == '*' and ListFromStr[Index+1] == '/': + elif InComment and not DoubleSlashComment and ListFromStr[Index] == '*' and ListFromStr[Index + 1] == '/': ListFromStr[Index] = ' ' Index += 1 ListFromStr[Index] = ' ' @@ -961,12 +959,12 @@ def StripComments(Str): ListFromStr[Index] = ' ' Index += 1 # check for // comment - elif ListFromStr[Index] == '/' and ListFromStr[Index+1] == '/' and ListFromStr[Index+2] != '\n': + elif ListFromStr[Index] == '/' and ListFromStr[Index + 1] == '/' and ListFromStr[Index + 2] != '\n': InComment = True DoubleSlashComment = True # check for /* comment start - elif ListFromStr[Index] == '/' and ListFromStr[Index+1] == '*': + elif ListFromStr[Index] == '/' and ListFromStr[Index + 1] == '*': ListFromStr[Index] = ' ' Index += 1 ListFromStr[Index] = ' ' @@ -1024,7 +1022,7 @@ def GetFinalTypeValue(Type, FieldName, TypedefDict, SUDict): return None -def GetRealType(Type, TypedefDict, TargetType = None): +def GetRealType(Type, TypedefDict, TargetType=None): if TargetType != None and Type == TargetType: return Type while TypedefDict.get(Type): @@ -1033,7 +1031,7 @@ def GetRealType(Type, TypedefDict, TargetType = None): return Type return Type -def GetTypeInfo(RefList, Modifier, FullFileName, TargetType = None): +def GetTypeInfo(RefList, Modifier, FullFileName, TargetType=None): TypedefDict = GetTypedefDict(FullFileName) SUDict = GetSUDict(FullFileName) Type = GetDataTypeFromModifier(Modifier).replace('*', '').strip() @@ -1051,7 +1049,7 @@ def GetTypeInfo(RefList, Modifier, FullFileName, TargetType = None): # we only want to check if it is a pointer else: Type = FromType - if Type.find('*') != -1 and Index == len(RefList)-1: + if Type.find('*') != -1 and Index == len(RefList) - 1: return Type Type = FromType.split()[0] @@ -1061,7 +1059,7 @@ def GetTypeInfo(RefList, Modifier, FullFileName, TargetType = None): return Type -def GetVarInfo(PredVarList, FuncRecord, FullFileName, IsFuncCall = False, TargetType = None, StarList = None): +def GetVarInfo(PredVarList, FuncRecord, FullFileName, IsFuncCall=False, TargetType=None, StarList=None): PredVar = PredVarList[0] FileID = GetTableID(FullFileName) @@ -1536,7 +1534,7 @@ def CheckFuncLayoutLocalVariable(FullFileName): FL.append(Result) for F in FL: - SqlStatement = """ select Name, Value, ID + SqlStatement = """ select Name, Value, ID, Modifier from %s where Model = %d and BelongsToFunction = %d """ % (FileTable, DataClass.MODEL_IDENTIFIER_VARIABLE, F[0]) @@ -1545,7 +1543,7 @@ def CheckFuncLayoutLocalVariable(FullFileName): continue for Result in ResultSet: - if len(Result[1]) > 0: + if len(Result[1]) > 0 and 'CONST' not in Result[3]: PrintErrorMsg(ERROR_C_FUNCTION_LAYOUT_CHECK_NO_INIT_OF_VARIABLE, 'Variable Name: %s' % Result[0], FileTable, Result[2]) def CheckMemberVariableFormat(Name, Value, FileTable, TdId, ModelId): @@ -1687,9 +1685,9 @@ def CheckDeclTypedefFormat(FullFileName, ModelId): # Check member variable format. ErrMsgList = CheckMemberVariableFormat(Name, Value, FileTable, Td[5], ModelId) for ErrMsg in ErrMsgList: - if EccGlobalData.gException.IsException(ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME, Name+'.'+ErrMsg): + if EccGlobalData.gException.IsException(ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME, Name + '.' + ErrMsg): continue - PrintErrorMsg(ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME, 'Member variable [%s] NOT follow naming convention.' % (Name+'.'+ErrMsg), FileTable, Td[5]) + PrintErrorMsg(ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME, 'Member variable [%s] NOT follow naming convention.' % (Name + '.' + ErrMsg), FileTable, Td[5]) # First check in current file to see whether struct/union/enum is typedef-ed. UntypedefedList = [] @@ -1710,9 +1708,9 @@ def CheckDeclTypedefFormat(FullFileName, ModelId): continue ErrMsgList = CheckMemberVariableFormat(Name, Value, FileTable, Result[3], ModelId) for ErrMsg in ErrMsgList: - if EccGlobalData.gException.IsException(ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME, Result[0]+'.'+ErrMsg): + if EccGlobalData.gException.IsException(ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME, Result[0] + '.' + ErrMsg): continue - PrintErrorMsg(ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME, 'Member variable [%s] NOT follow naming convention.' % (Result[0]+'.'+ErrMsg), FileTable, Result[3]) + PrintErrorMsg(ERROR_NAMING_CONVENTION_CHECK_VARIABLE_NAME, 'Member variable [%s] NOT follow naming convention.' % (Result[0] + '.' + ErrMsg), FileTable, Result[3]) # Check whether it is typedefed. Found = False for Td in TdList: @@ -1949,7 +1947,7 @@ def CheckPointerNullComparison(FullFileName): if SearchInCache: Type = FuncReturnTypeDict.get(PredVarStr) if Type != None: - if Type.find('*') != -1: + if Type.find('*') != -1 and Type != 'BOOLEAN*': PrintErrorMsg(ERROR_PREDICATE_EXPRESSION_CHECK_COMPARISON_NULL_TYPE, 'Predicate Expression: %s' % Exp, FileTable, Str[2]) continue @@ -1962,7 +1960,7 @@ def CheckPointerNullComparison(FullFileName): if Type == None: continue Type = GetTypeFromArray(Type, PredVarStr) - if Type.find('*') != -1: + if Type.find('*') != -1 and Type != 'BOOLEAN*': PrintErrorMsg(ERROR_PREDICATE_EXPRESSION_CHECK_COMPARISON_NULL_TYPE, 'Predicate Expression: %s' % Exp, FileTable, Str[2]) def CheckNonBooleanValueComparison(FullFileName): @@ -2004,8 +2002,6 @@ def CheckNonBooleanValueComparison(FullFileName): continue for Exp in GetPredicateListFromPredicateExpStr(Str[0]): -# if p.match(Exp): -# continue PredInfo = SplitPredicateStr(Exp) if PredInfo[1] == None: PredVarStr = PredInfo[0][0].strip() @@ -2037,7 +2033,6 @@ def CheckNonBooleanValueComparison(FullFileName): if PredVarStr in FuncReturnTypeDict: continue - Type = GetVarInfo(PredVarList, FuncRecord, FullFileName, IsFuncCall, 'BOOLEAN', StarList) if SearchInCache: FuncReturnTypeDict[PredVarStr] = Type @@ -2446,7 +2441,7 @@ def GetDoxygenStrFromComment(Str): return DoxygenStrList -def CheckGeneralDoxygenCommentLayout(Str, StartLine, ErrorMsgList, CommentId = -1, TableName = ''): +def CheckGeneralDoxygenCommentLayout(Str, StartLine, ErrorMsgList, CommentId= -1, TableName=''): #/** --*/ @retval after @param if not Str.startswith('/**'): ErrorMsgList.append('Line %d : Comment does NOT have prefix /** ' % StartLine) @@ -2460,7 +2455,7 @@ def CheckGeneralDoxygenCommentLayout(Str, StartLine, ErrorMsgList, CommentId = - ErrorMsgList.append('Line %d : @retval appear before @param ' % StartLine) PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'in Comment, @retval appear before @param ', TableName, CommentId) -def CheckFunctionHeaderConsistentWithDoxygenComment(FuncModifier, FuncHeader, FuncStartLine, CommentStr, CommentStartLine, ErrorMsgList, CommentId = -1, TableName = ''): +def CheckFunctionHeaderConsistentWithDoxygenComment(FuncModifier, FuncHeader, FuncStartLine, CommentStr, CommentStartLine, ErrorMsgList, CommentId= -1, TableName=''): ParamList = GetParamList(FuncHeader) CheckGeneralDoxygenCommentLayout(CommentStr, CommentStartLine, ErrorMsgList, CommentId, TableName) @@ -2480,18 +2475,18 @@ def CheckFunctionHeaderConsistentWithDoxygenComment(FuncModifier, FuncHeader, Fu ParamName = ParamList[Index].Name.strip() Tag = DoxygenStrList[Index].strip(' ') if (not Tag[-1] == ('\n')) and (not Tag[-1] == ('\r')): - ErrorMsgList.append('Line %d : in Comment, \"%s\" does NOT end with new line ' % (CommentStartLine, Tag.replace('\n', '').replace('\r', ''))) - PrintErrorMsg(ERROR_HEADER_CHECK_FUNCTION, 'in Comment, \"%s\" does NOT end with new line ' % (Tag.replace('\n', '').replace('\r', '')), TableName, CommentId) + ErrorMsgList.append('Line %d : in Comment, <%s> does NOT end with new line ' % (CommentStartLine, Tag.replace('\n', '').replace('\r', ''))) + PrintErrorMsg(ERROR_HEADER_CHECK_FUNCTION, 'in Comment, <%s> does NOT end with new line ' % (Tag.replace('\n', '').replace('\r', '')), TableName, CommentId) TagPartList = Tag.split() if len(TagPartList) < 2: - ErrorMsgList.append('Line %d : in Comment, \"%s\" does NOT contain doxygen contents ' % (CommentStartLine, Tag.replace('\n', '').replace('\r', ''))) - PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'in Comment, \"%s\" does NOT contain doxygen contents ' % (Tag.replace('\n', '').replace('\r', '')), TableName, CommentId) + ErrorMsgList.append('Line %d : in Comment, <%s> does NOT contain doxygen contents ' % (CommentStartLine, Tag.replace('\n', '').replace('\r', ''))) + PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'in Comment, <%s> does NOT contain doxygen contents ' % (Tag.replace('\n', '').replace('\r', '')), TableName, CommentId) Index += 1 continue LBPos = Tag.find('[') RBPos = Tag.find(']') ParamToLBContent = Tag[len('@param'):LBPos].strip() - if LBPos > 0 and len(ParamToLBContent)==0 and RBPos > LBPos: + if LBPos > 0 and len(ParamToLBContent) == 0 and RBPos > LBPos: InOutStr = '' ModifierPartList = ParamModifier.split() for Part in ModifierPartList: @@ -2504,12 +2499,19 @@ def CheckFunctionHeaderConsistentWithDoxygenComment(FuncModifier, FuncHeader, Fu InOutStr = 'out' if InOutStr != '': - if Tag.find('['+InOutStr+']') == -1: - ErrorMsgList.append('Line %d : in Comment, \"%s\" does NOT have %s ' % (CommentStartLine, (TagPartList[0] + ' ' +TagPartList[1]).replace('\n', '').replace('\r', ''), '['+InOutStr+']')) - PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'in Comment, \"%s\" does NOT have %s ' % ((TagPartList[0] + ' ' +TagPartList[1]).replace('\n', '').replace('\r', ''), '['+InOutStr+']'), TableName, CommentId) + if Tag.find('[' + InOutStr + ']') == -1: + if InOutStr != 'in, out': + ErrorMsgList.append('Line %d : in Comment, <%s> does NOT have %s ' % (CommentStartLine, (TagPartList[0] + ' ' + TagPartList[1]).replace('\n', '').replace('\r', ''), '[' + InOutStr + ']')) + PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'in Comment, <%s> does NOT have %s ' % ((TagPartList[0] + ' ' + TagPartList[1]).replace('\n', '').replace('\r', ''), '[' + InOutStr + ']'), TableName, CommentId) + else: + if Tag.find('[in,out]') == -1: + ErrorMsgList.append('Line %d : in Comment, <%s> does NOT have %s ' % (CommentStartLine, (TagPartList[0] + ' ' + TagPartList[1]).replace('\n', '').replace('\r', ''), '[' + InOutStr + ']')) + PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'in Comment, <%s> does NOT have %s ' % ((TagPartList[0] + ' ' + TagPartList[1]).replace('\n', '').replace('\r', ''), '[' + InOutStr + ']'), TableName, CommentId) + + if Tag.find(ParamName) == -1 and ParamName != 'VOID' and ParamName != 'void': - ErrorMsgList.append('Line %d : in Comment, \"%s\" does NOT consistent with parameter name %s ' % (CommentStartLine, (TagPartList[0] + ' ' +TagPartList[1]).replace('\n', '').replace('\r', ''), ParamName)) - PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'in Comment, \"%s\" does NOT consistent with parameter name %s ' % ((TagPartList[0] + ' ' +TagPartList[1]).replace('\n', '').replace('\r', ''), ParamName), TableName, CommentId) + ErrorMsgList.append('Line %d : in Comment, <%s> does NOT consistent with parameter name %s ' % (CommentStartLine, (TagPartList[0] + ' ' + TagPartList[1]).replace('\n', '').replace('\r', ''), ParamName)) + PrintErrorMsg(ERROR_DOXYGEN_CHECK_FUNCTION_HEADER, 'in Comment, <%s> does NOT consistent with parameter name %s ' % ((TagPartList[0] + ' ' + TagPartList[1]).replace('\n', '').replace('\r', ''), ParamName), TableName, CommentId) Index += 1 if Index < ParamNumber: diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py b/BaseTools/Source/Python/GenFds/FdfParser.py index 6a9e5b7b40..4f555e32bb 100644 --- a/BaseTools/Source/Python/GenFds/FdfParser.py +++ b/BaseTools/Source/Python/GenFds/FdfParser.py @@ -1690,9 +1690,13 @@ class FdfParser: self.__UndoToken() self.__GetRegionFileType( RegionObj) - else: + elif self.__Token == "DATA": self.__UndoToken() self.__GetRegionDataType( RegionObj) + else: + raise Warning("A valid region type was not found. " + "Valid types are [SET, FV, CAPSULE, FILE, DATA]. This error occurred", + self.FileName, self.CurrentLineNumber) return True @@ -1929,6 +1933,8 @@ class FdfParser: self.__GetSetStatements(FvObj) self.__GetFvBaseAddress(FvObj) + + self.__GetFvForceRebase(FvObj) self.__GetFvAlignment(FvObj) @@ -2006,11 +2012,42 @@ class FdfParser: IsValidBaseAddrValue = re.compile('^0[x|X][0-9a-fA-F]+') if not IsValidBaseAddrValue.match(self.__Token.upper()): - raise Warning("Unknown alignment value '%s'" % self.__Token, self.FileName, self.CurrentLineNumber) + raise Warning("Unknown FV base address value '%s'" % self.__Token, self.FileName, self.CurrentLineNumber) Obj.FvBaseAddress = self.__Token return True + ## __GetFvForceRebase() method + # + # Get FvForceRebase for FV + # + # @param self The object pointer + # @param Obj for whom FvForceRebase is got + # @retval True Successfully find a FvForceRebase statement + # @retval False Not able to find a FvForceRebase statement + # + def __GetFvForceRebase(self, Obj): + + if not self.__IsKeyword("FvForceRebase"): + return False + + if not self.__IsToken( "="): + raise Warning("expected '='", self.FileName, self.CurrentLineNumber) + + if not self.__GetNextToken(): + raise Warning("expected FvForceRebase value", self.FileName, self.CurrentLineNumber) + if self.__Token.upper() not in ["TRUE", "FALSE", "0", "0X0", "0X00", "1", "0X1", "0X01"]: + raise Warning("Unknown FvForceRebase value '%s'" % self.__Token, self.FileName, self.CurrentLineNumber) + + if self.__Token.upper() in ["TRUE", "1", "0X1", "0X01"]: + Obj.FvForceRebase = True + elif self.__Token.upper() in ["FALSE", "0", "0X0", "0X00"]: + Obj.FvForceRebase = False + else: + Obj.FvForceRebase = None + + return True + ## __GetFvAttributes() method # # Get attributes for FV @@ -2215,7 +2252,10 @@ class FdfParser: ffsInf.KeepReloc = True else: raise Warning("Unknown reloc strip flag '%s'" % self.__Token, self.FileName, self.CurrentLineNumber) - + + ffsInf.CurrentLineNum = self.CurrentLineNumber + ffsInf.CurrentLineContent = self.__CurrentLine() + if ForCapsule: capsuleFfs = CapsuleData.CapsuleFfs() capsuleFfs.Ffs = ffsInf @@ -2325,7 +2365,10 @@ class FdfParser: self.__Token = 'PCD('+PcdPair[1]+'.'+PcdPair[0]+')' FfsFileObj.NameGuid = self.__Token - + + FfsFileObj.CurrentLineNum = self.CurrentLineNumber + FfsFileObj.CurrentLineContent = self.__CurrentLine() + self.__GetFilePart( FfsFileObj, MacroDict.copy()) if ForCapsule: @@ -3922,7 +3965,7 @@ class FdfParser: Overrides.PciRevision = self.__Token continue - if self.__IsKeyword( "COMPRESS"): + if self.__IsKeyword( "PCI_COMPRESS"): if not self.__IsToken( "="): raise Warning("expected '='", self.FileName, self.CurrentLineNumber) if not self.__GetNextToken(): diff --git a/BaseTools/Source/Python/GenFds/FfsFileStatement.py b/BaseTools/Source/Python/GenFds/FfsFileStatement.py index 013dbb1f02..b858549361 100644 --- a/BaseTools/Source/Python/GenFds/FfsFileStatement.py +++ b/BaseTools/Source/Python/GenFds/FfsFileStatement.py @@ -39,6 +39,10 @@ class FileStatement (FileStatementClassObject) : # def __init__(self): FileStatementClassObject.__init__(self) + self.CurrentLineNum = None + self.CurrentLineContent = None + self.FileName = None + self.InfFileName = None ## GenFfs() method # @@ -94,7 +98,7 @@ class FileStatement (FileStatementClassObject) : SectionFiles = [] Index = 0 SectionAlignments = [] - for section in self.SectionList : + for section in self.SectionList: Index = Index + 1 SecIndex = '%d' %Index # process the inside FvImage from FvSection or GuidSection diff --git a/BaseTools/Source/Python/GenFds/FfsInfStatement.py b/BaseTools/Source/Python/GenFds/FfsInfStatement.py index b9e18f6bca..c6f29f6ddd 100644 --- a/BaseTools/Source/Python/GenFds/FfsInfStatement.py +++ b/BaseTools/Source/Python/GenFds/FfsInfStatement.py @@ -56,6 +56,10 @@ class FfsInfStatement(FfsInfStatementClassObject): self.PiSpecVersion = '0x00000000' self.InfModule = None self.FinalTargetSuffixMap = {} + self.CurrentLineNum = None + self.CurrentLineContent = None + self.FileName = None + self.InfFileName = None ## GetFinalTargetSuffixMap() method # @@ -452,7 +456,7 @@ class FfsInfStatement(FfsInfStatementClassObject): Arch = '' OutputPath = '' (ModulePath, FileName) = os.path.split(self.InfFileName) - Index = FileName.find('.') + Index = FileName.rfind('.') FileName = FileName[0:Index] Arch = "NoneArch" if self.CurrentArch != None: diff --git a/BaseTools/Source/Python/GenFds/Fv.py b/BaseTools/Source/Python/GenFds/Fv.py index 773b0efbe8..f186ab0e73 100644 --- a/BaseTools/Source/Python/GenFds/Fv.py +++ b/BaseTools/Source/Python/GenFds/Fv.py @@ -47,6 +47,7 @@ class FV (FvClassObject): self.FvAddressFileName = None self.CapsuleName = None self.FvBaseAddress = None + self.FvForceRebase = None ## AddToBuffer() # @@ -133,7 +134,8 @@ class FV (FvClassObject): FvOutputFile, [self.InfFileName], AddressFile=FvInfoFileName, - FfsList=FfsFileList + FfsList=FfsFileList, + ForceRebase=self.FvForceRebase ) NewFvInfo = None @@ -162,7 +164,8 @@ class FV (FvClassObject): FvOutputFile, [self.InfFileName], AddressFile=FvInfoFileName, - FfsList=FfsFileList + FfsList=FfsFileList, + ForceRebase=self.FvForceRebase ) # diff --git a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py index 3abaef2023..236283751e 100644 --- a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py +++ b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py @@ -422,7 +422,7 @@ class GenFdsGlobalVariable: GenFdsGlobalVariable.CallExternalTool(Cmd, "Failed to generate FFS") @staticmethod - def GenerateFirmwareVolume(Output, Input, BaseAddress=None, Capsule=False, Dump=False, + def GenerateFirmwareVolume(Output, Input, BaseAddress=None, ForceRebase=None, Capsule=False, Dump=False, AddressFile=None, MapFile=None, FfsList=[]): if not GenFdsGlobalVariable.NeedsUpdate(Output, Input+FfsList): return @@ -431,6 +431,12 @@ class GenFdsGlobalVariable: Cmd = ["GenFv"] if BaseAddress not in [None, '']: Cmd += ["-r", BaseAddress] + + if ForceRebase == False: + Cmd +=["-F", "FALSE"] + elif ForceRebase == True: + Cmd +=["-F", "TRUE"] + if Capsule: Cmd += ["-c"] if Dump: diff --git a/BaseTools/Source/Python/GenFds/OptRomInfStatement.py b/BaseTools/Source/Python/GenFds/OptRomInfStatement.py index d64f836164..069414df5b 100644 --- a/BaseTools/Source/Python/GenFds/OptRomInfStatement.py +++ b/BaseTools/Source/Python/GenFds/OptRomInfStatement.py @@ -50,10 +50,10 @@ class OptRomInfStatement (FfsInfStatement): self.OverrideAttribs = OptionRom.OverrideAttribs() if self.OverrideAttribs.NeedCompress == None: - self.OverrideAttribs.NeedCompress = self.OptRomDefs.get ('COMPRESS') + self.OverrideAttribs.NeedCompress = self.OptRomDefs.get ('PCI_COMPRESS') if self.OverrideAttribs.NeedCompress is not None: if self.OverrideAttribs.NeedCompress.upper() not in ('TRUE', 'FALSE'): - GenFdsGlobalVariable.ErrorLogger( "Expected TRUE/FALSE for COMPRESS: %s" %self.InfFileName) + GenFdsGlobalVariable.ErrorLogger( "Expected TRUE/FALSE for PCI_COMPRESS: %s" %self.InfFileName) self.OverrideAttribs.NeedCompress = \ self.OverrideAttribs.NeedCompress.upper() == 'TRUE' diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py index fabc7ed986..4bad21298a 100644 --- a/BaseTools/Source/Python/Workspace/MetaFileParser.py +++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py @@ -895,21 +895,28 @@ class DscParser(MetaFileParser): # three operands elif TokenNumber == 3: TokenValue = TokenList[0] - if TokenValue[0] in ["'", '"'] and TokenValue[-1] in ["'", '"']: - TokenValue = TokenValue[1:-1] - if TokenValue.startswith("$(") and TokenValue.endswith(")"): - TokenValue = self._EvaluateToken(TokenValue, Expression) - if TokenValue[0] in ["'", '"'] and TokenValue[-1] in ["'", '"']: - TokenValue = TokenValue[1:-1] - if TokenValue == None: - return False + if TokenValue != "": + if TokenValue[0] in ["'", '"'] and TokenValue[-1] in ["'", '"']: + TokenValue = TokenValue[1:-1] + if TokenValue.startswith("$(") and TokenValue.endswith(")"): + TokenValue = self._EvaluateToken(TokenValue, Expression) + if TokenValue == None: + return False + if TokenValue != "": + if TokenValue[0] in ["'", '"'] and TokenValue[-1] in ["'", '"']: + TokenValue = TokenValue[1:-1] + Value = TokenList[2] - if Value[0] in ["'", '"'] and Value[-1] in ["'", '"']: - Value = Value[1:-1] - if Value.startswith("$(") and Value.endswith(")"): - Value = self._EvaluateToken(Value, Expression) - if Value[0] in ["'", '"'] and Value[-1] in ["'", '"']: - Value = Value[1:-1] + if Value != "": + if Value[0] in ["'", '"'] and Value[-1] in ["'", '"']: + Value = Value[1:-1] + if Value.startswith("$(") and Value.endswith(")"): + Value = self._EvaluateToken(Value, Expression) + if Value == None: + return False + if Value != "": + if Value[0] in ["'", '"'] and Value[-1] in ["'", '"']: + Value = Value[1:-1] Op = TokenList[1] if Op not in self._OP_: EdkLogger.error('Parser', FORMAT_INVALID, "Unsupported operator [%s]" % Op, File=self.MetaFile, diff --git a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py index 4bfa7d8ffd..ac2ca057cc 100644 --- a/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py +++ b/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py @@ -1896,7 +1896,7 @@ class InfBuildData(ModuleBuildClassObject): ## Retrieve PCDs used in this module def _GetPcds(self): if self._Pcds == None: - self._Pcds = {} + self._Pcds = sdict() self._Pcds.update(self._GetPcd(MODEL_PCD_FIXED_AT_BUILD)) self._Pcds.update(self._GetPcd(MODEL_PCD_PATCHABLE_IN_MODULE)) self._Pcds.update(self._GetPcd(MODEL_PCD_FEATURE_FLAG)) @@ -1996,7 +1996,7 @@ class InfBuildData(ModuleBuildClassObject): ## Retrieve PCD for given type def _GetPcd(self, Type): - Pcds = {} + Pcds = sdict() PcdDict = tdict(True, 4) PcdList = [] RecordList = self._RawData[Type, self._Arch, self._Platform] @@ -2071,18 +2071,9 @@ class InfBuildData(ModuleBuildClassObject): # # Check hexadecimal token value length and format. # + ReIsValidPcdTokenValue = re.compile(r"^[0][x|X][0]*[0-9a-fA-F]{1,8}$", re.DOTALL) if Pcd.TokenValue.startswith("0x") or Pcd.TokenValue.startswith("0X"): - if len(Pcd.TokenValue) < 3 or len(Pcd.TokenValue) > 10: - EdkLogger.error( - 'build', - FORMAT_INVALID, - "The format of TokenValue [%s] of PCD [%s.%s] in [%s] is invalid:" % (Pcd.TokenValue, TokenSpaceGuid, PcdCName, str(Package)), - File =self.MetaFile, Line=LineNo, - ExtraData=None - ) - try: - int (Pcd.TokenValue, 16) - except: + if ReIsValidPcdTokenValue.match(Pcd.TokenValue) == None: EdkLogger.error( 'build', FORMAT_INVALID, -- 2.39.2