From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) by mx.groups.io with SMTP id smtpd.web10.1066.1628630652141042994 for ; Tue, 10 Aug 2021 14:24:13 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@posteo.de header.s=2017 header.b=CF56W/uT; spf=pass (domain: posteo.de, ip: 185.67.36.65, mailfrom: mhaeuser@posteo.de) Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 3724D240026 for ; Tue, 10 Aug 2021 23:24:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1628630650; bh=4u4UlljGb1aGdt0MtYJLYvDj/W0W9IMwaF8j+UQJGFU=; h=Subject:To:Cc:From:Date:From; b=CF56W/uTWnvbAOTYneAdtA1/Do+Qq9iq0BSR0fIiy6sDR8LNqfdQd1mBu32qdRC84 BoUj0pC+LUYRJz5EsrKdQcKWovnvq5T5QgWmqrVYcM5wDcjEByKbezgv5+5NvdJtLJ SQwphnBNZCE57nbuepNNFCBwjuCUn43HzgELDDaaKgaMQ7s2Fz0GjzlUCeoGolKRuT JWKX4fmgRXRo9esryPgx2i94FsiueZBte7Mk9p6bffRI8IhZ7v7EUiGqyxyQPzyY3C tkypZBzkvKROQiciMH51jFH9IDUZ29+T3M6+I3GaBoOimga0JJ5Otzyr4Sr+pUlHs8 9iRlQdA6+b7Ig== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4GkmD81d6xz9rxV; Tue, 10 Aug 2021 23:24:08 +0200 (CEST) Subject: Re: [edk2-devel] [PATCH v2 1/2] BaseTools: Define the read-only data section name per toolchain To: Andrew Fish , edk2-devel-groups-io Cc: Bob Feng , Liming Gao , Yuwei Chen , Vitaly Cheptsov References: <252525969122e83d9fb9b83edc95c4f6dfd233b4.1628502434.git.mhaeuser@posteo.de> <7787F470-EEE0-4E13-93C1-508844167749@apple.com> <169A090BBBBE12C1.15606@groups.io> <1C6A8E17-9B0E-4C61-B043-0DC67248AF22@apple.com> From: =?UTF-8?B?TWFydmluIEjDpHVzZXI=?= Message-ID: Date: Tue, 10 Aug 2021 21:24:04 +0000 MIME-Version: 1.0 In-Reply-To: <1C6A8E17-9B0E-4C61-B043-0DC67248AF22@apple.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: quoted-printable On 10/08/2021 21:49, Andrew Fish wrote: > I forgot I have an Ubuntu VM so we can take a look at an ELF to=20 > PE/COFF =C2=A0toolchain example =E2=80=A6. > > So it looks like nasm[1] =E2=80=9Cdoes the right thing=E2=80=9D(tm) and p= laces a=20 > .rodata section in the object file=E2=80=A6. > > But it looks like GenFw[2] smashed the .rodata section into .data=20 > section when it translated to PE/COFF. This was the issue I was=20 > worried about=E2=80=A6. > > Actually I should probably look at the ELF executable too[3]. Yikes no=20 > .rodata in the ELF. So it looks likely that the linker scripts are=20 > smashing .rodata into .data. They smash it into .text, as linked in the other mail [1]. This is fine=20 honestly, just I want some toggle that decides consistently for all=20 toolchains what to do (merge into .text or let it live as a separate=20 section). But that'd be a task for another patch. Best regards, Marvin [1]=20 https://github.com/tianocore/edk2/blob/d02dbb53cd78de799e6afaa237e98771fb51= 48db/BaseTools/Scripts/GccBase.lds#L25 > So there may be multiple issues with ELF toolchains that need to=20 > change to end up with a .rodata in the PE/COFF. > > [1]$ objdump -fh=20 > =C2=A0Build/OvmfX64/DEBUG_GCC5/X64/UefiCpuPkg/Library/BaseUefiCpuLib/Base= UefiCpuLib/OUTPUT/X64/InitializeFpu.obj > > Build/OvmfX64/DEBUG_GCC5/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCp= uLib/OUTPUT/X64/InitializeFpu.obj:=20 > =C2=A0 =C2=A0 file format elf64-x86-64 > architecture: i386:x86-64, flags 0x00000011: > HAS_RELOC, HAS_SYMS > start address 0x0000000000000000 > > Sections: > Idx Name =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Size =C2=A0 =C2=A0 =C2=A0VMA = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 LMA =C2=A0 =C2=A0 =C2=A0 F= ile off =C2=A0Algn > =C2=A0 0 .rodata =C2=A0 =C2=A0 =C2=A0 00000006 =C2=A00000000000000000 =C2= =A00000000000000000=20 > =C2=A000000200 =C2=A02**2 > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CONTENTS, = ALLOC, LOAD, READONLY, DATA > =C2=A0 1 .text =C2=A0 =C2=A0 =C2=A0 =C2=A0 0000001d =C2=A0000000000000000= 0 =C2=A00000000000000000=20 > =C2=A000000210 =C2=A02**4 > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CONTENTS, = ALLOC, LOAD, RELOC, READONLY, CODE > > > > [2]$ objdump -fh=20 > Build/OvmfX64/DEBUG_GCC5/X64/UefiCpuPkg/CpuDxe/CpuDxe/DEBUG/CpuDxe.efi > > Build/OvmfX64/DEBUG_GCC5/X64/UefiCpuPkg/CpuDxe/CpuDxe/DEBUG/CpuDxe.efi:= =20 > =C2=A0 =C2=A0 file format pei-x86-64 > architecture: i386:x86-64, flags 0x0000010b: > HAS_RELOC, EXEC_P, HAS_DEBUG, D_PAGED > start address 0x0000000000008eb1 > > Sections: > Idx Name =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Size =C2=A0 =C2=A0 =C2=A0VMA L= MA =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 File off =C2=A0Algn > =C2=A0 0 .text =C2=A0 =C2=A0 =C2=A0 =C2=A0 0000ff80 =C2=A0000000000000024= 0 =C2=A00000000000000240=20 > =C2=A000000240 =C2=A02**4 > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CONTENTS, = ALLOC, LOAD, READONLY, CODE > =C2=A0 1 .data =C2=A0 =C2=A0 =C2=A0 =C2=A0 00000540 =C2=A000000000000101c= 0 =C2=A000000000000101c0=20 > =C2=A0000101c0 =C2=A02**4 > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CONTENTS, = ALLOC, LOAD, DATA > =C2=A0 2 .reloc =C2=A0 =C2=A0 =C2=A0 =C2=A000000080 =C2=A0000000000001070= 0 =C2=A00000000000010700=20 > =C2=A000010700 =C2=A02**2 > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CONTENTS, = ALLOC, LOAD, READONLY, DATA > > [3] $ objdump -fh=20 > Build/OvmfX64/DEBUG_GCC5/X64/UefiCpuPkg/CpuDxe/CpuDxe/DEBUG/CpuDxe.dll > > Build/OvmfX64/DEBUG_GCC5/X64/UefiCpuPkg/CpuDxe/CpuDxe/DEBUG/CpuDxe.dll:= =20 > =C2=A0 =C2=A0 file format elf64-x86-64 > architecture: i386:x86-64, flags 0x00000013: > HAS_RELOC, EXEC_P, HAS_SYMS > start address 0x0000000000008eb1 > > Sections: > Idx Name =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Size =C2=A0 =C2=A0 =C2=A0VMA L= MA =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 File off =C2=A0Algn > =C2=A0 0 .text =C2=A0 =C2=A0 =C2=A0 =C2=A0 0000ff46 =C2=A0000000000000024= 0 =C2=A00000000000000240=20 > =C2=A0000000c0 =C2=A02**6 > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CONTENTS, = ALLOC, LOAD, RELOC, READONLY, CODE > =C2=A0 1 .data =C2=A0 =C2=A0 =C2=A0 =C2=A0 00000490 =C2=A000000000000101c= 0 =C2=A000000000000101c0=20 > =C2=A000010040 =C2=A02**6 > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CONTENTS, = ALLOC, LOAD, RELOC, DATA > =C2=A0 2 .rela =C2=A0 =C2=A0 =C2=A0 =C2=A0 000004f8 =C2=A0000000000001068= 0 =C2=A00000000000010680=20 > =C2=A0000104d0 =C2=A02**3 > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CONTENTS, = READONLY > =C2=A0 3 .build-id =C2=A0 =C2=A0 00000024 =C2=A00000000000010b78 =C2=A000= 00000000010b78=20 > =C2=A0000109c8 =C2=A02**2 > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CONTENTS, = READONLY > =C2=A0 4 .gnu_debuglink 00000014 =C2=A00000000000000000 =C2=A000000000000= 00000=20 > =C2=A0000109ec =C2=A02**2 > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CONTENTS, = READONLY > > > > Thanks, > > Andrew Fish > >> On Aug 10, 2021, at 12:35 PM, Andrew Fish via groups.io=20 >> > > wrote: >> >> >> >>> On Aug 10, 2021, at 1:27 AM, Marvin H=C3=A4user >> > wrote: >>> >>> On 10/08/2021 06:19, Andrew Fish via groups.io =20 >>> wrote: >>>> >>>> >>>>> On Aug 9, 2021, at 2:51 AM, Marvin H=C3=A4user >>>> >>>> >> wrote: >>>>> >>>>> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3318=20 >>>>> =20 >>>>> >>>> > >>>>> >>>>> Different toolchains of the EDK II build system may generate ELF or >>>>> Mach-O files, which use the ".rodata" naming convention, or PE/COFF >>>>> files, which use the ".rdata" naming convention. Section permissions >>>>> are chosen based on this name per file format by NASM. To harden >>>>> image permission security, and to save space by avoiding both >>>>> ".rdata" and ".rodata" sections being emitted, expose the appropriate >>>>> name as a preprocessor constant. >>>>> >>>>> Cc: Bob Feng =20 >>>>> >> >>>>> Cc: Liming Gao >>>> >>>> >> >>>>> Cc: Yuwei Chen =20 >>>>> >> >>>>> Cc: Vitaly Cheptsov >>>> >>>> >> >>>>> Signed-off-by: Marvin H=C3=A4user >>>> >>>> >> >>>>> --- >>>>> BaseTools/Conf/tools_def.template | 172 ++++++++++---------- >>>>> 1 file changed, 86 insertions(+), 86 deletions(-) >>>>> >>>>> diff --git a/BaseTools/Conf/tools_def.template=20 >>>>> b/BaseTools/Conf/tools_def.template >>>>> index 2e6b382ab623..84d464916c4d 100755 >>>>> --- a/BaseTools/Conf/tools_def.template >>>>> +++ b/BaseTools/Conf/tools_def.template >>>>> @@ -463,9 +463,9 @@ NOOPT_VS2008_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=3D /nologo /c=20 >>>>> /WX /GS- /W4 /Gs32768 /D UNICODE >>>>> RELEASE_VS2008_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo /c = /WX /W3 /Cx /coff /Zd >>>>> >>>>> NOOPT_VS2008_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D /= nologo /c /WX /W3 /Cx /coff=20 >>>>> /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2008_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win= 32 -g >>>>> >>>>> -RELEASE_VS2008_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win32 >>>>> >>>>> -NOOPT_VS2008_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -= f win32 -g >>>>> >>>>> + =C2=A0DEBUG_VS2008_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win= 32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2008_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2008_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -= f win32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2008_IA32_DLINK_FLAGS =C2=A0=C2=A0=3D /NOLOGO /NO= DEFAULTLIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2008_IA32_DLINK_FLAGS =C2=A0=C2=A0=3D /NOLOGO /NODEFAULTLIB= =20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -495,9 +495,9 @@ NOOPT_VS2008_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D /nologo /c=20 >>>>> /WX /GS- /W4 /Gs32768 /D UNICODE /G >>>>> RELEASE_VS2008_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX /W3= /Cx /Zd >>>>> >>>>> NOOPT_VS2008_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX /W3 /= Cx /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2008_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g >>>>> >>>>> -RELEASE_VS2008_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 >>>>> >>>>> -NOOPT_VS2008_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g >>>>> >>>>> + =C2=A0DEBUG_VS2008_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g= =20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2008_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2008_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2008_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULT= LIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2008_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -574,9 +574,9 @@ NOOPT_VS2008x86_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=3D /nologo=20 >>>>> /c /WX /GS- /W4 /Gs32768 /D UNICODE >>>>> RELEASE_VS2008x86_IA32_ASM_FLAGS =C2=A0=C2=A0=3D /nologo /c /WX /W3 /= Cx /coff /Zd >>>>> >>>>> NOOPT_VS2008x86_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo /c= /WX /W3 /Cx /coff=20 >>>>> /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2008x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g >>>>> >>>>> -RELEASE_VS2008x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 >>>>> >>>>> -NOOPT_VS2008x86_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -= g >>>>> >>>>> + =C2=A0DEBUG_VS2008x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2008x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2008x86_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -= g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2008x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLI= B=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2008x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -605,9 +605,9 @@ NOOPT_VS2008x86_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D /nologo=20 >>>>> /c /WX /GS- /W4 /Gs32768 /D UNICODE >>>>> RELEASE_VS2008x86_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX = /W3 /Cx /Zd >>>>> >>>>> NOOPT_VS2008x86_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D /nolo= go /c /WX /W3 /Cx /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2008x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -= g >>>>> >>>>> -RELEASE_VS2008x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 >>>>> >>>>> -NOOPT_VS2008x86_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f wi= n64 -g >>>>> >>>>> + =C2=A0DEBUG_VS2008x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -= g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2008x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2008x86_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f wi= n64 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2008x86_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFA= ULTLIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2008x86_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -688,9 +688,9 @@ NOOPT_VS2010_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=3D /nologo /c=20 >>>>> /WX /GS- /W4 /Gs32768 /D UNICODE >>>>> RELEASE_VS2010_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo /c = /WX /W3 /Cx /coff /Zd >>>>> >>>>> NOOPT_VS2010_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D /= nologo /c /WX /W3 /Cx /coff=20 >>>>> /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2010_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win= 32 -g >>>>> >>>>> -RELEASE_VS2010_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win32 >>>>> >>>>> -NOOPT_VS2010_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -= f win32 -g >>>>> >>>>> + =C2=A0DEBUG_VS2010_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win= 32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2010_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2010_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -= f win32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2010_IA32_DLINK_FLAGS =C2=A0=C2=A0=3D /NOLOGO /NO= DEFAULTLIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2010_IA32_DLINK_FLAGS =C2=A0=C2=A0=3D /NOLOGO /NODEFAULTLIB= =20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -720,9 +720,9 @@ NOOPT_VS2010_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D /nologo /c=20 >>>>> /WX /GS- /W4 /Gs32768 /D UNICODE /G >>>>> RELEASE_VS2010_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX /W3= /Cx /Zd >>>>> >>>>> NOOPT_VS2010_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX /W3 /= Cx /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2010_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g >>>>> >>>>> -RELEASE_VS2010_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 >>>>> >>>>> -NOOPT_VS2010_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g >>>>> >>>>> + =C2=A0DEBUG_VS2010_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g= =20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2010_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2010_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2010_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULT= LIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2010_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -799,9 +799,9 @@ NOOPT_VS2010x86_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=3D /nologo=20 >>>>> /c /WX /GS- /W4 /Gs32768 /D UNICODE >>>>> RELEASE_VS2010x86_IA32_ASM_FLAGS =C2=A0=C2=A0=3D /nologo /c /WX /W3 /= Cx /coff /Zd >>>>> >>>>> NOOPT_VS2010x86_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo /c= /WX /W3 /Cx /coff=20 >>>>> /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2010x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g >>>>> >>>>> -RELEASE_VS2010x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 >>>>> >>>>> -NOOPT_VS2010x86_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -= g >>>>> >>>>> + =C2=A0DEBUG_VS2010x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2010x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2010x86_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -= g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2010x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLI= B=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2010x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -831,9 +831,9 @@ NOOPT_VS2010x86_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D /nologo=20 >>>>> /c /WX /GS- /W4 /Gs32768 /D UNICODE >>>>> RELEASE_VS2010x86_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX = /W3 /Cx /Zd >>>>> >>>>> NOOPT_VS2010x86_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D /nolo= go /c /WX /W3 /Cx /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2010x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -= g >>>>> >>>>> -RELEASE_VS2010x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 >>>>> >>>>> -NOOPT_VS2010x86_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f wi= n64 -g >>>>> >>>>> + =C2=A0DEBUG_VS2010x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -= g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2010x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2010x86_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f wi= n64 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2010x86_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFA= ULTLIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2010x86_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -913,9 +913,9 @@ NOOPT_VS2012_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=3D /nologo=20 >>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768 >>>>> RELEASE_VS2012_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo /c = /WX /W3 /Cx /coff /Zd >>>>> >>>>> NOOPT_VS2012_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D /= nologo /c /WX /W3 /Cx /coff=20 >>>>> /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2012_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win= 32 -g >>>>> >>>>> -RELEASE_VS2012_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win32 >>>>> >>>>> -NOOPT_VS2012_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -= f win32 -g >>>>> >>>>> + =C2=A0DEBUG_VS2012_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win= 32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2012_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2012_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -= f win32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2012_IA32_DLINK_FLAGS =C2=A0=C2=A0=3D /NOLOGO /NO= DEFAULTLIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2012_IA32_DLINK_FLAGS =C2=A0=C2=A0=3D /NOLOGO /NODEFAULTLIB= =20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -945,9 +945,9 @@ NOOPT_VS2012_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D /nologo /c=20 >>>>> /WX /GS- /W4 /Gs32768 /D UNICODE /G >>>>> RELEASE_VS2012_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX /W3= /Cx /Zd >>>>> >>>>> NOOPT_VS2012_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX /W3 /= Cx /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2012_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g >>>>> >>>>> -RELEASE_VS2012_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 >>>>> >>>>> -NOOPT_VS2012_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g >>>>> >>>>> + =C2=A0DEBUG_VS2012_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g= =20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2012_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2012_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2012_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULT= LIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2012_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1024,9 +1024,9 @@ NOOPT_VS2012x86_IA32_CC_FLAGS =C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D /nologo=20 >>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768 >>>>> RELEASE_VS2012x86_IA32_ASM_FLAGS =C2=A0=C2=A0=3D /nologo /c /WX /W3 /= Cx /coff /Zd >>>>> >>>>> NOOPT_VS2012x86_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo /c= /WX /W3 /Cx /coff=20 >>>>> /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2012x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g >>>>> >>>>> -RELEASE_VS2012x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 >>>>> >>>>> -NOOPT_VS2012x86_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -= g >>>>> >>>>> + =C2=A0DEBUG_VS2012x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2012x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2012x86_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -= g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2012x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLI= B=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2012x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1056,9 +1056,9 @@ NOOPT_VS2012x86_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D /nologo=20 >>>>> /c /WX /GS- /W4 /Gs32768 /D UNICODE >>>>> RELEASE_VS2012x86_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX = /W3 /Cx /Zd >>>>> >>>>> NOOPT_VS2012x86_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D /nolo= go /c /WX /W3 /Cx /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2012x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -= g >>>>> >>>>> -RELEASE_VS2012x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 >>>>> >>>>> -NOOPT_VS2012x86_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f wi= n64 -g >>>>> >>>>> + =C2=A0DEBUG_VS2012x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -= g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2012x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2012x86_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f wi= n64 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2012x86_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFA= ULTLIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2012x86_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1138,9 +1138,9 @@ NOOPT_VS2013_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo=20 >>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768 >>>>> RELEASE_VS2013_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo /c = /WX /W3 /Cx /coff /Zd >>>>> >>>>> NOOPT_VS2013_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D /= nologo /c /WX /W3 /Cx /coff=20 >>>>> /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2013_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win= 32 -g >>>>> >>>>> -RELEASE_VS2013_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win32 >>>>> >>>>> -NOOPT_VS2013_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -= f win32 -g >>>>> >>>>> + =C2=A0DEBUG_VS2013_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win= 32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2013_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2013_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -= f win32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2013_IA32_DLINK_FLAGS =C2=A0=C2=A0=3D /NOLOGO /NO= DEFAULTLIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2013_IA32_DLINK_FLAGS =C2=A0=C2=A0=3D /NOLOGO /NODEFAULTLIB= =20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1170,9 +1170,9 @@ NOOPT_VS2013_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D /nologo /c=20 >>>>> /WX /GS- /W4 /Gs32768 /D UNICODE /G >>>>> RELEASE_VS2013_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX /W3= /Cx /Zd >>>>> >>>>> NOOPT_VS2013_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX /W3 /= Cx /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2013_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g >>>>> >>>>> -RELEASE_VS2013_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 >>>>> >>>>> -NOOPT_VS2013_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g >>>>> >>>>> + =C2=A0DEBUG_VS2013_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g= =20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2013_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2013_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2013_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULT= LIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2013_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1249,9 +1249,9 @@ NOOPT_VS2013x86_IA32_CC_FLAGS =C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D /nologo=20 >>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768 >>>>> RELEASE_VS2013x86_IA32_ASM_FLAGS =C2=A0=C2=A0=3D /nologo /c /WX /W3 /= Cx /coff /Zd >>>>> >>>>> NOOPT_VS2013x86_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo /c= /WX /W3 /Cx /coff=20 >>>>> /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2013x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g >>>>> >>>>> -RELEASE_VS2013x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 >>>>> >>>>> -NOOPT_VS2013x86_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -= g >>>>> >>>>> + =C2=A0DEBUG_VS2013x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2013x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2013x86_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -= g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2013x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLI= B=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2013x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1281,9 +1281,9 @@ NOOPT_VS2013x86_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D /nologo=20 >>>>> /c /WX /GS- /W4 /Gs32768 /D UNICODE >>>>> RELEASE_VS2013x86_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX = /W3 /Cx /Zd >>>>> >>>>> NOOPT_VS2013x86_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D /nolo= go /c /WX /W3 /Cx /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2013x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -= g >>>>> >>>>> -RELEASE_VS2013x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 >>>>> >>>>> -NOOPT_VS2013x86_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f wi= n64 -g >>>>> >>>>> + =C2=A0DEBUG_VS2013x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -= g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2013x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2013x86_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f wi= n64 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2013x86_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFA= ULTLIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2013x86_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1364,9 +1364,9 @@ NOOPT_VS2015_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo=20 >>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768 >>>>> RELEASE_VS2015_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo /c = /WX /W3 /Cx /coff /Zd >>>>> >>>>> NOOPT_VS2015_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D /= nologo /c /WX /W3 /Cx /coff=20 >>>>> /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2015_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win= 32 -g >>>>> >>>>> -RELEASE_VS2015_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win32 >>>>> >>>>> -NOOPT_VS2015_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -= f win32 -g >>>>> >>>>> + =C2=A0DEBUG_VS2015_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win= 32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2015_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -Ox -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2015_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -= f win32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2015_IA32_DLINK_FLAGS =C2=A0=C2=A0=3D /NOLOGO /NO= DEFAULTLIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2015_IA32_DLINK_FLAGS =C2=A0=C2=A0=3D /NOLOGO /NODEFAULTLIB= =20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1396,9 +1396,9 @@ NOOPT_VS2015_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D /nologo /c=20 >>>>> /WX /GS- /W4 /Gs32768 /D UNICODE /G >>>>> RELEASE_VS2015_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX /W3= /Cx /Zd >>>>> >>>>> NOOPT_VS2015_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX /W3 /= Cx /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2015_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g >>>>> >>>>> -RELEASE_VS2015_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 >>>>> >>>>> -NOOPT_VS2015_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g >>>>> >>>>> + =C2=A0DEBUG_VS2015_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g= =20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2015_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2015_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2015_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULT= LIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2015_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1476,9 +1476,9 @@ NOOPT_VS2015x86_IA32_CC_FLAGS =C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D /nologo=20 >>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768 >>>>> RELEASE_VS2015x86_IA32_ASM_FLAGS =C2=A0=C2=A0=3D /nologo /c /WX /W3 /= Cx /coff /Zd >>>>> >>>>> NOOPT_VS2015x86_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo /c= /WX /W3 /Cx /coff=20 >>>>> /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2015x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g >>>>> >>>>> -RELEASE_VS2015x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 >>>>> >>>>> -NOOPT_VS2015x86_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -= g >>>>> >>>>> + =C2=A0DEBUG_VS2015x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2015x86_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2015x86_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -= g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2015x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLI= B=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2015x86_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1508,9 +1508,9 @@ NOOPT_VS2015x86_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D /nologo=20 >>>>> /c /WX /GS- /W4 /Gs32768 /D UNICODE >>>>> RELEASE_VS2015x86_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX = /W3 /Cx /Zd >>>>> >>>>> NOOPT_VS2015x86_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D /nolo= go /c /WX /W3 /Cx /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2015x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -= g >>>>> >>>>> -RELEASE_VS2015x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 >>>>> >>>>> -NOOPT_VS2015x86_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f wi= n64 -g >>>>> >>>>> + =C2=A0DEBUG_VS2015x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -= g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2015x86_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2015x86_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f wi= n64 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2015x86_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFA= ULTLIB=20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2015x86_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1586,9 +1586,9 @@ NOOPT_VS2017_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=3D /nologo=20 >>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D >>>>> RELEASE_VS2017_IA32_ASM_FLAGS =C2=A0=C2=A0=3D /nologo /c /WX /W3 /Cx = /coff /Zd >>>>> >>>>> NOOPT_VS2017_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo /c /W= X /W3 /Cx /coff /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2017_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g >>>>> >>>>> -RELEASE_VS2017_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 >>>>> >>>>> -NOOPT_VS2017_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -g >>>>> >>>>> + =C2=A0DEBUG_VS2017_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2017_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2017_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -g= =20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2017_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB= =20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2017_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1616,9 +1616,9 @@ NOOPT_VS2017_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D /nologo /c=20 >>>>> /WX /GS- /W4 /Gs32768 /D UNICODE /G >>>>> RELEASE_VS2017_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX /W3= /Cx /Zd >>>>> >>>>> NOOPT_VS2017_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo = /c /WX /W3 /Cx /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2017_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g >>>>> >>>>> -RELEASE_VS2017_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 >>>>> >>>>> -NOOPT_VS2017_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g >>>>> >>>>> + =C2=A0DEBUG_VS2017_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g= =20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2017_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2017_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2017_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULT= LIB=20 >>>>> /IGNORE:4001 /IGNORE:4281 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2017_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4281 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP=20 >>>>> /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG=20 >>>>> /DLL /ENTRY:$(IMAGE_ENTRY_POINT)=20 >>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER=20 >>>>> /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1744,9 +1744,9 @@ NOOPT_VS2019_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=3D /nologo=20 >>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D >>>>> RELEASE_VS2019_IA32_ASM_FLAGS =C2=A0=C2=A0=3D /nologo /c /WX /W3 /Cx = /coff /Zd >>>>> >>>>> NOOPT_VS2019_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo /c /W= X /W3 /Cx /coff /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2019_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g >>>>> >>>>> -RELEASE_VS2019_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 >>>>> >>>>> -NOOPT_VS2019_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -g >>>>> >>>>> + =C2=A0DEBUG_VS2019_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32 -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2019_IA32_NASM_FLAGS =C2=A0=3D -Ox -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2019_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=3D -O0 -f win32 -g= =20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2019_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB= =20 >>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 /SECTION:.xdata,D= =20 >>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2019_IA32_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=3D.data >>>>> >>>>> @@ -1774,9 +1774,9 @@ NOOPT_VS2019_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D /nologo /c=20 >>>>> /WX /GS- /W4 /Gs32768 /D UNICODE /G >>>>> RELEASE_VS2019_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=3D /nologo /c /WX /W3= /Cx /Zd >>>>> >>>>> NOOPT_VS2019_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D /nologo = /c /WX /W3 /Cx /Zd /Zi >>>>> >>>>> >>>>> >>>>> - =C2=A0DEBUG_VS2019_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g >>>>> >>>>> -RELEASE_VS2019_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 >>>>> >>>>> -NOOPT_VS2019_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g >>>>> >>>>> + =C2=A0DEBUG_VS2019_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64 -g= =20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +RELEASE_VS2019_X64_NASM_FLAGS =C2=A0=C2=A0=3D -Ox -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> +NOOPT_VS2019_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D -O0 -f win64= -g=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_VS2019_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULT= LIB=20 >>>>> /IGNORE:4001 /IGNORE:4281 /OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32=20 >>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL=20 >>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER=20 >>>>> /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >>>>> >>>>> RELEASE_VS2019_X64_DLINK_FLAGS =C2=A0=3D /NOLOGO /NODEFAULTLIB=20 >>>>> /IGNORE:4001 /IGNORE:4281 /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP=20 >>>>> /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG=20 >>>>> /DLL /ENTRY:$(IMAGE_ENTRY_POINT)=20 >>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER=20 >>>>> /MERGE:.rdata=3D.data >>>>> >>>>> @@ -2030,7 +2030,7 @@ DEFINE GCC_PP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D=20 >>>>> -E -x assembler-with-cpp -include A >>>>> *_GCC48_IA32_DLINK2_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D DEF(GCC48_IA32_DLINK2_FLAGS) >>>>> >>>>> *_GCC48_IA32_RC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_IA32_RC_FLAGS) >>>>> >>>>> *_GCC48_IA32_OBJCOPY_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =3D >>>>> >>>>> -*_GCC48_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D -f elf32 >>>>> >>>>> +*_GCC48_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D -f elf32=20 >>>>> -DRODATA_SECTION_NAME=3D.rodata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_GCC48_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D DEF(GCC48_IA32_CC_FLAGS) -Os >>>>> >>>>> RELEASE_GCC48_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D D= EF(GCC48_IA32_CC_FLAGS) -Os=20 >>>>> -Wno-unused-but-set-variable >>>>> >>>>> @@ -2058,7 +2058,7 @@ RELEASE_GCC48_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D=20 >>>>> DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but >>>>> *_GCC48_X64_DLINK2_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D DEF(GCC48_X64_DLINK2_FLAGS) >>>>> >>>>> *_GCC48_X64_RC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_X64_RC_FLAGS) >>>>> >>>>> *_GCC48_X64_OBJCOPY_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =3D >>>>> >>>>> -*_GCC48_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D -f elf64 >>>>> >>>>> +*_GCC48_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D -f elf64=20 >>>>> -DRODATA_SECTION_NAME=3D.rodata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_GCC48_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D DEF(GCC48_X64_CC_FLAGS) -Os >>>>> >>>>> RELEASE_GCC48_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DE= F(GCC48_X64_CC_FLAGS) -Os=20 >>>>> -Wno-unused-but-set-variable >>>>> >>>>> @@ -2170,7 +2170,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS =C2=A0=C2=A0=3D= =20 >>>>> DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s >>>>> *_GCC49_IA32_DLINK2_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D DEF(GCC49_IA32_DLINK2_FLAGS) >>>>> >>>>> *_GCC49_IA32_RC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_IA32_RC_FLAGS) >>>>> >>>>> *_GCC49_IA32_OBJCOPY_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =3D >>>>> >>>>> -*_GCC49_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D -f elf32 >>>>> >>>>> +*_GCC49_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D -f elf32=20 >>>>> -DRODATA_SECTION_NAME=3D.rodata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_GCC49_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D DEF(GCC49_IA32_CC_FLAGS) -Os >>>>> >>>>> RELEASE_GCC49_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D D= EF(GCC49_IA32_CC_FLAGS) -Os=20 >>>>> -Wno-unused-but-set-variable -Wno-unused-const-variable >>>>> >>>>> @@ -2198,7 +2198,7 @@ RELEASE_GCC49_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D=20 >>>>> DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but >>>>> *_GCC49_X64_DLINK2_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D DEF(GCC49_X64_DLINK2_FLAGS) >>>>> >>>>> *_GCC49_X64_RC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_X64_RC_FLAGS) >>>>> >>>>> *_GCC49_X64_OBJCOPY_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =3D >>>>> >>>>> -*_GCC49_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D -f elf64 >>>>> >>>>> +*_GCC49_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D -f elf64=20 >>>>> -DRODATA_SECTION_NAME=3D.rodata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_GCC49_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D DEF(GCC49_X64_CC_FLAGS) -Os >>>>> >>>>> RELEASE_GCC49_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DE= F(GCC49_X64_CC_FLAGS) -Os=20 >>>>> -Wno-unused-but-set-variable -Wno-unused-const-variable >>>>> >>>>> @@ -2316,7 +2316,7 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS =3D -z=20 >>>>> common-page-size=3D0x20 >>>>> *_GCC5_IA32_DLINK2_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie >>>>> >>>>> *_GCC5_IA32_RC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_IA32_RC_FLAGS) >>>>> >>>>> *_GCC5_IA32_OBJCOPY_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =3D >>>>> >>>>> -*_GCC5_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D -f elf32 >>>>> >>>>> +*_GCC5_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D -f elf32=20 >>>>> -DRODATA_SECTION_NAME=3D.rodata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_GCC5_IA32_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D DEF(GCC5_IA32_CC_FLAGS) -flto -Os >>>>> >>>>> =C2=A0=C2=A0DEBUG_GCC5_IA32_DLINK_FLAGS =C2=A0=C2=A0=C2=A0=3D DEF(GCC= 5_IA32_X64_DLINK_FLAGS)=20 >>>>> -flto -Os -Wl,-m,elf_i386,--oformat=3Delf32-i386 >>>>> >>>>> @@ -2348,7 +2348,7 @@ RELEASE_GCC5_IA32_DLINK_FLAGS =C2=A0=C2=A0=C2= =A0=3D=20 >>>>> DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl, >>>>> *_GCC5_X64_DLINK2_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=3D DEF(GCC5_X64_DLINK2_FLAGS) >>>>> >>>>> *_GCC5_X64_RC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_X64_RC_FLAGS) >>>>> >>>>> *_GCC5_X64_OBJCOPY_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D >>>>> >>>>> -*_GCC5_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=3D -f elf64 >>>>> >>>>> +*_GCC5_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=3D -f elf64=20 >>>>> -DRODATA_SECTION_NAME=3D.rodata >>>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_GCC5_X64_CC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=3D DEF(GCC5_X64_CC_FLAGS) -flto=20 >>>>> -DUSING_LTO -Os >>>>> >>>>> =C2=A0=C2=A0DEBUG_GCC5_X64_DLINK_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=3D DE= F(GCC5_X64_DLINK_FLAGS) -flto -Os >>>>> >>>>> @@ -2589,7 +2589,7 @@ DEFINE CLANG38_ALL_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D=20 >>>>> DEF(GCC48_ALL_CC_FLAGS) DEF(CLANG38_WARNIN >>>>> *_CLANG38_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC5_ASM_FLAGS) -m32=20 >>>>> -march=3Di386 DEF(CLANG38_IA32_TARGET) >>>>> >>>>> *_CLANG38_IA32_RC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_IA32_RC_FLAGS) >>>>> >>>>> *_CLANG38_IA32_OBJCOPY_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=3D >>>>> >>>>> -*_CLANG38_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D -f elf32 >>>>> >>>>> +*_CLANG38_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D -f elf32=20 >>>>> -DRODATA_SECTION_NAME=3D.rodata >>>>> >>>>> *_CLANG38_IA32_PP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_PP_FLAGS)=20 >>>>> DEF(CLANG38_IA32_TARGET) >>>>> >>>>> *_CLANG38_IA32_ASLPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=3D DEF(GCC_ASLPP_FLAGS)=20 >>>>> DEF(CLANG38_IA32_TARGET) >>>>> >>>>> *_CLANG38_IA32_VFRPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=3D DEF(GCC_VFRPP_FLAGS)=20 >>>>> DEF(CLANG38_IA32_TARGET) >>>>> >>>>> @@ -2626,7 +2626,7 @@ NOOPT_CLANG38_IA32_DLINK2_FLAGS =C2=A0=C2=A0=C2= =A0=C2=A0=3D=20 >>>>> DEF(GCC5_IA32_DLINK2_FLAGS) -O0 >>>>> *_CLANG38_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC5_ASM_FLAGS) -m64=20 >>>>> DEF(CLANG38_X64_TARGET) >>>>> >>>>> *_CLANG38_X64_RC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_X64_RC_FLAGS) >>>>> >>>>> *_CLANG38_X64_OBJCOPY_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=3D >>>>> >>>>> -*_CLANG38_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D -f elf64 >>>>> >>>>> +*_CLANG38_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D -f elf64=20 >>>>> -DRODATA_SECTION_NAME=3D.rodata >>>>> >>>>> *_CLANG38_X64_PP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_PP_FLAGS)=20 >>>>> DEF(CLANG38_X64_TARGET) >>>>> >>>>> *_CLANG38_X64_ASLPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=3D DEF(GCC_ASLPP_FLAGS)=20 >>>>> DEF(CLANG38_X64_TARGET) >>>>> >>>>> *_CLANG38_X64_VFRPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=3D DEF(GCC_VFRPP_FLAGS)=20 >>>>> DEF(CLANG38_X64_TARGET) >>>>> >>>>> @@ -2777,7 +2777,7 @@ DEFINE CLANGPDB_ALL_CC_FLAGS =C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D=20 >>>>> DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGPDB_WARN >>>>> *_CLANGPDB_IA32_ASLCC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D DEF(GCC_ASLCC_FLAGS) -m32=20 >>>>> -fno-lto DEF(CLANGPDB_IA32_TARGET) >>>>> >>>>> *_CLANGPDB_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_ASM_FLAGS) -m32=20 >>>>> -march=3Di386 DEF(CLANGPDB_IA32_TARGET) >>>>> >>>>> *_CLANGPDB_IA32_OBJCOPY_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=3D >>>>> >>>>> -*_CLANGPDB_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=3D -f win32 >>>>> >>>>> +*_CLANGPDB_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=3D -f win32=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> *_CLANGPDB_IA32_PP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_PP_FLAGS)=20 >>>>> DEF(CLANGPDB_IA32_TARGET) >>>>> >>>>> *_CLANGPDB_IA32_ASLPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D DEF(GCC_ASLPP_FLAGS)=20 >>>>> DEF(CLANGPDB_IA32_TARGET) >>>>> >>>>> *_CLANGPDB_IA32_VFRPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D DEF(GCC_VFRPP_FLAGS)=20 >>>>> DEF(CLANGPDB_IA32_TARGET) >>>>> >>>>> @@ -2811,7 +2811,7 @@ NOOPT_CLANGPDB_IA32_DLINK2_FLAGS =C2=A0=C2=A0= =C2=A0=C2=A0=3D >>>>> *_CLANGPDB_X64_ASLCC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=3D DEF(GCC_ASLCC_FLAGS) -m64=20 >>>>> -fno-lto DEF(CLANGPDB_X64_TARGET) >>>>> >>>>> *_CLANGPDB_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_ASM_FLAGS) -m64=20 >>>>> DEF(CLANGPDB_X64_TARGET) >>>>> >>>>> *_CLANGPDB_X64_OBJCOPY_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=3D >>>>> >>>>> -*_CLANGPDB_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D -f win64 >>>>> >>>>> +*_CLANGPDB_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=3D -f win64=20 >>>>> -DRODATA_SECTION_NAME=3D.rdata >>>>> >>>>> *_CLANGPDB_X64_PP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_PP_FLAGS)=20 >>>>> DEF(CLANGPDB_X64_TARGET) >>>>> >>>>> *_CLANGPDB_X64_ASLPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=3D DEF(GCC_ASLPP_FLAGS)=20 >>>>> DEF(CLANGPDB_X64_TARGET) >>>>> >>>>> *_CLANGPDB_X64_VFRPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=3D DEF(GCC_VFRPP_FLAGS)=20 >>>>> DEF(CLANGPDB_X64_TARGET) >>>>> >>>>> @@ -2878,7 +2878,7 @@ DEFINE CLANGDWARF_X64_DLINK2_FLAGS =C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D=20 >>>>> -Wl,--defsym=3DPECOFF_HEADER_SIZE=3D0x22 >>>>> *_CLANGDWARF_IA32_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC5_ASM_FLAGS) -m32=20 >>>>> -march=3Di386 DEF(CLANG38_IA32_TARGET) >>>>> >>>>> *_CLANGDWARF_IA32_RC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_IA32_RC_FLAGS) >>>>> >>>>> *_CLANGDWARF_IA32_OBJCOPY_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D >>>>> >>>>> -*_CLANGDWARF_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=3D -f elf32 >>>>> >>>>> +*_CLANGDWARF_IA32_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=3D -f elf32=20 >>>>> -DRODATA_SECTION_NAME=3D.rodata >>>>> >>>>> *_CLANGDWARF_IA32_PP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_PP_FLAGS)=20 >>>>> DEF(CLANG38_IA32_TARGET) >>>>> >>>>> *_CLANGDWARF_IA32_ASLPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D DEF(GCC_ASLPP_FLAGS)=20 >>>>> DEF(CLANG38_IA32_TARGET) >>>>> >>>>> *_CLANGDWARF_IA32_VFRPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D DEF(GCC_VFRPP_FLAGS)=20 >>>>> DEF(CLANG38_IA32_TARGET) >>>>> >>>>> @@ -2914,7 +2914,7 @@ NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS =C2=A0=C2=A0= =C2=A0=C2=A0=3D=20 >>>>> DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 - >>>>> *_CLANGDWARF_X64_ASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC5_ASM_FLAGS) -m64=20 >>>>> DEF(CLANG38_X64_TARGET) >>>>> >>>>> *_CLANGDWARF_X64_RC_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_X64_RC_FLAGS) >>>>> >>>>> *_CLANGDWARF_X64_OBJCOPY_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=3D >>>>> >>>>> -*_CLANGDWARF_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=3D -f elf64 >>>>> >>>>> +*_CLANGDWARF_X64_NASM_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=3D -f elf64=20 >>>>> -DRODATA_SECTION_NAME=3D.rodata >>>>> >>>>> *_CLANGDWARF_X64_PP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D DEF(GCC_PP_FLAGS)=20 >>>>> DEF(CLANG38_X64_TARGET) >>>>> >>>>> *_CLANGDWARF_X64_ASLPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D DEF(GCC_ASLPP_FLAGS)=20 >>>>> DEF(CLANG38_X64_TARGET) >>>>> >>>>> *_CLANGDWARF_X64_VFRPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D DEF(GCC_VFRPP_FLAGS)=20 >>>>> DEF(CLANG38_X64_TARGET) >>>>> >>>>> @@ -2985,7 +2985,7 @@ RELEASE_XCODE5_IA32_DLINK_FLAGS =C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D -arch=20 >>>>> i386 -u _$(IMAGE_ENTRY_POINT) -e _$ >>>>> =C2=A0=C2=A0DEBUG_XCODE5_IA32_ASM_FLAGS =C2=A0=3D -arch i386 -g >>>>> >>>>> =C2=A0=C2=A0NOOPT_XCODE5_IA32_ASM_FLAGS =C2=A0=3D -arch i386 -g >>>>> >>>>> RELEASE_XCODE5_IA32_ASM_FLAGS =C2=A0=3D -arch i386 >>>>> >>>>> - =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*_XCODE5_IA32_NASM_FLAGS =3D -f macho= 32 >>>>> >>>>> + =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*_XCODE5_IA32_NASM_FLAGS =3D -f macho= 32=20 >>>>> -DRODATA_SECTION_NAME=3D.rodata >>>>> >>>>> >>>>> >>>> >>>> An EFI Mach-O file does not contain a .rodata section. A Mach-O=20 >>>> contains a __DATA segment that is broken up into sections. For a=20 >>>> typical EFI image there are __const, __data, __bss sections in the=20 >>>> __DATA segment [1]. >>> >>> Yes, and ".rodata" is almost a synonym for "__DATA,__const", with a=20 >>> small exception [1]. Maybe it'd be clearer if the macro was renamed=20 >>> to "NASM_RODATA_SECTION_NAME", to indicate this is not just a "raw"=20 >>> name, but NASM gives it a semantic meaning? >>> >>>> >>>> The mtoc [2] tool used to convert mach-O to PE/COFF converts the=20 >>>> entire __DATA segment (__const, __data, and __bss) into the .data=20 >>>> section. Thus adding any kind of new data section is a no-op at best. >>> >>> This is a part I missed, because I do not have an Xcode toolchain at=20 >>> hand, so thanks for investigating. However this, in my opinion, is a=20 >>> flaw with Mach-O/mtoc and not with my patch. It seems like the only=20 >>> difference between __TEXT,__const and __DATA,__const is whether the=20 >>> data is targeted by a relocation or not. Such a concept does not=20 >>> exist for PE/COFF (and I think not even for ELF, but I'm not too=20 >>> familiar with it), thus the logical PE/COFF section __DATA,__const=20 >>> should be merged into is .rdata (and .rdata may or may not be merged=20 >>> into .text in an earlier step, I assume transitivity). I could=20 >>> change the macro definition to explicitly declare __TEXT,__const,=20 >>> but that would still put the compiler-emitted data in the wrong=20 >>> section. Does Xcode provide anything remotely similar to GNU linker=20 >>> scripts which we can use to move the section? >>> >>> Please also note that .rodata is used for Xcode-based toolchains=20 >>> already (in fact, all toolchains, and this is the issue), I'm not=20 >>> regressing anything. I just expected it to work fine as-is. This=20 >>> patch mainly fixed PE/COFF-based toolchains, which get both .rdata=20 >>> from the compiler and .rodata with RX permissions from NASM, because=20 >>> ".rodata" only has a semantic meaning for ELF and Mach-O outputs,=20 >>> but not for PE/COFF. >>> >>>> >>>> If you want something to be read only for Xcode/clang you are=20 >>>> better off putting it in the __TEXT section [3]. The __TEXT section=20 >>>> is read only and for X64 can not even contain relocations. >>> >>> Well, this kind of is an issue. We would need to introduce an=20 >>> arbitrary constraint on the relocation part that holds only for=20 >>> Xcode-based toolchains. Does the compiler emit an error when data in=20 >>> __TEXT,__const is targeted by a relocation? >> >> The Xcode linker emits a fatal error on X64 for a relocation in the=20 >> __TEXT section, everything needs to be RIP relative and the compiler=20 >> does that for free. We generally only run into this for hand coded=20 >> assembler and the fix is to use RIP relative addressing in the assembly. >> >>> Also see above regarding compiler-emitted __DATA,__const. >>> >> >> OK so the current nasm `SECTION .rodata`[1] =C2=A0gets mapped to=20 >> __TEXT,__const[2] for Xcode clang, and this is done by nasm (I dumped=20 >> the object file). GenFw and mtoc only run on executables, also they=20 >> tend to be conservative as they need to keep the layout the same and=20 >> the relative layout between sections the same, but in this case it is=20 >> nasm placing the data in the text section. >> >> So what I=E2=80=99d like to see in the patch is to define RODATA_SECTION= _NAME=20 >> to match what is actually happening. So for XCODE that would be=20 >> `__TEXT,__const` not `.rodata`. We should double check what is=20 >> happening for ELF on x86, ARM, RiskV, etc. and do the same thing. I=20 >> assume all the tools that generate PE/COFF directly are good with=20 >> .rodata? I think it is likely as simple as dumping the EFL object=20 >> file in objdump or gdb for the given toolchain (like my Xcode example). >> >> TL;DR It looks to me like nasm does some SECTION=C2=A0translations under= =20 >> the hood to make code portable, and I=E2=80=99d like to make sure we cap= ture=20 >> those in the new NASM_RODATA_SECTION_NAME. If some one is doing a=20 >> security review having NASM_RODATA_SECTION_NAME is going to imply=20 >> that a .rodata section is being used by that specific toolchain, and=20 >> I think that is much worse than the current =E2=80=9Cmagic=E2=80=9D beha= vior in nasm.=20 >> We are much better off explaining what is really happening, since it=20 >> is not very obvious. >> >> [1]=20 >> https://github.com/tianocore/edk2/blob/master/UefiCpuPkg/Library/BaseUef= iCpuLib/X64/InitializeFpu.nasm#L14=20 >> >> >> [2] $otool -V -s __TEXT=20 >> __constBuild/OvmfX64/DEBUG_XCODE5/X64/UefiCpuPkg/Library/BaseUefiCpuLib/= BaseUefiCpuLib/OUTPUT/X64/InitializeFpu.obj >> Build//OvmfX64/DEBUG_XCODE5/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUe= fiCpuLib/OUTPUT/X64/InitializeFpu.obj: >> Contents of (__TEXT,__const) section >> 0000001d=C2=A0 7f 03 80 1f 00 00 >> >> $ otool -l=20 >> Build//OvmfX64/DEBUG_XCODE5/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUe= fiCpuLib/OUTPUT/X64/InitializeFpu.obj >> Build/OvmfX64/DEBUG_XCODE5/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUef= iCpuLib/OUTPUT/X64/InitializeFpu.obj: >> Load command 0 >> =C2=A0 =C2=A0 =C2=A0 cmd LC_SEGMENT_64 >> =C2=A0 cmdsize 232 >> =C2=A0 segname >> =C2=A0=C2=A0 vmaddr 0x0000000000000000 >> =C2=A0=C2=A0 vmsize 0x0000000000000026 >> =C2=A0 fileoff 288 >> =C2=A0filesize 38 >> =C2=A0 maxprot 0x00000007 >> =C2=A0initprot 0x00000007 >> =C2=A0=C2=A0 nsects 2 >> =C2=A0 =C2=A0 flags 0x0 >> Section >> =C2=A0 sectname __text >> =C2=A0=C2=A0 segname __TEXT >> =C2=A0 =C2=A0 =C2=A0 addr 0x0000000000000000 >> =C2=A0 =C2=A0 =C2=A0 size 0x000000000000001d >> =C2=A0 =C2=A0 offset 288 >> =C2=A0=C2=A0 =C2=A0 align 2^0 (1) >> =C2=A0 =C2=A0 reloff 328 >> =C2=A0 =C2=A0 nreloc 2 >> =C2=A0=C2=A0 =C2=A0 flags 0x80000500 >> =C2=A0reserved1 0 >> =C2=A0reserved2 0 >> Section >> =C2=A0 sectname __const >> =C2=A0=C2=A0 segname __TEXT >> =C2=A0 =C2=A0 =C2=A0 addr 0x000000000000001d >> =C2=A0 =C2=A0 =C2=A0 size 0x0000000000000006 >> =C2=A0 =C2=A0 offset 320 >> =C2=A0=C2=A0 =C2=A0 align 2^0 (1) >> =C2=A0 =C2=A0 reloff 0 >> =C2=A0 =C2=A0 nreloc 0 >> =C2=A0=C2=A0 =C2=A0 flags 0x00000000 >> =C2=A0reserved1 0 >> =C2=A0reserved2 0 >> Load command 1 >> =C2=A0=C2=A0 =C2=A0 cmd LC_SYMTAB >> =C2=A0cmdsize 24 >> =C2=A0 symoff 344 >> =C2=A0=C2=A0 nsyms 3 >> =C2=A0 stroff 392 >> =C2=A0strsize 63 >> >> Thanks, >> >> Andrew Fish >> >> >>> Thanks for your notes and insight! >>> >>> Best regards, >>> Marvin >>> >>> >>> [1] >>> "For compatibility with other Unix platforms, the following standard=20 >>> names are also supported: >>> [...] >>> .rodata=C2=A0 =3D __DATA,__const data >>> [...] >>> If the .rodata section contains no relocations, it is instead put=20 >>> into the __TEXT,__const section unless this section has already been=20 >>> specified explicitly." >>> https://www.nasm.us/xdoc/2.13.01/html/nasmdoc7.html=20 >>> >>> >>>> >>>> [1] otool -lh DxeCore.dll >>>> ... >>>> Load command 1 >>>> =C2=A0 =C2=A0 =C2=A0 cmd LC_SEGMENT_64 >>>> =C2=A0 cmdsize 312 >>>> =C2=A0 segname __DATA >>>> =C2=A0=C2=A0 vmaddr 0x000000000002b000 >>>> =C2=A0=C2=A0 vmsize 0x0000000000147000 >>>> =C2=A0 fileoff 180224 >>>> =C2=A0filesize 8192 >>>> =C2=A0 maxprot 0x00000003 >>>> =C2=A0initprot 0x00000003 >>>> =C2=A0=C2=A0 nsects 3 >>>> =C2=A0 =C2=A0 flags 0x0 >>>> Section >>>> =C2=A0 sectname __const >>>> =C2=A0=C2=A0 segname __DATA >>>> =C2=A0 =C2=A0 =C2=A0 addr 0x000000000002b000 >>>> =C2=A0 =C2=A0 =C2=A0 size 0x0000000000000718 >>>> =C2=A0 =C2=A0 offset 180224 >>>> =C2=A0=C2=A0 =C2=A0 align 2^4 (16) >>>> =C2=A0 =C2=A0 reloff 0 >>>> =C2=A0 =C2=A0 nreloc 0 >>>> =C2=A0=C2=A0 =C2=A0 flags 0x00000000 >>>> =C2=A0reserved1 0 >>>> =C2=A0reserved2 0 >>>> Section >>>> =C2=A0 sectname __data >>>> =C2=A0=C2=A0 segname __DATA >>>> =C2=A0 =C2=A0 =C2=A0 addr 0x000000000002b720 >>>> =C2=A0 =C2=A0 =C2=A0 size 0x00000000000014f0 >>>> =C2=A0 =C2=A0 offset 182048 >>>> =C2=A0=C2=A0 =C2=A0 align 2^4 (16) >>>> =C2=A0 =C2=A0 reloff 0 >>>> =C2=A0 =C2=A0 nreloc 0 >>>> =C2=A0=C2=A0 =C2=A0 flags 0x00000000 >>>> =C2=A0reserved1 0 >>>> =C2=A0reserved2 0 >>>> Section >>>> =C2=A0 sectname __bss >>>> =C2=A0=C2=A0 segname __DATA >>>> =C2=A0 =C2=A0 =C2=A0 addr 0x000000000002cc10 >>>> =C2=A0 =C2=A0 =C2=A0 size 0x0000000000144e11 >>>> =C2=A0 =C2=A0 offset 0 >>>> =C2=A0=C2=A0 =C2=A0 align 2^4 (16) >>>> =C2=A0 =C2=A0 reloff 0 >>>> =C2=A0 =C2=A0 nreloc 0 >>>> =C2=A0=C2=A0 =C2=A0 flags 0x00000001 >>>> =C2=A0reserved1 0 >>>> =C2=A0reserved2 0 >>>> =E2=80=A6 >>>> >>>> [2]=20 >>>> https://opensource.apple.com/source/cctools/cctools-698/efitools/mtoc.= c.auto.html=20 >>>> =20 >>>> >>> >=20 >>>> >>>> >>>> [3] otool more output=E2=80=A6 >>>> Load command 0 >>>> =C2=A0 =C2=A0 =C2=A0 cmd LC_SEGMENT_64 >>>> =C2=A0 cmdsize 392 >>>> =C2=A0 segname __TEXT >>>> =C2=A0=C2=A0 vmaddr 0x0000000000000240 >>>> =C2=A0=C2=A0 vmsize 0x00000000000296c0 >>>> =C2=A0 fileoff 1184 >>>> =C2=A0filesize 169664 >>>> =C2=A0 maxprot 0x00000005 >>>> =C2=A0initprot 0x00000005 >>>> =C2=A0=C2=A0 nsects 4 >>>> =C2=A0 =C2=A0 flags 0x0 >>>> Section >>>> =C2=A0 sectname __text >>>> =C2=A0=C2=A0 segname __TEXT >>>> =C2=A0 =C2=A0 =C2=A0 addr 0x0000000000000240 >>>> =C2=A0 =C2=A0 =C2=A0 size 0x000000000002489f >>>> =C2=A0 =C2=A0 offset 1184 >>>> =C2=A0=C2=A0 =C2=A0 align 2^3 (8) >>>> =C2=A0 =C2=A0 reloff 0 >>>> =C2=A0 =C2=A0 nreloc 0 >>>> =C2=A0=C2=A0 =C2=A0 flags 0x80000400 >>>> =C2=A0reserved1 0 >>>> =C2=A0reserved2 0 >>>> Section >>>> =C2=A0 sectname __cstring >>>> =C2=A0=C2=A0 segname __TEXT >>>> =C2=A0 =C2=A0 =C2=A0 addr 0x0000000000024ae0 >>>> =C2=A0 =C2=A0 =C2=A0 size 0x000000000000496d >>>> =C2=A0 =C2=A0 offset 150848 >>>> =C2=A0=C2=A0 =C2=A0 align 2^4 (16) >>>> =C2=A0 =C2=A0 reloff 0 >>>> =C2=A0 =C2=A0 nreloc 0 >>>> =C2=A0=C2=A0 =C2=A0 flags 0x00000002 >>>> =C2=A0reserved1 0 >>>> =C2=A0reserved2 0 >>>> Section >>>> =C2=A0 sectname __ustring >>>> =C2=A0=C2=A0 segname __TEXT >>>> =C2=A0 =C2=A0 =C2=A0 addr 0x000000000002944e >>>> =C2=A0 =C2=A0 =C2=A0 size 0x0000000000000048 >>>> =C2=A0 =C2=A0 offset 169646 >>>> =C2=A0=C2=A0 =C2=A0 align 2^1 (2) >>>> =C2=A0 =C2=A0 reloff 0 >>>> =C2=A0 =C2=A0 nreloc 0 >>>> =C2=A0=C2=A0 =C2=A0 flags 0x00000000 >>>> =C2=A0reserved1 0 >>>> =C2=A0reserved2 0 >>>> Section >>>> =C2=A0 sectname __const >>>> =C2=A0=C2=A0 segname __TEXT >>>> =C2=A0 =C2=A0 =C2=A0 addr 0x00000000000294a0 >>>> =C2=A0 =C2=A0 =C2=A0 size 0x0000000000000448 >>>> =C2=A0 =C2=A0 offset 169728 >>>> =C2=A0=C2=A0 =C2=A0 align 2^4 (16) >>>> =C2=A0 =C2=A0 reloff 0 >>>> =C2=A0 =C2=A0 nreloc 0 >>>> =C2=A0=C2=A0 =C2=A0 flags 0x00000000 >>>> =C2=A0reserved1 0 >>>> =C2=A0reserved2 0 >>>> >>>> Thanks, >>>> >>>> Andrew Fish >>>> >>>>> >>>>> >>>>> =C2=A0=C2=A0DEBUG_XCODE5_IA32_CC_FLAGS =C2=A0=C2=A0=3D -arch i386 -c = -g -Os =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0-Wall=20 >>>>> -Werror -include AutoGen.h -funsigned-char -fno-stack-protector=20 >>>>> -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic=20 >>>>> -mno-implicit-float -mms-bitfields -msoft-float=20 >>>>> -Wno-unused-parameter -Wno-missing-braces=20 >>>>> -Wno-missing-field-initializers -Wno-tautological-compare=20 >>>>> -Wno-sign-compare -Wno-varargs=20 >>>>> -ftrap-function=3Dundefined_behavior_has_been_optimized_away_by_clang= =20 >>>>> $(PLATFORM_FLAGS) >>>>> >>>>> @@ -3003,7 +3003,7 @@ RELEASE_XCODE5_X64_DLINK_FLAGS =C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=3D -arch=20 >>>>> x86_64 -u _$(IMAGE_ENTRY_POINT) -e _ >>>>> =C2=A0=C2=A0DEBUG_XCODE5_X64_ASM_FLAGS =C2=A0=3D -arch x86_64 -g >>>>> >>>>> =C2=A0=C2=A0NOOPT_XCODE5_X64_ASM_FLAGS =C2=A0=3D -arch x86_64 -g >>>>> >>>>> RELEASE_XCODE5_X64_ASM_FLAGS =C2=A0=3D -arch x86_64 >>>>> >>>>> - =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*_XCODE5_X64_NASM_FLAGS =3D -f macho6= 4 >>>>> >>>>> + =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*_XCODE5_X64_NASM_FLAGS =3D -f macho6= 4=20 >>>>> -DRODATA_SECTION_NAME=3D.rodata >>>>> >>>>> *_XCODE5_*_PP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =3D -E -x assembler-with-cpp -include=20 >>>>> AutoGen.h >>>>> >>>>> *_XCODE5_*_VFRPP_FLAGS =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=3D -x c -E -P -= DVFRCOMPILE -include=20 >>>>> $(MODULE_NAME)StrDefs.h >>>>> >>>>> >>>>> >>>>> --=20 >>>>> 2.31.1 >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>> >> >>=20 >