This is a follow up to the series I sent out a week ago:
http://thread.gmane.org/gmane.comp.bios.edk2.devel/2162

These two patches only address the special case in GenFw for ARM where it
allows sections that are not aligned to the PE/COFF global section alignment,
to interoperate with a size optimization in RVCT that emits sections at an
offset that is not aligned to their own alignment. This violates the PE/COFF
spec, and complicates the creation of DXE runtime modules with 4 KB section
alignment.

As it turns out, this optimization can be disabled by passing the
--no_legacyalign command line option to the RVCT linker, so instead of
patching things up, this time I simply disable the optimization.

Patch #1 removes the optimization from the 64-bit ELF code, since RVCT
is 32-bit only.

Patch #2 disables the optimization, and removes the implementation of
the special case from the 32-bit ELF code.

Anyone with access to RVCT able to test this? I would highly appreciate it.

Ard Biesheuvel (2):
  BaseTools/GenFw: remove ARM and RVCT references from ELF64 code
  BaseTools/GenFw: disable RVCT linker size optimization

 BaseTools/Conf/tools_def.template       |  2 +-
 BaseTools/Source/C/GenFw/Elf32Convert.c | 29 +++++---------------
 BaseTools/Source/C/GenFw/Elf64Convert.c | 29 +++++---------------
 3 files changed, 15 insertions(+), 45 deletions(-)

-- 
1.9.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to