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

Michael D Kinney posted 6 patches 2 years, 5 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
.../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(-)
[edk2-devel] [Patch 0/6] Reproduce builds across source format changes
Posted by Michael D Kinney 2 years, 5 months ago
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@kernel.org
Cc: Jiewen Yao jiewen.yao@intel.com
Cc: Jordan Justen jordan.l.justen@intel.com
Cc: Gerd Hoffmann kraxel@redhat.com
Cc: Michael Kubacki michael.kubacki@microsoft.com
Cc: Jian J Wang jian.j.wang@intel.com
Cc: Maciej Rabeda maciej.rabeda@linux.intel.com
Cc: Jiaxin Wu jiaxin.wu@intel.com
Cc: Siyuan Fu siyuan.fu@intel.com
Cc: Liming Gao gaoliming@byosoft.com.cn
Cc: Leif Lindholm leif@nuviainc.com
Cc: Zhiguang Liu zhiguang.liu@intel.com
Signed-off-by: Michael D Kinney michael.d.kinney@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(-)

-- 
2.32.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#83010): https://edk2.groups.io/g/devel/message/83010
Mute This Topic: https://groups.io/mt/86748724/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [Patch 0/6] Reproduce builds across source format changes
Posted by Michael Kubacki 2 years, 5 months ago
For the series:

Tested-by: Michael Kubacki <michael.kubacki@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@kernel.org
> Cc: Jiewen Yao jiewen.yao@intel.com
> Cc: Jordan Justen jordan.l.justen@intel.com
> Cc: Gerd Hoffmann kraxel@redhat.com
> Cc: Michael Kubacki michael.kubacki@microsoft.com
> Cc: Jian J Wang jian.j.wang@intel.com
> Cc: Maciej Rabeda maciej.rabeda@linux.intel.com
> Cc: Jiaxin Wu jiaxin.wu@intel.com
> Cc: Siyuan Fu siyuan.fu@intel.com
> Cc: Liming Gao gaoliming@byosoft.com.cn
> Cc: Leif Lindholm leif@nuviainc.com
> Cc: Zhiguang Liu zhiguang.liu@intel.com
> Signed-off-by: Michael D Kinney michael.d.kinney@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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-