BaseTools/GenFds: permit stripped MM_CORE_STANDALONE binaries
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Thu, 3 Jan 2019 12:06:17 +0000 (13:06 +0100)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 4 Jan 2019 08:42:17 +0000 (09:42 +0100)
commit8ef653aa5aad4ec994f1c0bc16e2fde266b0eb6b
treeb33227944aaf8b7160d7ab6b48ec54f15aaf7453
parent672601cfcc6f9905dd5fe8cdd7949cfb7f91fed1
BaseTools/GenFds: permit stripped MM_CORE_STANDALONE binaries

The standalone MM core is executed in place, and resides in a
separate execution context which may be space constrained.
Since code and data may be mapped with different attributes for
security reasons, the PE/COFF binary could have a section
alignment of 4 KB.

This means that any relocation data is not only useless, but it
will also take up 4 KB of valuable space.

So add support for the RELOCS_STRIPPED attribute on FFS files of
this type, so that we can get rid of the .reloc section altogether.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
BaseTools/Source/Python/GenFds/EfiSection.py
BaseTools/Source/Python/GenFds/FdfParser.py
BaseTools/Source/Python/GenFds/FfsInfStatement.py