Hi Kinney, Liming, Zhiguang, Can you give comments on this patch
Thanks Guomin > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Guomin > Jiang > Sent: Friday, February 18, 2022 10:30 AM > To: devel@edk2.groups.io > Cc: Kinney, Michael D <michael.d.kin...@intel.com>; Gao, Liming > <gaolim...@byosoft.com.cn>; Liu, Zhiguang <zhiguang....@intel.com> > Subject: [edk2-devel] [PATCH 2/2] MdePkg/Include: Define new > DEBUG_FILE to specify path. > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3840 > > Use DEBUG_FILE to control ASSERT path > > Motivation and Goal: > 1. The path will occupy many size in DEBUG build when file path is long 2. We > hope can reduce the size but not impact the debug capability 3. If only use > filename, we can search the filename to locate file. It > can save many size meanwhile. > > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Cc: Zhiguang Liu <zhiguang....@intel.com> > Signed-off-by: Guomin Jiang <guomin.ji...@intel.com> > --- > MdePkg/Include/Library/DebugLib.h | 39 ++++++++++++++++++++++------- > -- > 1 file changed, 28 insertions(+), 11 deletions(-) > > diff --git a/MdePkg/Include/Library/DebugLib.h > b/MdePkg/Include/Library/DebugLib.h > index 8d3d08638d73..5469c6308422 100644 > --- a/MdePkg/Include/Library/DebugLib.h > +++ b/MdePkg/Include/Library/DebugLib.h > @@ -8,7 +8,7 @@ > of size reduction when compiler optimization is disabled. If > MDEPKG_NDEBUG is > defined, then debug and assert related macros wrapped by it are the NULL > implementations. > > -Copyright (c) 2006 - 2020, Intel Corporation. All rights reserved.<BR> > +Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR> > SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > @@ -85,6 +85,31 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #define > DEBUG_LINE_NUMBER __LINE__ #endif > > +// > +// Source file. > +// Default is use the to compiler provided __FILE__ macro value. The > +__FILE__ // mapping can be overriden by predefining DEBUG_FILE // // > +Defining DEBUG_FILE to a fixed value is useful when comparing builds // > +across machine or configuration with different slash or path // file. > +// > +// Another benefit is we can customize the ASSERT path without > +depending on // compiler ability // // It's for all no matter VS, GCC, > +CLANG // #ifdef DEBUG_FILE #else #define DEBUG_FILE __FILE__ #endif > + > +// Blow override for keep clang behavior #if defined (__clang__) && > +defined (__FILE_NAME__) #undef DEBUG_FILE #define DEBUG_FILE > +__FILE_NAME__ #endif > + > /** > Macro that converts a Boolean expression to a Null-terminated ASCII string. > > @@ -337,17 +362,9 @@ UnitTestDebugAssert ( > IN CONST CHAR8 *Description > ); > > - #if defined (__clang__) && defined (__FILE_NAME__) -#define > _ASSERT(Expression) UnitTestDebugAssert (__FILE_NAME__, > DEBUG_LINE_NUMBER, DEBUG_EXPRESSION_STRING (Expression)) > - #else > -#define _ASSERT(Expression) UnitTestDebugAssert (__FILE__, > DEBUG_LINE_NUMBER, DEBUG_EXPRESSION_STRING (Expression)) > - #endif > +#define _ASSERT(Expression) UnitTestDebugAssert (DEBUG_FILE, > +DEBUG_LINE_NUMBER, DEBUG_EXPRESSION_STRING (Expression)) > #else > - #if defined (__clang__) && defined (__FILE_NAME__) -#define > _ASSERT(Expression) DebugAssert (__FILE_NAME__, > DEBUG_LINE_NUMBER, DEBUG_EXPRESSION_STRING (Expression)) > - #else > -#define _ASSERT(Expression) DebugAssert (__FILE__, > DEBUG_LINE_NUMBER, DEBUG_EXPRESSION_STRING (Expression)) > - #endif > +#define _ASSERT(Expression) DebugAssert (DEBUG_FILE, > +DEBUG_LINE_NUMBER, DEBUG_EXPRESSION_STRING (Expression)) > #endif > > /** > -- > 2.35.1.windows.2 > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#86944): https://edk2.groups.io/g/devel/message/86944 Mute This Topic: https://groups.io/mt/89357561/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-