BaseTools: change the Division Operator

PEP 238 -- Changing the Division Operator
x/y to return a reasonable approximation of the mathematical result
    of the division ("true division")
x//y to return the floor ("floor division")

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
This commit is contained in:
Zhijux Fan
2018-12-07 12:34:44 +08:00
committed by Feng, Bob C
parent f935bdd270
commit b3e94a0617
14 changed files with 49 additions and 42 deletions

View File

@ -88,9 +88,9 @@ class DataSection (DataSectionClassObject):
if ImageObj.SectionAlignment < 0x400:
self.Alignment = str (ImageObj.SectionAlignment)
elif ImageObj.SectionAlignment < 0x100000:
self.Alignment = str (ImageObj.SectionAlignment / 0x400) + 'K'
self.Alignment = str (ImageObj.SectionAlignment // 0x400) + 'K'
else:
self.Alignment = str (ImageObj.SectionAlignment / 0x100000) + 'M'
self.Alignment = str (ImageObj.SectionAlignment // 0x100000) + 'M'
NoStrip = True
if self.SecType in (BINARY_FILE_TYPE_TE, BINARY_FILE_TYPE_PE32):

View File

@ -248,9 +248,9 @@ class EfiSection (EfiSectionClassObject):
if ImageObj.SectionAlignment < 0x400:
Align = str (ImageObj.SectionAlignment)
elif ImageObj.SectionAlignment < 0x100000:
Align = str (ImageObj.SectionAlignment / 0x400) + 'K'
Align = str (ImageObj.SectionAlignment // 0x400) + 'K'
else:
Align = str (ImageObj.SectionAlignment / 0x100000) + 'M'
Align = str (ImageObj.SectionAlignment // 0x100000) + 'M'
if File[(len(File)-4):] == '.efi':
MapFile = File.replace('.efi', '.map')

View File

@ -772,9 +772,9 @@ class FfsInfStatement(FfsInfStatementClassObject):
if ImageObj.SectionAlignment < 0x400:
self.Alignment = str (ImageObj.SectionAlignment)
elif ImageObj.SectionAlignment < 0x100000:
self.Alignment = str (ImageObj.SectionAlignment / 0x400) + 'K'
self.Alignment = str (ImageObj.SectionAlignment // 0x400) + 'K'
else:
self.Alignment = str (ImageObj.SectionAlignment / 0x100000) + 'M'
self.Alignment = str (ImageObj.SectionAlignment // 0x100000) + 'M'
if not NoStrip:
FileBeforeStrip = os.path.join(self.OutputPath, ModuleName + '.reloc')
@ -814,9 +814,9 @@ class FfsInfStatement(FfsInfStatementClassObject):
if ImageObj.SectionAlignment < 0x400:
self.Alignment = str (ImageObj.SectionAlignment)
elif ImageObj.SectionAlignment < 0x100000:
self.Alignment = str (ImageObj.SectionAlignment / 0x400) + 'K'
self.Alignment = str (ImageObj.SectionAlignment // 0x400) + 'K'
else:
self.Alignment = str (ImageObj.SectionAlignment / 0x100000) + 'M'
self.Alignment = str (ImageObj.SectionAlignment // 0x100000) + 'M'
if not NoStrip:
FileBeforeStrip = os.path.join(self.OutputPath, ModuleName + '.reloc')

View File

@ -222,9 +222,9 @@ class FV (object):
#The max alignment supported by FFS is 16M.
self.FvAlignment = "16M"
else:
self.FvAlignment = str(FvAlignmentValue / 0x100000) + "M"
self.FvAlignment = str(FvAlignmentValue // 0x100000) + "M"
else:
self.FvAlignment = str(FvAlignmentValue / 0x400) + "K"
self.FvAlignment = str(FvAlignmentValue // 0x400) + "K"
else:
# FvAlignmentValue is less than 1K
self.FvAlignment = str (FvAlignmentValue)

View File

@ -71,7 +71,7 @@ class FvImageSection(FvImageSectionClassObject):
# PI FvHeader is 0x48 byte
FvHeaderBuffer = FvFileObj.read(0x48)
# FV alignment position.
FvAlignmentValue = 1 << (ord (FvHeaderBuffer[0x2E]) & 0x1F)
FvAlignmentValue = 1 << (FvHeaderBuffer[0x2E] & 0x1F)
FvFileObj.close()
if FvAlignmentValue > MaxFvAlignment:
MaxFvAlignment = FvAlignmentValue
@ -87,9 +87,9 @@ class FvImageSection(FvImageSectionClassObject):
if MaxFvAlignment >= 0x1000000:
self.Alignment = "16M"
else:
self.Alignment = str(MaxFvAlignment / 0x100000) + "M"
self.Alignment = str(MaxFvAlignment // 0x100000) + "M"
else:
self.Alignment = str (MaxFvAlignment / 0x400) + "K"
self.Alignment = str (MaxFvAlignment // 0x400) + "K"
else:
# MaxFvAlignment is less than 1K
self.Alignment = str (MaxFvAlignment)
@ -129,9 +129,9 @@ class FvImageSection(FvImageSectionClassObject):
if FvAlignmentValue >= 0x1000000:
self.Alignment = "16M"
else:
self.Alignment = str(FvAlignmentValue / 0x100000) + "M"
self.Alignment = str(FvAlignmentValue // 0x100000) + "M"
else:
self.Alignment = str (FvAlignmentValue / 0x400) + "K"
self.Alignment = str (FvAlignmentValue // 0x400) + "K"
else:
# FvAlignmentValue is less than 1K
self.Alignment = str (FvAlignmentValue)

View File

@ -751,7 +751,7 @@ class GenFds(object):
F.read()
length = F.tell()
F.seek(4)
TmpStr = unpack('%dh' % ((length - 4) / 2), F.read())
TmpStr = unpack('%dh' % ((length - 4) // 2), F.read())
Name = ''.join(chr(c) for c in TmpStr[:-1])
else:
FileList = []

View File

@ -300,7 +300,7 @@ class Region(object):
else:
# region ended within current blocks
if self.Offset + self.Size <= End:
ExpectedList.append((BlockSize, (RemindingSize + BlockSize - 1) / BlockSize))
ExpectedList.append((BlockSize, (RemindingSize + BlockSize - 1) // BlockSize))
break
# region not ended yet
else:
@ -309,7 +309,7 @@ class Region(object):
UsedBlockNum = BlockNum
# region started in middle of current blocks
else:
UsedBlockNum = (End - self.Offset) / BlockSize
UsedBlockNum = (End - self.Offset) // BlockSize
Start = End
ExpectedList.append((BlockSize, UsedBlockNum))
RemindingSize -= BlockSize * UsedBlockNum