NASM had been unable to assemble segment register operations before the following git commit:
http://repo.or.cz/nasm.git/commitdiff/21d4ccc3c338 That commit was first released in NASM 2.10: http://repo.or.cz/nasm.git/commitdiff/ff62f33da0a2 This makes NASM 2.07 unusable for edk2 in general, because now we have a lot of X64 assembly code that works with segment registers. For example in: UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.nasm Bump the minimum required version to 2.10, for use with GCC toolchains. Furthermore, list NASM 2.12.01 as a requirement for all other toolchains. In particular, for source level debugging, VS20xx requires CodeView 8 debug symbols, and only NASM 2.12.01 and later produce those. (Suggested by Liming, Mike, and Andrew.) Cc: Andrew Fish <[email protected]> Cc: Liming Gao <[email protected]> Cc: Michael Kinney <[email protected]> Cc: Yonghong Zhu <[email protected]> Ref: http://thread.gmane.org/gmane.comp.bios.edk2.devel/14612 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <[email protected]> --- BaseTools/Conf/tools_def.template | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 2065fa34998f..95304fbebde6 100644 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -708,7 +708,9 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G # # Other Supported Tools # ===================== -# NASM 2.07 or later http://www.nasm.us/ +# NASM -- http://www.nasm.us/ +# - NASM 2.10 or later for use with the GCC toolchain family +# - NASM 2.12.01 or later for use with all other toolchain families # #################################################################################### #################################################################################### -- 1.8.3.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

