[edk2-devel] [PATCH v1 25/25] ArmPkg: Fix Ecc error 5007 in DefaultExceptionHandlerLib
PierreGondois
pierre.gondois at arm.com
Wed Dec 16 17:22:00 UTC 2020
From: Pierre Gondois <Pierre.Gondois at arm.com>
This patch fixes the following Ecc reported error:
There should be no initialization of a variable as
part of its declaration
Fixing this error implies extracting the CpsrChar
array from CpsrString and making it a static variable.
Signed-off-by: Pierre Gondois <Pierre.Gondois at arm.com>
---
The changes can be seen at: https://github.com/PierreARM/edk2/commits/1552_Ecc_ArmPkg_v1
.../Arm/DefaultExceptionHandler.c | 41 ++++++++++---------
1 file changed, 22 insertions(+), 19 deletions(-)
diff --git a/ArmPkg/Library/DefaultExceptionHandlerLib/Arm/DefaultExceptionHandler.c b/ArmPkg/Library/DefaultExceptionHandlerLib/Arm/DefaultExceptionHandler.c
index fa9af8c410b9..ad205a5a1ebf 100644
--- a/ArmPkg/Library/DefaultExceptionHandlerLib/Arm/DefaultExceptionHandler.c
+++ b/ArmPkg/Library/DefaultExceptionHandlerLib/Arm/DefaultExceptionHandler.c
@@ -2,7 +2,7 @@
Default exception handler
Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
- Copyright (c) 2012, ARM Ltd. All rights reserved.<BR>
+ Copyright (c) 2012 - 2020, Arm Ltd. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -34,6 +34,20 @@ typedef struct {
CHAR8 Char;
} CPSR_CHAR;
+STATIC CONST CPSR_CHAR mCpsrChar[] = {
+ { 31, 'n' },
+ { 30, 'z' },
+ { 29, 'c' },
+ { 28, 'v' },
+
+ { 9, 'e' },
+ { 8, 'a' },
+ { 7, 'i' },
+ { 6, 'f' },
+ { 5, 't' },
+ { 0, '?' }
+};
+
CHAR8 *
GetImageName (
IN UINTN FaultAddress,
@@ -45,7 +59,7 @@ GetImageName (
Convert the Current Program Status Register (CPSR) to a string. The string is
a defacto standard in the ARM world.
- It is possible to add extra bits by adding them to CpsrChar array.
+ It is possible to add extra bits by adding them to mCpsrChar array.
@param Cpsr ARM CPSR register value
@param ReturnStr CPSR_STRING_SIZE byte string that contains string
@@ -61,25 +75,12 @@ CpsrString (
UINTN Index;
CHAR8* Str;
CHAR8* ModeStr;
- CPSR_CHAR CpsrChar[] = {
- { 31, 'n' },
- { 30, 'z' },
- { 29, 'c' },
- { 28, 'v' },
-
- { 9, 'e' },
- { 8, 'a' },
- { 7, 'i' },
- { 6, 'f' },
- { 5, 't' },
- { 0, '?' }
- };
Str = ReturnStr;
- for (Index = 0; CpsrChar[Index].BIT != 0; Index++, Str++) {
- *Str = CpsrChar[Index].Char;
- if ((Cpsr & (1 << CpsrChar[Index].BIT)) != 0) {
+ for (Index = 0; mCpsrChar[Index].BIT != 0; Index++, Str++) {
+ *Str = mCpsrChar[Index].Char;
+ if ((Cpsr & (1 << mCpsrChar[Index].BIT)) != 0) {
// Concert to upper case if bit is set
*Str &= ~0x20;
}
@@ -186,7 +187,9 @@ DefaultExceptionHandler (
UINT32 DfsrStatus;
UINT32 IfsrStatus;
BOOLEAN DfsrWrite;
- UINT32 PcAdjust = 0;
+ UINT32 PcAdjust;
+
+ PcAdjust = 0;
CharCount = AsciiSPrint (Buffer,sizeof (Buffer),"\n%a Exception PC at 0x%08x CPSR 0x%08x ",
gExceptionTypeString[ExceptionType], SystemContext.SystemContextArm->PC, SystemContext.SystemContextArm->CPSR);
--
2.17.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#69008): https://edk2.groups.io/g/devel/message/69008
Mute This Topic: https://groups.io/mt/79006217/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list