audk/BaseTools/Source/C/GenFw
Joey Vagedes da21991953 BaseTools: GenFw: auto-set nxcompat flag
Automatically set the nxcompat flag in the DLL Characteristics field of
the Optional Header of the PE32+ image. For this flag to be set
automatically, the section alignment must be evenly divisible
by 4K (EFI_PAGE_SIZE) and no section must be executable and writable.

Adds a command line flag to GenFw, --nonxcompat, to ensure the
IMAGE_DLLCHARACTERISTICS_NX_COMPAT bit is not set, even if all
requirements are met. Updates the manual for GenFw to include the new
flag.

Cc: Rebecca Cran <rebecca@bsdio.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Signed-off-by: Joey Vagedes <joeyvagedes@gmail.com>
Acked-by: Liming Gao <gaoliming@byosoft.com.cn>
Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
2023-11-06 21:44:34 +00:00
..
Elf32Convert.c BaseTools: switch from EFI_IMAGE_MACHINE_* to IMAGE_FILE_MACHINE_* 2023-06-01 10:53:35 +00:00
Elf32Convert.h BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Elf64Convert.c BaseTools/GenFw: Add support for LOONGARCH64 relax relocation 2023-09-25 08:32:47 +00:00
Elf64Convert.h BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
ElfConvert.c BaseTools: remove WinNtInclude.h 2023-06-01 10:53:35 +00:00
ElfConvert.h BaseTools/GenFw: Enhance GenFw to support PRM GCC build 2022-03-16 07:48:26 +00:00
GNUmakefile BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
GenFw.c BaseTools: GenFw: auto-set nxcompat flag 2023-11-06 21:44:34 +00:00
GenFw.h BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Makefile BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
elf32.h BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
elf64.h BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
elf_common.h BaseTools/GenFw: Add support for LOONGARCH64 relax relocation 2023-09-25 08:32:47 +00:00