From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web11.378.1635791944897474298 for ; Mon, 01 Nov 2021 11:39:05 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: michael.d.kinney@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10155"; a="217997877" X-IronPort-AV: E=Sophos;i="5.87,200,1631602800"; d="scan'208";a="217997877" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Nov 2021 11:29:53 -0700 X-IronPort-AV: E=Sophos;i="5.87,200,1631602800"; d="scan'208";a="488751818" Received: from mdkinney-mobl2.amr.corp.intel.com ([10.209.76.205]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Nov 2021 11:29:53 -0700 From: "Michael D Kinney" To: devel@edk2.groups.io Subject: [Patch 0/6] Reproduce builds across source format changes Date: Mon, 1 Nov 2021 11:29:36 -0700 Message-Id: <20211101182942.321-1-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.32.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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