summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source
diff options
context:
space:
mode:
authorBob Feng <bob.c.feng@intel.com>2020-09-22 19:27:54 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2020-09-25 02:27:35 +0000
commitd8be01079b3c7b554ac8126e97e73fba8894e519 (patch)
treeb540e84262292dabdb5abe4afdeb7c6e356b1868 /BaseTools/Source
parent3a7a6761143a4840faea0bd84daada3ac0f1bd22 (diff)
downloadedk2-d8be01079b3c7b554ac8126e97e73fba8894e519.tar.gz
edk2-d8be01079b3c7b554ac8126e97e73fba8894e519.tar.bz2
edk2-d8be01079b3c7b554ac8126e97e73fba8894e519.zip
BaseTools: Set section alignment as zero if its type is Auto
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2881 Currently, the build tool try to read the section alignment from efi file if the section alignment type is Auto. If there is no efi generated, the section alignment will be set to zero. This behavior causes the Makefile to be different between the full build and the incremental build. Since the Genffs can auto get the section alignment from efi file during Genffs procedure, the build tool can just set section alignment as zero. This change can make the autogen makefile consistent for the full build and the incremental build. Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Yuwei Chen <yuwei.chen@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Yuwei Chen<yuwei.chen@intel.com>
Diffstat (limited to 'BaseTools/Source')
-rw-r--r--BaseTools/Source/Python/GenFds/DataSection.py9
-rw-r--r--BaseTools/Source/Python/GenFds/EfiSection.py9
2 files changed, 2 insertions, 16 deletions
diff --git a/BaseTools/Source/Python/GenFds/DataSection.py b/BaseTools/Source/Python/GenFds/DataSection.py
index f20fd70225..5af3ee7b7f 100644
--- a/BaseTools/Source/Python/GenFds/DataSection.py
+++ b/BaseTools/Source/Python/GenFds/DataSection.py
@@ -80,14 +80,7 @@ class DataSection (DataSectionClassObject):
#Get PE Section alignment when align is set to AUTO
if self.Alignment == 'Auto' and self.SecType in (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):
- ImageObj = PeImageClass (Filename)
- if ImageObj.SectionAlignment < 0x400:
- self.Alignment = str (ImageObj.SectionAlignment)
- elif ImageObj.SectionAlignment < 0x100000:
- self.Alignment = str (ImageObj.SectionAlignment // 0x400) + 'K'
- else:
- self.Alignment = str (ImageObj.SectionAlignment // 0x100000) + 'M'
-
+ self.Alignment = "0"
NoStrip = True
if self.SecType in (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):
if self.KeepReloc is not None:
diff --git a/BaseTools/Source/Python/GenFds/EfiSection.py b/BaseTools/Source/Python/GenFds/EfiSection.py
index e7d4639041..fd58391dac 100644
--- a/BaseTools/Source/Python/GenFds/EfiSection.py
+++ b/BaseTools/Source/Python/GenFds/EfiSection.py
@@ -260,14 +260,7 @@ class EfiSection (EfiSectionClassObject):
#Get PE Section alignment when align is set to AUTO
if self.Alignment == 'Auto' and (SectionType == BINARY_FILE_TYPE_PE32 or SectionType == BINARY_FILE_TYPE_TE):
- ImageObj = PeImageClass (File)
- if ImageObj.SectionAlignment < 0x400:
- Align = str (ImageObj.SectionAlignment)
- elif ImageObj.SectionAlignment < 0x100000:
- Align = str (ImageObj.SectionAlignment // 0x400) + 'K'
- else:
- Align = str (ImageObj.SectionAlignment // 0x100000) + 'M'
-
+ Align = "0"
if File[(len(File)-4):] == '.efi' and FfsInf.InfModule.BaseName == os.path.basename(File)[:-4]:
MapFile = File.replace('.efi', '.map')
CopyMapFile = os.path.join(OutputPath, ModuleName + '.map')