[edk2-devel] [Patch 0/6] Reproduce builds across source format changes

Michael Kubacki mikuback at linux.microsoft.com
Mon Nov 1 19:03:31 UTC 2021


For the series:

Tested-by: Michael Kubacki <michael.kubacki at microsoft.com>

On 11/1/2021 2:29 PM, Michael D Kinney wrote:
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3688
> 
> This change is required to help verify that source code formatting
> changes such as the use of uncrustify and line ending corrections
> do not have any functional differences. Source format changes may
> add or remove line endings that change the source file line numbers
> of C statements or may change the use of spaces in C expressions
> used in an ASSERT() statements. These types of changes can impact
> the generated binaries when DEBUG() and ASSERT() macros are
> enabled. The following set of changes adds 2 defines that can be used
> to override the use of __LINE__ in DEBUG() macros and the use of
> #Expression in ASSERT() macros.
> 
> * Add DEBUG_LINE_NUMBER define to DebugLib.h that is
>    by default mapped to __LINE__. A build can pre-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.
> * Use DEBUG_LINE_NUMBER instead of __LINE__.
> * Use DEBUG_EXPRESSION_STRING instead of #Expression.
> 
> Submodules that use __LINE__ are not updated. These do not
> currently impact build reproducibility unless the debug features
> of those submodules are enabled.
> 
> The one exception is the UnitTestFrameworkPkg cmocka submodule
> that uses `__LINE__`.  This means that the binaries generated by host
> based unit tests that use cmocka features may not be identical across
> a source format change.
> 
> Cc: Ard Biesheuvel ardb+tianocore at kernel.org
> Cc: Jiewen Yao jiewen.yao at intel.com
> Cc: Jordan Justen jordan.l.justen at intel.com
> Cc: Gerd Hoffmann kraxel at redhat.com
> Cc: Michael Kubacki michael.kubacki at microsoft.com
> Cc: Jian J Wang jian.j.wang at intel.com
> Cc: Maciej Rabeda maciej.rabeda at linux.intel.com
> Cc: Jiaxin Wu jiaxin.wu at intel.com
> Cc: Siyuan Fu siyuan.fu at intel.com
> Cc: Liming Gao gaoliming at byosoft.com.cn
> Cc: Leif Lindholm leif at nuviainc.com
> Cc: Zhiguang Liu zhiguang.liu at intel.com
> Signed-off-by: Michael D Kinney michael.d.kinney at intel.com
> 
> Michael D Kinney (6):
>    MdePkg: Reproduce builds across source format changes
>    ArmPkg: Reproduce builds across source format changes
>    MdeModulePkg: Reproduce builds across source format changes
>    NetworkPkg: Reproduce builds across source format changes
>    SecurityPkg: Reproduce builds across source format changes
>    OvmfPkg: Reproduce builds across source format changes
> 
>   .../ProcessorSubClassDxe/ProcessorSubClass.c  |  2 +-
>   .../Type00/MiscBiosVendorFunction.c           |  2 +-
>   .../Type01/MiscSystemManufacturerFunction.c   |  2 +-
>   .../MiscBaseBoardManufacturerFunction.c       |  2 +-
>   .../Type03/MiscChassisManufacturerFunction.c  |  2 +-
>   ...MiscNumberOfInstallableLanguagesFunction.c |  2 +-
>   .../Type32/MiscBootInformationFunction.c      |  2 +-
>   .../Bus/Pci/PciHostBridgeDxe/PciHostBridge.c  |  2 +-
>   .../UefiBootManagerLib/BmDriverHealth.c       |  2 +-
>   MdePkg/Include/Library/DebugLib.h             | 42 +++++++++++++++++--
>   MdePkg/Include/Library/UnitTestLib.h          | 18 ++++----
>   MdePkg/Library/BaseLib/SafeString.c           |  2 +-
>   NetworkPkg/Include/Library/NetLib.h           |  8 ++--
>   NetworkPkg/Library/DxeNetLib/DxeNetLib.c      |  2 +-
>   OvmfPkg/Csm/LegacyBiosDxe/LegacyPci.c         |  6 +--
>   .../PlatformBootManagerLib/BdsPlatform.c      |  4 +-
>   .../PlatformBootManagerLibBhyve/BdsPlatform.c |  2 +-
>   .../PlatformBootManagerLibGrub/BdsPlatform.c  |  4 +-
>   .../Include/Library/TcgStorageCoreLib.h       |  4 +-
>   19 files changed, 72 insertions(+), 38 deletions(-)
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#83027): https://edk2.groups.io/g/devel/message/83027
Mute This Topic: https://groups.io/mt/86748724/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