From: "Bi, Dandan" <dandan.bi@intel.com>
To: "Yao, Jiewen" <jiewen.yao@intel.com>,
"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [patch] MdeModulePkg: Fix GCC build failure
Date: Fri, 25 Nov 2016 02:11:47 +0000 [thread overview]
Message-ID: <3C0D5C461C9E904E8F62152F6274C0BB39662D08@shsmsx102.ccr.corp.intel.com> (raw)
In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C50386DA995@shsmsx102.ccr.corp.intel.com>
Got it ! I will enhance the logic! Thanks!
Regards,
Dandan
From: Yao, Jiewen
Sent: Friday, November 25, 2016 10:01 AM
To: Bi, Dandan <dandan.bi@intel.com>; edk2-devel@lists.01.org
Cc: Pete Batard <pete@akeo.ie>
Subject: RE: [patch] MdeModulePkg: Fix GCC build failure
Thanks
I am OK on most part.
However, I think we had better do some basic check for below:
> //
> // Create break event
> //
> - Status = gBS->CreateEvent (
> + gBS->CreateEvent (
> EVT_TIMER | EVT_NOTIFY_SIGNAL,
> TPL_CALLBACK,
> EbcDebuggerBreakEventFunc,
> NULL,
> &mDebuggerPrivate.BreakEvent
> );
> - Status = gBS->SetTimer (
> + gBS->SetTimer (
> mDebuggerPrivate.BreakEvent,
> TimerPeriodic,
> EFI_DEBUG_BREAK_TIMER_INTERVAL
> );
If CreateEvent() fails, it does not make sense to call SetTimer().
Also CloseEvent (mDebuggerPrivate.BreakEvent); is called directly later.
So I suggest we add a Status check for CreateEvent. Also for NULL check in CloseEvent
Thank you
Yao Jiewen
> -----Original Message-----
> From: Bi, Dandan
> Sent: Friday, November 25, 2016 9:43 AM
> To: edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
> Cc: Pete Batard <pete@akeo.ie<mailto:pete@akeo.ie>>; Yao, Jiewen <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
> Subject: [patch] MdeModulePkg: Fix GCC build failure
>
> Remove the variables which are set but not used.
>
> Cc: Pete Batard <pete@akeo.ie<mailto:pete@akeo.ie>>
> Cc: Jiewen Yao <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Dandan Bi <dandan.bi@intel.com<mailto:dandan.bi@intel.com>>
> ---
> MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c | 3
> ---
> MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdBreakpoint.c | 5
> -----
> MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c |
> 9 ++++-----
> MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSymbol.c | 2
> --
> 4 files changed, 4 insertions(+), 15 deletions(-)
>
> diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c
> b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c
> index e0b85c7..adc1c50 100644
> --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c
> +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/Edb.c
> @@ -192,11 +192,10 @@ Returns:
>
> --*/
> {
> UINT64 Address;
> UINTN Index;
> - UINT16 OldInstruction;
> BOOLEAN IsHitBreakpoint;
>
> //
> // Roll back IP for breakpoint instruction (BREAK(3) : 0x0300)
> //
> @@ -207,11 +206,10 @@ Returns:
> //
> IsHitBreakpoint = FALSE;
> for (Index = 0; (Index < DebuggerPrivate->DebuggerBreakpointCount) &&
> (Index < EFI_DEBUGGER_BREAKPOINT_MAX); Index++) {
> if
> ((DebuggerPrivate->DebuggerBreakpointContext[Index].BreakpointAddress
> == Address) &&
> (DebuggerPrivate->DebuggerBreakpointContext[Index].State)) {
> - OldInstruction =
> (UINT16)DebuggerPrivate->DebuggerBreakpointContext[Index].OldInstructi
> on;
> IsHitBreakpoint = TRUE;
> break;
> }
> }
>
> @@ -242,11 +240,10 @@ Returns:
> //
> IsHitBreakpoint = FALSE;
> for (Index = 0; (Index < DebuggerPrivate->DebuggerBreakpointCount)
> && (Index < EFI_DEBUGGER_BREAKPOINT_MAX); Index++) {
> if
> ((DebuggerPrivate->DebuggerBreakpointContext[Index].BreakpointAddress
> == Address) &&
> (DebuggerPrivate->DebuggerBreakpointContext[Index].State))
> {
> - OldInstruction =
> (UINT16)DebuggerPrivate->DebuggerBreakpointContext[Index].OldInstructi
> on;
> IsHitBreakpoint = TRUE;
> break;
> }
> }
>
> diff --git
> a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdBreakpoint.c
> b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdBreakpoint.c
> index 4be6dd4..a137ea9 100644
> --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdBreakpoint.c
> +++
> b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCmdBreakpoint.c
> @@ -437,12 +437,10 @@ Returns:
>
> --*/
> {
> UINTN Index;
> EFI_STATUS Status;
> - UINTN Address;
> - UINT16 OldInstruction;
>
> if (CommandArg == NULL) {
> EDBPrint (L"BreakpointClear Argument error!\n");
> return EFI_DEBUG_CONTINUE;
> }
> @@ -464,13 +462,10 @@ Returns:
>
> if ((Index >= EFI_DEBUGGER_BREAKPOINT_MAX) ||
> (Index >= DebuggerPrivate->DebuggerBreakpointCount)) {
> EDBPrint (L"BreakpointClear error!\n");
> return EFI_DEBUG_CONTINUE;
> - } else {
> - Address =
> (UINTN)DebuggerPrivate->DebuggerBreakpointContext[Index].BreakpointA
> ddress;
> - OldInstruction =
> (UINT16)DebuggerPrivate->DebuggerBreakpointContext[Index].OldInstructi
> on;
> }
>
> //
> // Delete breakpoint
> //
> diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c
> b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c
> index 9196adb..696ab74 100644
> --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c
> +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbHook.c
> @@ -387,11 +387,10 @@ Arguments:
> Returns:
> None
>
> --*/
> {
> - EFI_STATUS Status;
> UINTN Index;
> EFI_DEBUGGER_SYMBOL_OBJECT *Object;
> EFI_DEBUGGER_SYMBOL_ENTRY *Entry;
>
>
> @@ -431,35 +430,35 @@ Returns:
> }
>
> //
> // locate PciRootBridgeIo
> //
> - Status = gBS->LocateProtocol (
> + gBS->LocateProtocol (
> &gEfiPciRootBridgeIoProtocolGuid,
> NULL,
> (VOID**) &mDebuggerPrivate.PciRootBridgeIo
> );
>
> //
> // locate DebugImageInfoTable
> //
> - Status = EfiGetSystemConfigurationTable (
> + EfiGetSystemConfigurationTable (
> &gEfiDebugImageInfoTableGuid,
> (VOID**)
> &mDebuggerPrivate.DebugImageInfoTableHeader
> );
>
> //
> // Create break event
> //
> - Status = gBS->CreateEvent (
> + gBS->CreateEvent (
> EVT_TIMER | EVT_NOTIFY_SIGNAL,
> TPL_CALLBACK,
> EbcDebuggerBreakEventFunc,
> NULL,
> &mDebuggerPrivate.BreakEvent
> );
> - Status = gBS->SetTimer (
> + gBS->SetTimer (
> mDebuggerPrivate.BreakEvent,
> TimerPeriodic,
> EFI_DEBUG_BREAK_TIMER_INTERVAL
> );
>
> diff --git a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSymbol.c
> b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSymbol.c
> index 9573c43..a1d21aa 100644
> --- a/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSymbol.c
> +++ b/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSymbol.c
> @@ -191,19 +191,17 @@ Returns:
>
> --*/
> {
> CHAR8 *LineBuffer;
> CHAR8 *FieldBuffer;
> - EFI_DEBUGGER_SYMBOL_ENTRY *Entry;
> EDB_EBC_MAP_PARSE_STATE MapParseState;
> EDB_EBC_SYMBOL_PARSE_STATE SymbolParseState;
> CHAR8 *Name;
> CHAR8 *ObjName;
> UINTN Address;
> EFI_DEBUGGER_SYMBOL_TYPE Type;
>
> - Entry = Object->Entry;
>
> //
> // Begin to parse the Buffer
> //
> LineBuffer = AsciiStrGetNewTokenLine (Buffer, "\n\r");
> --
> 1.9.5.msysgit.1
next prev parent reply other threads:[~2016-11-25 2:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-25 1:42 [patch] MdeModulePkg: Fix GCC build failure Dandan Bi
2016-11-25 2:00 ` Yao, Jiewen
2016-11-25 2:11 ` Bi, Dandan [this message]
-- strict thread matches above, loose matches on Subject: below --
2016-11-25 1:19 Dandan Bi
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=3C0D5C461C9E904E8F62152F6274C0BB39662D08@shsmsx102.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