Mike: OK. So, this change is to pass ECC. Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn>
Thanks Liming > -----邮件原件----- > 发件人: Kinney, Michael D <michael.d.kin...@intel.com> > 发送时间: 2021年11月2日 15:05 > 收件人: devel@edk2.groups.io; gaolim...@byosoft.com.cn; Kinney, Michael > D <michael.d.kin...@intel.com> > 抄送: Liu, Zhiguang <zhiguang....@intel.com>; 'Michael Kubacki' > <michael.kuba...@microsoft.com> > 主题: RE: [edk2-devel] 回复: [Patch V2 1/7] MdePkg/Include: Enhance > DebugLib to support reproduce builds > > > > > -----Original Message----- > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of > gaoliming > > Sent: Monday, November 1, 2021 7:12 PM > > To: Kinney, Michael D <michael.d.kin...@intel.com>; > devel@edk2.groups.io > > Cc: Liu, Zhiguang <zhiguang....@intel.com>; 'Michael Kubacki' > <michael.kuba...@microsoft.com> > > Subject: [edk2-devel] 回复: [Patch V2 1/7] MdePkg/Include: Enhance > DebugLib to support reproduce builds > > > > Mike: > > I add my comments. > > > > Thanks > > Liming > > > -----邮件原件----- > > > 发件人: Michael D Kinney <michael.d.kin...@intel.com> > > > 发送时间: 2021年11月2日 5:38 > > > 收件人: devel@edk2.groups.io > > > 抄送: Liming Gao <gaolim...@byosoft.com.cn>; Zhiguang Liu > > > <zhiguang....@intel.com>; Michael Kubacki > > > <michael.kuba...@microsoft.com> > > > 主题: [Patch V2 1/7] MdePkg/Include: Enhance DebugLib to support > > > reproduce builds > > > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3688 > > > > > > * Add DEBUG_LINE_NUMBER define to DebugLib.h that is > > > by default mapped to __LINE__. A build can define > > > DEBUG_LINE_NUMBER to use a fixed value. > > > * Add DEBUG_EXPRESSION_STRING(Expression) macros to > > > DebugLib.h that is by default mapped to #Expression. > > > A build can define DEBUG_EXPRESSION_STRING_VALUE to > > > set all expression strings to a fixed string value. > > > > > > Cc: Liming Gao <gaolim...@byosoft.com.cn> > > > Cc: Zhiguang Liu <zhiguang....@intel.com> > > > Cc: Michael Kubacki <michael.kuba...@microsoft.com> > > > Signed-off-by: Michael D Kinney <michael.d.kin...@intel.com> > > > --- > > > MdePkg/Include/Library/DebugLib.h | 43 > > > ++++++++++++++++++++++++++++--- > > > 1 file changed, 39 insertions(+), 4 deletions(-) > > > > > > diff --git a/MdePkg/Include/Library/DebugLib.h > > > b/MdePkg/Include/Library/DebugLib.h > > > index 4cacd4b8e243..7fb75f956c6e 100644 > > > --- a/MdePkg/Include/Library/DebugLib.h > > > +++ b/MdePkg/Include/Library/DebugLib.h > > > @@ -71,6 +71,41 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > > #define EFI_D_VERBOSE DEBUG_VERBOSE > > > #define EFI_D_ERROR DEBUG_ERROR > > > > > > +// > > > +// Source file line number. > > > +// Default is use the to compiler provided __LINE__ macro value. The > > > __LINE__ > > > +// mapping can be overriden by predefining DEBUG_LINE_NUMBER > > > +// > > > +// Defining DEBUG_LINE_NUMBER to a fixed value is useful when > comparing > > > builds > > > +// across source code formatting changes that may add/remove lines in a > > > source > > > +// file. > > > +// > > > +#ifdef DEBUG_LINE_NUMBER > > > +#else > > > +#define DEBUG_LINE_NUMBER __LINE__ > > > +#endif > > > > How about #ifndef DEBUG_LINE_NUMBER? > > I tried that first. ECC flags it as an error thinking it is an include guard > macro. > We need to fix ECC to not report this as an error. > This style passes ECC and all EDK II CI tests. > > > > > Thanks > > Liming > > > + > > > +/** > > > + Macro that converts a Boolean expression to a Null-terminated ASCII > > > string. > > > + > > > + The default is to use the C pre-processor stringizing operator '#' to > > add > > > + quotes around the C expression. If > DEBUG_EXPRESSION_STRING_VALUE > > > is defined > > > + then the C expression is converted to the fixed string value. > > > + > > > + Defining DEBUG_EXPRESSION_STRING_VALUE to a fixed value is > useful > > > when > > > + comparing builds across source code formatting changes that may > make > > > + changes to spaces or parenthesis in a Boolean expression. > > > + > > > + @param Expression Boolean expression. > > > + > > > +**/ > > > + > > > +#ifdef DEBUG_EXPRESSION_STRING_VALUE > > > +#define DEBUG_EXPRESSION_STRING(Expression) > > > DEBUG_EXPRESSION_STRING_VALUE > > > +#else > > > +#define DEBUG_EXPRESSION_STRING(Expression) #Expression > > > +#endif > > > + > > > /** > > > Prints a debug message to the debug output device if the specified > > error > > > level is enabled. > > > > > > @@ -310,15 +345,15 @@ UnitTestDebugAssert ( > > > ); > > > > > > #if defined(__clang__) && defined(__FILE_NAME__) > > > -#define _ASSERT(Expression) UnitTestDebugAssert (__FILE_NAME__, > > > __LINE__, #Expression) > > > +#define _ASSERT(Expression) UnitTestDebugAssert (__FILE_NAME__, > > > DEBUG_LINE_NUMBER, DEBUG_EXPRESSION_STRING (Expression)) > > > #else > > > -#define _ASSERT(Expression) UnitTestDebugAssert (__FILE__, > __LINE__, > > > #Expression) > > > +#define _ASSERT(Expression) UnitTestDebugAssert (__FILE__, > > > DEBUG_LINE_NUMBER, DEBUG_EXPRESSION_STRING (Expression)) > > > #endif > > > #else > > > #if defined(__clang__) && defined(__FILE_NAME__) > > > -#define _ASSERT(Expression) DebugAssert (__FILE_NAME__, __LINE__, > > > #Expression) > > > +#define _ASSERT(Expression) DebugAssert (__FILE_NAME__, > > > DEBUG_LINE_NUMBER, DEBUG_EXPRESSION_STRING (Expression)) > > > #else > > > -#define _ASSERT(Expression) DebugAssert (__FILE__, __LINE__, > > > #Expression) > > > +#define _ASSERT(Expression) DebugAssert (__FILE__, > > > DEBUG_LINE_NUMBER, DEBUG_EXPRESSION_STRING (Expression)) > > > #endif > > > #endif > > > > > > -- > > > 2.32.0.windows.1 > > > > > > > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83313): https://edk2.groups.io/g/devel/message/83313 Mute This Topic: https://groups.io/mt/86810076/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-