From: "Bob Feng" <bob.c.feng@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"Gao, Liming" <liming.gao@intel.com>
Subject: Re: [edk2-devel] [Patch] BaseTools: Update GenFw tool to support -e -z option together
Date: Wed, 4 Sep 2019 01:02:59 +0000 [thread overview]
Message-ID: <08650203BA1BD64D8AD9B6D5D74A85D16152FCF0@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <20190902013102.20696-1-liming.gao@intel.com>
Liming,
The patch looks good to me.
A minor comment that the code looks fix the bug of the combinations of -e -z and -t -z, so would you please update the commit message to add "-t -z"
Thanks,
Bob
-----Original Message-----
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Liming Gao
Sent: Monday, September 2, 2019 9:31 AM
To: devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>
Subject: [edk2-devel] [Patch] BaseTools: Update GenFw tool to support -e -z option together
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1727
-e -z option is to generate EFI image with zero debug entry.
It can be used to check the EFI image in DEBUG build.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
---
BaseTools/Source/C/GenFw/GenFw.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/BaseTools/Source/C/GenFw/GenFw.c b/BaseTools/Source/C/GenFw/GenFw.c
index 973bae5fe4..c99782b78e 100644
--- a/BaseTools/Source/C/GenFw/GenFw.c
+++ b/BaseTools/Source/C/GenFw/GenFw.c
@@ -1111,6 +1111,7 @@ Returns:
time_t InputFileTime;
time_t OutputFileTime;
struct stat Stat_Buf;
+ BOOLEAN ZeroDebugFlag;
SetUtilityName (UTILITY_NAME);
@@ -1158,6 +1159,7 @@ Returns:
NegativeAddr = FALSE;
InputFileTime = 0;
OutputFileTime = 0;
+ ZeroDebugFlag = FALSE;
if (argc == 1) {
Error (NULL, 0, 1001, "Missing options", "No input options."); @@ -1197,6 +1199,9 @@ Returns:
goto Finish;
}
ModuleType = argv[1];
+ if (mOutImageType == FW_ZERO_DEBUG_IMAGE) {
+ ZeroDebugFlag = TRUE;
+ }
if (mOutImageType != FW_TE_IMAGE) {
mOutImageType = FW_EFI_IMAGE;
}
@@ -1220,6 +1225,9 @@ Returns:
}
if ((stricmp (argv[0], "-t") == 0) || (stricmp (argv[0], "--terse") == 0)) {
+ if (mOutImageType == FW_ZERO_DEBUG_IMAGE) {
+ ZeroDebugFlag = TRUE;
+ }
mOutImageType = FW_TE_IMAGE;
argc --;
argv ++;
@@ -1241,7 +1249,12 @@ Returns:
}
if ((stricmp (argv[0], "-z") == 0) || (stricmp (argv[0], "--zero") == 0)) {
- mOutImageType = FW_ZERO_DEBUG_IMAGE;
+ if (mOutImageType == FW_DUMMY_IMAGE) {
+ mOutImageType = FW_ZERO_DEBUG_IMAGE;
+ }
+ if (mOutImageType == FW_TE_IMAGE || mOutImageType == FW_EFI_IMAGE) {
+ ZeroDebugFlag = TRUE;
+ }
argc --;
argv ++;
continue;
@@ -2588,7 +2601,7 @@ Returns:
//
// Zero Time/Data field
//
- ZeroDebugData (FileBuffer, FALSE);
+ ZeroDebugData (FileBuffer, ZeroDebugFlag);
if (mOutImageType == FW_TE_IMAGE) {
if ((PeHdr->Pe32.FileHeader.NumberOfSections &~0xFF) || (Type &~0xFF)) {
--
2.13.0.windows.1
next prev parent reply other threads:[~2019-09-04 1:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-02 1:31 [Patch] BaseTools: Update GenFw tool to support -e -z option together Liming Gao
2019-09-04 1:02 ` Bob Feng [this message]
2019-09-04 1:21 ` [edk2-devel] " Liming Gao
2019-09-04 1:41 ` Bob Feng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=08650203BA1BD64D8AD9B6D5D74A85D16152FCF0@SHSMSX104.ccr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox