> On Aug 12, 2021, at 12:26 AM, Marvin Häuser <mhaeu...@posteo.de> wrote:
> 
> On 11/08/2021 19:19, Andrew Fish wrote:
>> 
>> 
>>> On Aug 11, 2021, at 1:11 AM, Marvin Häuser <mhaeu...@posteo.de 
>>> <mailto:mhaeu...@posteo.de>> wrote:
>>> 
>>> On 10/08/2021 23:58, Andrew Fish wrote:
>>>> 
>>>>> On Aug 10, 2021, at 2:30 PM, Marvin Häuser <mhaeu...@posteo.de 
>>>>> <mailto:mhaeu...@posteo.de>> wrote:
>>>>> 
>>>>> On 10/08/2021 21:35, Andrew Fish via groups.io <http://groups.io> wrote:
>>>>>> 
>>>>>>> On Aug 10, 2021, at 1:27 AM, Marvin Häuser <mhaeu...@posteo.de 
>>>>>>> <mailto:mhaeu...@posteo.de> <mailto:mhaeu...@posteo.de 
>>>>>>> <mailto:mhaeu...@posteo.de>>> wrote:
>>>>>>> 
>>>>>>> On 10/08/2021 06:19, Andrew Fish via groups.io <http://groups.io> 
>>>>>>> <http://groups.io <http://groups.io>> wrote:
>>>>>>>> 
>>>>>>>>> On Aug 9, 2021, at 2:51 AM, Marvin Häuser <mhaeu...@posteo.de 
>>>>>>>>> <mailto:mhaeu...@posteo.de> <mailto:mhaeu...@posteo.de 
>>>>>>>>> <mailto:mhaeu...@posteo.de>> <mailto:mhaeu...@posteo.de 
>>>>>>>>> <mailto:mhaeu...@posteo.de> <mailto:mhaeu...@posteo.de 
>>>>>>>>> <mailto:mhaeu...@posteo.de>>>> wrote:
>>>>>>>>> 
>>>>>>>>> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3318 
>>>>>>>>> <https://bugzilla.tianocore.org/show_bug.cgi?id=3318> 
>>>>>>>>> <https://bugzilla.tianocore.org/show_bug.cgi?id=3318 
>>>>>>>>> <https://bugzilla.tianocore.org/show_bug.cgi?id=3318>> 
>>>>>>>>> <https://bugzilla.tianocore.org/show_bug.cgi?id=3318 
>>>>>>>>> <https://bugzilla.tianocore.org/show_bug.cgi?id=3318> 
>>>>>>>>> <https://bugzilla.tianocore.org/show_bug.cgi?id=3318 
>>>>>>>>> <https://bugzilla.tianocore.org/show_bug.cgi?id=3318>>>
>>>>>>>>> 
>>>>>>>>> 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 <bob.c.f...@intel.com <mailto:bob.c.f...@intel.com> 
>>>>>>>>> <mailto:bob.c.f...@intel.com <mailto:bob.c.f...@intel.com>> 
>>>>>>>>> <mailto:bob.c.f...@intel.com <mailto:bob.c.f...@intel.com> 
>>>>>>>>> <mailto:bob.c.f...@intel.com <mailto:bob.c.f...@intel.com>>>>
>>>>>>>>> Cc: Liming Gao <gaolim...@byosoft.com.cn 
>>>>>>>>> <mailto:gaolim...@byosoft.com.cn> <mailto:gaolim...@byosoft.com.cn 
>>>>>>>>> <mailto:gaolim...@byosoft.com.cn>> <mailto:gaolim...@byosoft.com.cn 
>>>>>>>>> <mailto:gaolim...@byosoft.com.cn> <mailto:gaolim...@byosoft.com.cn 
>>>>>>>>> <mailto:gaolim...@byosoft.com.cn>>>>
>>>>>>>>> Cc: Yuwei Chen <yuwei.c...@intel.com <mailto:yuwei.c...@intel.com> 
>>>>>>>>> <mailto:yuwei.c...@intel.com <mailto:yuwei.c...@intel.com>> 
>>>>>>>>> <mailto:yuwei.c...@intel.com <mailto:yuwei.c...@intel.com> 
>>>>>>>>> <mailto:yuwei.c...@intel.com <mailto:yuwei.c...@intel.com>>>>
>>>>>>>>> Cc: Vitaly Cheptsov <vit9...@protonmail.com 
>>>>>>>>> <mailto:vit9...@protonmail.com> <mailto:vit9...@protonmail.com 
>>>>>>>>> <mailto:vit9...@protonmail.com>> <mailto:vit9...@protonmail.com 
>>>>>>>>> <mailto:vit9...@protonmail.com> <mailto:vit9...@protonmail.com 
>>>>>>>>> <mailto:vit9...@protonmail.com>>>>
>>>>>>>>> Signed-off-by: Marvin Häuser <mhaeu...@posteo.de 
>>>>>>>>> <mailto:mhaeu...@posteo.de> <mailto:mhaeu...@posteo.de 
>>>>>>>>> <mailto:mhaeu...@posteo.de>> <mailto:mhaeu...@posteo.de 
>>>>>>>>> <mailto:mhaeu...@posteo.de> <mailto:mhaeu...@posteo.de 
>>>>>>>>> <mailto:mhaeu...@posteo.de>>>>
>>>>>>>>> ---
>>>>>>>>> BaseTools/Conf/tools_def.template | 172 ++++++++++----------
>>>>>>>>> 1 file changed, 86 insertions(+), 86 deletions(-)
>>>>>>>>> 
>>>>>>>>> diff --git a/BaseTools/Conf/tools_def.template 
>>>>>>>>> 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        = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE
>>>>>>>>> RELEASE_VS2008_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2008_IA32_ASM_FLAGS       = /nologo /c /WX /W3 /Cx /coff /Zd 
>>>>>>>>> /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2008_IA32_NASM_FLAGS    = -Ox -f win32 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2008_IA32_NASM_FLAGS    = -Ox -f win32
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2008_IA32_NASM_FLAGS      = -O0 -f win32 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2008_IA32_NASM_FLAGS    = -Ox -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2008_IA32_NASM_FLAGS    = -Ox -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2008_IA32_NASM_FLAGS      = -O0 -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2008_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2008_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -495,9 +495,9 @@ NOOPT_VS2008_X64_CC_FLAGS       = /nologo /c /WX 
>>>>>>>>> /GS- /W4 /Gs32768 /D UNICODE /G
>>>>>>>>> RELEASE_VS2008_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2008_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2008_X64_NASM_FLAGS   = -Ox -f win64 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2008_X64_NASM_FLAGS   = -Ox -f win64
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2008_X64_NASM_FLAGS     = -O0 -f win64 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2008_X64_NASM_FLAGS   = -Ox -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2008_X64_NASM_FLAGS   = -Ox -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2008_X64_NASM_FLAGS     = -O0 -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2008_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2008_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER 
>>>>>>>>> /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -574,9 +574,9 @@ NOOPT_VS2008x86_IA32_CC_FLAGS      = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE
>>>>>>>>> RELEASE_VS2008x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2008x86_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd 
>>>>>>>>> /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2008x86_IA32_NASM_FLAGS  = -Ox -f win32 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2008x86_IA32_NASM_FLAGS  = -Ox -f win32
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2008x86_IA32_NASM_FLAGS    = -O0 -f win32 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2008x86_IA32_NASM_FLAGS  = -Ox -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2008x86_IA32_NASM_FLAGS  = -Ox -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2008x86_IA32_NASM_FLAGS    = -O0 -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2008x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2008x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -605,9 +605,9 @@ NOOPT_VS2008x86_X64_CC_FLAGS       = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE
>>>>>>>>> RELEASE_VS2008x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2008x86_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2008x86_X64_NASM_FLAGS   = -Ox -f win64 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2008x86_X64_NASM_FLAGS   = -Ox -f win64
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2008x86_X64_NASM_FLAGS     = -O0 -f win64 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2008x86_X64_NASM_FLAGS   = -Ox -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2008x86_X64_NASM_FLAGS   = -Ox -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2008x86_X64_NASM_FLAGS     = -O0 -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2008x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2008x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -688,9 +688,9 @@ NOOPT_VS2010_IA32_CC_FLAGS        = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE
>>>>>>>>> RELEASE_VS2010_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2010_IA32_ASM_FLAGS       = /nologo /c /WX /W3 /Cx /coff /Zd 
>>>>>>>>> /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2010_IA32_NASM_FLAGS    = -Ox -f win32 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2010_IA32_NASM_FLAGS    = -Ox -f win32
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2010_IA32_NASM_FLAGS      = -O0 -f win32 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2010_IA32_NASM_FLAGS    = -Ox -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2010_IA32_NASM_FLAGS    = -Ox -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2010_IA32_NASM_FLAGS      = -O0 -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2010_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2010_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -720,9 +720,9 @@ NOOPT_VS2010_X64_CC_FLAGS       = /nologo /c /WX 
>>>>>>>>> /GS- /W4 /Gs32768 /D UNICODE /G
>>>>>>>>> RELEASE_VS2010_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2010_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2010_X64_NASM_FLAGS   = -Ox -f win64 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2010_X64_NASM_FLAGS   = -Ox -f win64
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2010_X64_NASM_FLAGS     = -O0 -f win64 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2010_X64_NASM_FLAGS   = -Ox -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2010_X64_NASM_FLAGS   = -Ox -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2010_X64_NASM_FLAGS     = -O0 -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2010_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2010_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER 
>>>>>>>>> /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -799,9 +799,9 @@ NOOPT_VS2010x86_IA32_CC_FLAGS      = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE
>>>>>>>>> RELEASE_VS2010x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2010x86_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd 
>>>>>>>>> /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2010x86_IA32_NASM_FLAGS  = -Ox -f win32 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2010x86_IA32_NASM_FLAGS  = -Ox -f win32
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2010x86_IA32_NASM_FLAGS    = -O0 -f win32 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2010x86_IA32_NASM_FLAGS  = -Ox -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2010x86_IA32_NASM_FLAGS  = -Ox -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2010x86_IA32_NASM_FLAGS    = -O0 -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2010x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2010x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -831,9 +831,9 @@ NOOPT_VS2010x86_X64_CC_FLAGS       = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE
>>>>>>>>> RELEASE_VS2010x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2010x86_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2010x86_X64_NASM_FLAGS   = -Ox -f win64 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2010x86_X64_NASM_FLAGS   = -Ox -f win64
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2010x86_X64_NASM_FLAGS     = -O0 -f win64 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2010x86_X64_NASM_FLAGS   = -Ox -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2010x86_X64_NASM_FLAGS   = -Ox -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2010x86_X64_NASM_FLAGS     = -O0 -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2010x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2010x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -913,9 +913,9 @@ NOOPT_VS2012_IA32_CC_FLAGS        = /nologo 
>>>>>>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768
>>>>>>>>> RELEASE_VS2012_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2012_IA32_ASM_FLAGS       = /nologo /c /WX /W3 /Cx /coff /Zd 
>>>>>>>>> /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2012_IA32_NASM_FLAGS    = -Ox -f win32 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2012_IA32_NASM_FLAGS    = -Ox -f win32
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2012_IA32_NASM_FLAGS      = -O0 -f win32 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2012_IA32_NASM_FLAGS    = -Ox -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2012_IA32_NASM_FLAGS    = -Ox -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2012_IA32_NASM_FLAGS      = -O0 -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2012_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2012_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -945,9 +945,9 @@ NOOPT_VS2012_X64_CC_FLAGS       = /nologo /c /WX 
>>>>>>>>> /GS- /W4 /Gs32768 /D UNICODE /G
>>>>>>>>> RELEASE_VS2012_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2012_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2012_X64_NASM_FLAGS   = -Ox -f win64 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2012_X64_NASM_FLAGS   = -Ox -f win64
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2012_X64_NASM_FLAGS     = -O0 -f win64 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2012_X64_NASM_FLAGS   = -Ox -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2012_X64_NASM_FLAGS   = -Ox -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2012_X64_NASM_FLAGS     = -O0 -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2012_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2012_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER 
>>>>>>>>> /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1024,9 +1024,9 @@ NOOPT_VS2012x86_IA32_CC_FLAGS      = /nologo 
>>>>>>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768
>>>>>>>>> RELEASE_VS2012x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2012x86_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd 
>>>>>>>>> /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2012x86_IA32_NASM_FLAGS  = -Ox -f win32 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2012x86_IA32_NASM_FLAGS  = -Ox -f win32
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2012x86_IA32_NASM_FLAGS    = -O0 -f win32 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2012x86_IA32_NASM_FLAGS  = -Ox -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2012x86_IA32_NASM_FLAGS  = -Ox -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2012x86_IA32_NASM_FLAGS    = -O0 -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2012x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1056,9 +1056,9 @@ NOOPT_VS2012x86_X64_CC_FLAGS       = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE
>>>>>>>>> RELEASE_VS2012x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2012x86_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2012x86_X64_NASM_FLAGS   = -Ox -f win64 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2012x86_X64_NASM_FLAGS   = -Ox -f win64
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2012x86_X64_NASM_FLAGS     = -O0 -f win64 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2012x86_X64_NASM_FLAGS   = -Ox -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2012x86_X64_NASM_FLAGS   = -Ox -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2012x86_X64_NASM_FLAGS     = -O0 -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2012x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2012x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1138,9 +1138,9 @@ NOOPT_VS2013_IA32_CC_FLAGS        = /nologo 
>>>>>>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768
>>>>>>>>> RELEASE_VS2013_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2013_IA32_ASM_FLAGS       = /nologo /c /WX /W3 /Cx /coff /Zd 
>>>>>>>>> /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2013_IA32_NASM_FLAGS    = -Ox -f win32 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2013_IA32_NASM_FLAGS    = -Ox -f win32
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2013_IA32_NASM_FLAGS      = -O0 -f win32 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2013_IA32_NASM_FLAGS    = -Ox -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2013_IA32_NASM_FLAGS    = -Ox -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2013_IA32_NASM_FLAGS      = -O0 -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2013_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2013_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1170,9 +1170,9 @@ NOOPT_VS2013_X64_CC_FLAGS       = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE /G
>>>>>>>>> RELEASE_VS2013_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2013_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2013_X64_NASM_FLAGS   = -Ox -f win64 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2013_X64_NASM_FLAGS   = -Ox -f win64
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2013_X64_NASM_FLAGS     = -O0 -f win64 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2013_X64_NASM_FLAGS   = -Ox -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2013_X64_NASM_FLAGS   = -Ox -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2013_X64_NASM_FLAGS     = -O0 -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2013_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2013_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER 
>>>>>>>>> /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1249,9 +1249,9 @@ NOOPT_VS2013x86_IA32_CC_FLAGS      = /nologo 
>>>>>>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768
>>>>>>>>> RELEASE_VS2013x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2013x86_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd 
>>>>>>>>> /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2013x86_IA32_NASM_FLAGS  = -Ox -f win32 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2013x86_IA32_NASM_FLAGS  = -Ox -f win32
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2013x86_IA32_NASM_FLAGS    = -O0 -f win32 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2013x86_IA32_NASM_FLAGS  = -Ox -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2013x86_IA32_NASM_FLAGS  = -Ox -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2013x86_IA32_NASM_FLAGS    = -O0 -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2013x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2013x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1281,9 +1281,9 @@ NOOPT_VS2013x86_X64_CC_FLAGS       = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE
>>>>>>>>> RELEASE_VS2013x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2013x86_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2013x86_X64_NASM_FLAGS   = -Ox -f win64 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2013x86_X64_NASM_FLAGS   = -Ox -f win64
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2013x86_X64_NASM_FLAGS     = -O0 -f win64 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2013x86_X64_NASM_FLAGS   = -Ox -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2013x86_X64_NASM_FLAGS   = -Ox -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2013x86_X64_NASM_FLAGS     = -O0 -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2013x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2013x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1364,9 +1364,9 @@ NOOPT_VS2015_IA32_CC_FLAGS        = /nologo 
>>>>>>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768
>>>>>>>>> RELEASE_VS2015_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2015_IA32_ASM_FLAGS       = /nologo /c /WX /W3 /Cx /coff /Zd 
>>>>>>>>> /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2015_IA32_NASM_FLAGS    = -Ox -f win32 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2015_IA32_NASM_FLAGS    = -Ox -f win32
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2015_IA32_NASM_FLAGS      = -O0 -f win32 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2015_IA32_NASM_FLAGS    = -Ox -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2015_IA32_NASM_FLAGS    = -Ox -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2015_IA32_NASM_FLAGS      = -O0 -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2015_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2015_IA32_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1396,9 +1396,9 @@ NOOPT_VS2015_X64_CC_FLAGS       = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE /G
>>>>>>>>> RELEASE_VS2015_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2015_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2015_X64_NASM_FLAGS   = -Ox -f win64 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2015_X64_NASM_FLAGS   = -Ox -f win64
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2015_X64_NASM_FLAGS     = -O0 -f win64 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2015_X64_NASM_FLAGS   = -Ox -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2015_X64_NASM_FLAGS   = -Ox -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2015_X64_NASM_FLAGS     = -O0 -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2015_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2015_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER 
>>>>>>>>> /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1476,9 +1476,9 @@ NOOPT_VS2015x86_IA32_CC_FLAGS      = /nologo 
>>>>>>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768
>>>>>>>>> RELEASE_VS2015x86_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2015x86_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd 
>>>>>>>>> /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2015x86_IA32_NASM_FLAGS  = -Ox -f win32 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2015x86_IA32_NASM_FLAGS  = -Ox -f win32
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2015x86_IA32_NASM_FLAGS    = -O0 -f win32 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2015x86_IA32_NASM_FLAGS  = -Ox -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2015x86_IA32_NASM_FLAGS  = -Ox -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2015x86_IA32_NASM_FLAGS    = -O0 -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2015x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2015x86_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1508,9 +1508,9 @@ NOOPT_VS2015x86_X64_CC_FLAGS       = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE
>>>>>>>>> RELEASE_VS2015x86_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2015x86_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2015x86_X64_NASM_FLAGS   = -Ox -f win64 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2015x86_X64_NASM_FLAGS   = -Ox -f win64
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2015x86_X64_NASM_FLAGS     = -O0 -f win64 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2015x86_X64_NASM_FLAGS   = -Ox -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2015x86_X64_NASM_FLAGS   = -Ox -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2015x86_X64_NASM_FLAGS     = -O0 -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2015x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2015x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB 
>>>>>>>>> /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1586,9 +1586,9 @@ NOOPT_VS2017_IA32_CC_FLAGS      = /nologo 
>>>>>>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D
>>>>>>>>> RELEASE_VS2017_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2017_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2017_IA32_NASM_FLAGS  = -Ox -f win32 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2017_IA32_NASM_FLAGS  = -Ox -f win32
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2017_IA32_NASM_FLAGS    = -O0 -f win32 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2017_IA32_NASM_FLAGS  = -Ox -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2017_IA32_NASM_FLAGS  = -Ox -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2017_IA32_NASM_FLAGS    = -O0 -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2017_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2017_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER 
>>>>>>>>> /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1616,9 +1616,9 @@ NOOPT_VS2017_X64_CC_FLAGS       = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE /G
>>>>>>>>> RELEASE_VS2017_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2017_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2017_X64_NASM_FLAGS   = -Ox -f win64 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2017_X64_NASM_FLAGS   = -Ox -f win64
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2017_X64_NASM_FLAGS     = -O0 -f win64 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2017_X64_NASM_FLAGS   = -Ox -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2017_X64_NASM_FLAGS   = -Ox -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2017_X64_NASM_FLAGS     = -O0 -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2017_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /IGNORE:4281 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2017_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /IGNORE:4281 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1744,9 +1744,9 @@ NOOPT_VS2019_IA32_CC_FLAGS      = /nologo 
>>>>>>>>> /arch:IA32 /c /WX /GS- /W4 /Gs32768 /D
>>>>>>>>> RELEASE_VS2019_IA32_ASM_FLAGS   = /nologo /c /WX /W3 /Cx /coff /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2019_IA32_ASM_FLAGS     = /nologo /c /WX /W3 /Cx /coff /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2019_IA32_NASM_FLAGS  = -Ox -f win32 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2019_IA32_NASM_FLAGS  = -Ox -f win32
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2019_IA32_NASM_FLAGS    = -O0 -f win32 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2019_IA32_NASM_FLAGS  = -Ox -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2019_IA32_NASM_FLAGS  = -Ox -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2019_IA32_NASM_FLAGS    = -O0 -f win32 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2019_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2019_IA32_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /MACHINE:X86 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER 
>>>>>>>>> /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -1774,9 +1774,9 @@ NOOPT_VS2019_X64_CC_FLAGS       = /nologo /c 
>>>>>>>>> /WX /GS- /W4 /Gs32768 /D UNICODE /G
>>>>>>>>> RELEASE_VS2019_X64_ASM_FLAGS    = /nologo /c /WX /W3 /Cx /Zd
>>>>>>>>> 
>>>>>>>>> NOOPT_VS2019_X64_ASM_FLAGS      = /nologo /c /WX /W3 /Cx /Zd /Zi
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -  DEBUG_VS2019_X64_NASM_FLAGS   = -Ox -f win64 -g
>>>>>>>>> 
>>>>>>>>> -RELEASE_VS2019_X64_NASM_FLAGS   = -Ox -f win64
>>>>>>>>> 
>>>>>>>>> -NOOPT_VS2019_X64_NASM_FLAGS     = -O0 -f win64 -g
>>>>>>>>> 
>>>>>>>>> +  DEBUG_VS2019_X64_NASM_FLAGS   = -Ox -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +RELEASE_VS2019_X64_NASM_FLAGS   = -Ox -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> +NOOPT_VS2019_X64_NASM_FLAGS     = -O0 -f win64 -g 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_VS2019_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /IGNORE:4281 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D 
>>>>>>>>> /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) 
>>>>>>>>> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
>>>>>>>>> 
>>>>>>>>> RELEASE_VS2019_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 
>>>>>>>>> /IGNORE:4281 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 
>>>>>>>>> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL 
>>>>>>>>> /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER 
>>>>>>>>> /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>>>>>>>>> 
>>>>>>>>> @@ -2030,7 +2030,7 @@ DEFINE GCC_PP_FLAGS                        = -E 
>>>>>>>>> -x assembler-with-cpp -include A
>>>>>>>>> *_GCC48_IA32_DLINK2_FLAGS         = DEF(GCC48_IA32_DLINK2_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_GCC48_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_GCC48_IA32_OBJCOPY_FLAGS        =
>>>>>>>>> 
>>>>>>>>> -*_GCC48_IA32_NASM_FLAGS           = -f elf32
>>>>>>>>> 
>>>>>>>>> +*_GCC48_IA32_NASM_FLAGS           = -f elf32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rodata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_GCC48_IA32_CC_FLAGS       = DEF(GCC48_IA32_CC_FLAGS) -Os
>>>>>>>>> 
>>>>>>>>> RELEASE_GCC48_IA32_CC_FLAGS       = DEF(GCC48_IA32_CC_FLAGS) -Os 
>>>>>>>>> -Wno-unused-but-set-variable
>>>>>>>>> 
>>>>>>>>> @@ -2058,7 +2058,7 @@ RELEASE_GCC48_IA32_CC_FLAGS       = 
>>>>>>>>> DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but
>>>>>>>>> *_GCC48_X64_DLINK2_FLAGS         = DEF(GCC48_X64_DLINK2_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_GCC48_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_GCC48_X64_OBJCOPY_FLAGS        =
>>>>>>>>> 
>>>>>>>>> -*_GCC48_X64_NASM_FLAGS           = -f elf64
>>>>>>>>> 
>>>>>>>>> +*_GCC48_X64_NASM_FLAGS           = -f elf64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rodata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_GCC48_X64_CC_FLAGS       = DEF(GCC48_X64_CC_FLAGS) -Os
>>>>>>>>> 
>>>>>>>>> RELEASE_GCC48_X64_CC_FLAGS       = DEF(GCC48_X64_CC_FLAGS) -Os 
>>>>>>>>> -Wno-unused-but-set-variable
>>>>>>>>> 
>>>>>>>>> @@ -2170,7 +2170,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS   = 
>>>>>>>>> DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s
>>>>>>>>> *_GCC49_IA32_DLINK2_FLAGS         = DEF(GCC49_IA32_DLINK2_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_GCC49_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_GCC49_IA32_OBJCOPY_FLAGS        =
>>>>>>>>> 
>>>>>>>>> -*_GCC49_IA32_NASM_FLAGS           = -f elf32
>>>>>>>>> 
>>>>>>>>> +*_GCC49_IA32_NASM_FLAGS           = -f elf32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rodata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_GCC49_IA32_CC_FLAGS       = DEF(GCC49_IA32_CC_FLAGS) -Os
>>>>>>>>> 
>>>>>>>>> RELEASE_GCC49_IA32_CC_FLAGS       = DEF(GCC49_IA32_CC_FLAGS) -Os 
>>>>>>>>> -Wno-unused-but-set-variable -Wno-unused-const-variable
>>>>>>>>> 
>>>>>>>>> @@ -2198,7 +2198,7 @@ RELEASE_GCC49_IA32_CC_FLAGS       = 
>>>>>>>>> DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but
>>>>>>>>> *_GCC49_X64_DLINK2_FLAGS         = DEF(GCC49_X64_DLINK2_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_GCC49_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_GCC49_X64_OBJCOPY_FLAGS        =
>>>>>>>>> 
>>>>>>>>> -*_GCC49_X64_NASM_FLAGS           = -f elf64
>>>>>>>>> 
>>>>>>>>> +*_GCC49_X64_NASM_FLAGS           = -f elf64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rodata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_GCC49_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS) -Os
>>>>>>>>> 
>>>>>>>>> RELEASE_GCC49_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS) -Os 
>>>>>>>>> -Wno-unused-but-set-variable -Wno-unused-const-variable
>>>>>>>>> 
>>>>>>>>> @@ -2316,7 +2316,7 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS = -z 
>>>>>>>>> common-page-size=0x20
>>>>>>>>> *_GCC5_IA32_DLINK2_FLAGS         = DEF(GCC5_IA32_DLINK2_FLAGS) -no-pie
>>>>>>>>> 
>>>>>>>>> *_GCC5_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_GCC5_IA32_OBJCOPY_FLAGS        =
>>>>>>>>> 
>>>>>>>>> -*_GCC5_IA32_NASM_FLAGS           = -f elf32
>>>>>>>>> 
>>>>>>>>> +*_GCC5_IA32_NASM_FLAGS           = -f elf32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rodata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_GCC5_IA32_CC_FLAGS       = DEF(GCC5_IA32_CC_FLAGS) -flto -Os
>>>>>>>>> 
>>>>>>>>>   DEBUG_GCC5_IA32_DLINK_FLAGS    = DEF(GCC5_IA32_X64_DLINK_FLAGS) 
>>>>>>>>> -flto -Os -Wl,-m,elf_i386,--oformat=elf32-i386
>>>>>>>>> 
>>>>>>>>> @@ -2348,7 +2348,7 @@ RELEASE_GCC5_IA32_DLINK_FLAGS    = 
>>>>>>>>> DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,
>>>>>>>>> *_GCC5_X64_DLINK2_FLAGS          = DEF(GCC5_X64_DLINK2_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_GCC5_X64_RC_FLAGS              = DEF(GCC_X64_RC_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_GCC5_X64_OBJCOPY_FLAGS         =
>>>>>>>>> 
>>>>>>>>> -*_GCC5_X64_NASM_FLAGS            = -f elf64
>>>>>>>>> 
>>>>>>>>> +*_GCC5_X64_NASM_FLAGS            = -f elf64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rodata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_GCC5_X64_CC_FLAGS        = DEF(GCC5_X64_CC_FLAGS) -flto 
>>>>>>>>> -DUSING_LTO -Os
>>>>>>>>> 
>>>>>>>>>   DEBUG_GCC5_X64_DLINK_FLAGS     = DEF(GCC5_X64_DLINK_FLAGS) -flto -Os
>>>>>>>>> 
>>>>>>>>> @@ -2589,7 +2589,7 @@ DEFINE CLANG38_ALL_CC_FLAGS         = 
>>>>>>>>> DEF(GCC48_ALL_CC_FLAGS) DEF(CLANG38_WARNIN
>>>>>>>>> *_CLANG38_IA32_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m32 
>>>>>>>>> -march=i386 DEF(CLANG38_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANG38_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_CLANG38_IA32_OBJCOPY_FLAGS        =
>>>>>>>>> 
>>>>>>>>> -*_CLANG38_IA32_NASM_FLAGS           = -f elf32
>>>>>>>>> 
>>>>>>>>> +*_CLANG38_IA32_NASM_FLAGS           = -f elf32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rodata
>>>>>>>>> 
>>>>>>>>> *_CLANG38_IA32_PP_FLAGS             = DEF(GCC_PP_FLAGS) 
>>>>>>>>> DEF(CLANG38_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANG38_IA32_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) 
>>>>>>>>> DEF(CLANG38_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANG38_IA32_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) 
>>>>>>>>> DEF(CLANG38_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> @@ -2626,7 +2626,7 @@ NOOPT_CLANG38_IA32_DLINK2_FLAGS     = 
>>>>>>>>> DEF(GCC5_IA32_DLINK2_FLAGS) -O0
>>>>>>>>> *_CLANG38_X64_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m64 
>>>>>>>>> DEF(CLANG38_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANG38_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_CLANG38_X64_OBJCOPY_FLAGS        =
>>>>>>>>> 
>>>>>>>>> -*_CLANG38_X64_NASM_FLAGS           = -f elf64
>>>>>>>>> 
>>>>>>>>> +*_CLANG38_X64_NASM_FLAGS           = -f elf64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rodata
>>>>>>>>> 
>>>>>>>>> *_CLANG38_X64_PP_FLAGS             = DEF(GCC_PP_FLAGS) 
>>>>>>>>> DEF(CLANG38_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANG38_X64_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) 
>>>>>>>>> DEF(CLANG38_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANG38_X64_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) 
>>>>>>>>> DEF(CLANG38_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> @@ -2777,7 +2777,7 @@ DEFINE CLANGPDB_ALL_CC_FLAGS         = 
>>>>>>>>> DEF(GCC48_ALL_CC_FLAGS) DEF(CLANGPDB_WARN
>>>>>>>>> *_CLANGPDB_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32 
>>>>>>>>> -fno-lto DEF(CLANGPDB_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGPDB_IA32_ASM_FLAGS            = DEF(GCC_ASM_FLAGS) -m32 
>>>>>>>>> -march=i386 DEF(CLANGPDB_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGPDB_IA32_OBJCOPY_FLAGS        =
>>>>>>>>> 
>>>>>>>>> -*_CLANGPDB_IA32_NASM_FLAGS           = -f win32
>>>>>>>>> 
>>>>>>>>> +*_CLANGPDB_IA32_NASM_FLAGS           = -f win32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> *_CLANGPDB_IA32_PP_FLAGS             = DEF(GCC_PP_FLAGS) 
>>>>>>>>> DEF(CLANGPDB_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGPDB_IA32_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) 
>>>>>>>>> DEF(CLANGPDB_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGPDB_IA32_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) 
>>>>>>>>> DEF(CLANGPDB_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> @@ -2811,7 +2811,7 @@ NOOPT_CLANGPDB_IA32_DLINK2_FLAGS     =
>>>>>>>>> *_CLANGPDB_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64 
>>>>>>>>> -fno-lto DEF(CLANGPDB_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGPDB_X64_ASM_FLAGS            = DEF(GCC_ASM_FLAGS) -m64 
>>>>>>>>> DEF(CLANGPDB_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGPDB_X64_OBJCOPY_FLAGS        =
>>>>>>>>> 
>>>>>>>>> -*_CLANGPDB_X64_NASM_FLAGS           = -f win64
>>>>>>>>> 
>>>>>>>>> +*_CLANGPDB_X64_NASM_FLAGS           = -f win64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rdata
>>>>>>>>> 
>>>>>>>>> *_CLANGPDB_X64_PP_FLAGS             = DEF(GCC_PP_FLAGS) 
>>>>>>>>> DEF(CLANGPDB_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGPDB_X64_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) 
>>>>>>>>> DEF(CLANGPDB_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGPDB_X64_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) 
>>>>>>>>> DEF(CLANGPDB_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> @@ -2878,7 +2878,7 @@ DEFINE CLANGDWARF_X64_DLINK2_FLAGS        = 
>>>>>>>>> -Wl,--defsym=PECOFF_HEADER_SIZE=0x22
>>>>>>>>> *_CLANGDWARF_IA32_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m32 
>>>>>>>>> -march=i386 DEF(CLANG38_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGDWARF_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_CLANGDWARF_IA32_OBJCOPY_FLAGS        =
>>>>>>>>> 
>>>>>>>>> -*_CLANGDWARF_IA32_NASM_FLAGS           = -f elf32
>>>>>>>>> 
>>>>>>>>> +*_CLANGDWARF_IA32_NASM_FLAGS           = -f elf32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rodata
>>>>>>>>> 
>>>>>>>>> *_CLANGDWARF_IA32_PP_FLAGS             = DEF(GCC_PP_FLAGS) 
>>>>>>>>> DEF(CLANG38_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGDWARF_IA32_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) 
>>>>>>>>> DEF(CLANG38_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGDWARF_IA32_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) 
>>>>>>>>> DEF(CLANG38_IA32_TARGET)
>>>>>>>>> 
>>>>>>>>> @@ -2914,7 +2914,7 @@ NOOPT_CLANGDWARF_IA32_DLINK2_FLAGS     = 
>>>>>>>>> DEF(CLANGDWARF_IA32_DLINK2_FLAGS) -O0 -
>>>>>>>>> *_CLANGDWARF_X64_ASM_FLAGS            = DEF(GCC5_ASM_FLAGS) -m64 
>>>>>>>>> DEF(CLANG38_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGDWARF_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
>>>>>>>>> 
>>>>>>>>> *_CLANGDWARF_X64_OBJCOPY_FLAGS        =
>>>>>>>>> 
>>>>>>>>> -*_CLANGDWARF_X64_NASM_FLAGS           = -f elf64
>>>>>>>>> 
>>>>>>>>> +*_CLANGDWARF_X64_NASM_FLAGS           = -f elf64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rodata
>>>>>>>>> 
>>>>>>>>> *_CLANGDWARF_X64_PP_FLAGS             = DEF(GCC_PP_FLAGS) 
>>>>>>>>> DEF(CLANG38_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGDWARF_X64_ASLPP_FLAGS          = DEF(GCC_ASLPP_FLAGS) 
>>>>>>>>> DEF(CLANG38_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> *_CLANGDWARF_X64_VFRPP_FLAGS          = DEF(GCC_VFRPP_FLAGS) 
>>>>>>>>> DEF(CLANG38_X64_TARGET)
>>>>>>>>> 
>>>>>>>>> @@ -2985,7 +2985,7 @@ RELEASE_XCODE5_IA32_DLINK_FLAGS      = -arch 
>>>>>>>>> i386 -u _$(IMAGE_ENTRY_POINT) -e _$
>>>>>>>>>   DEBUG_XCODE5_IA32_ASM_FLAGS  = -arch i386 -g
>>>>>>>>> 
>>>>>>>>>   NOOPT_XCODE5_IA32_ASM_FLAGS  = -arch i386 -g
>>>>>>>>> 
>>>>>>>>> RELEASE_XCODE5_IA32_ASM_FLAGS  = -arch i386
>>>>>>>>> 
>>>>>>>>> -      *_XCODE5_IA32_NASM_FLAGS = -f macho32
>>>>>>>>> 
>>>>>>>>> +      *_XCODE5_IA32_NASM_FLAGS = -f macho32 
>>>>>>>>> -DRODATA_SECTION_NAME=.rodata
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> An EFI Mach-O file does not contain a .rodata section. A Mach-O 
>>>>>>>> contains a __DATA segment that is broken up into sections. For a 
>>>>>>>> typical EFI image there are __const, __data, __bss sections in the 
>>>>>>>> __DATA segment [1].
>>>>>>> Yes, and ".rodata" is almost a synonym for "__DATA,__const", with a 
>>>>>>> small exception [1]. Maybe it'd be clearer if the macro was renamed to 
>>>>>>> "NASM_RODATA_SECTION_NAME", to indicate this is not just a "raw" name, 
>>>>>>> but NASM gives it a semantic meaning?
>>>>>>> 
>>>>>>>> The mtoc [2] tool used to convert mach-O to PE/COFF converts the 
>>>>>>>> entire __DATA segment (__const, __data, and __bss) into the .data 
>>>>>>>> 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 
>>>>>>> hand, so thanks for investigating. However this, in my opinion, is a 
>>>>>>> flaw with Mach-O/mtoc and not with my patch. It seems like the only 
>>>>>>> difference between __TEXT,__const and __DATA,__const is whether the 
>>>>>>> data is targeted by a relocation or not. Such a concept does not exist 
>>>>>>> for PE/COFF (and I think not even for ELF, but I'm not too familiar 
>>>>>>> with it), thus the logical PE/COFF section __DATA,__const should be 
>>>>>>> merged into is .rdata (and .rdata may or may not be merged into .text 
>>>>>>> in an earlier step, I assume transitivity). I could change the macro 
>>>>>>> definition to explicitly declare __TEXT,__const, but that would still 
>>>>>>> put the compiler-emitted data in the wrong section. Does Xcode provide 
>>>>>>> anything remotely similar to GNU linker scripts which we can use to 
>>>>>>> move the section?
>>>>>>> 
>>>>>>> Please also note that .rodata is used for Xcode-based toolchains 
>>>>>>> already (in fact, all toolchains, and this is the issue), I'm not 
>>>>>>> regressing anything. I just expected it to work fine as-is. This patch 
>>>>>>> mainly fixed PE/COFF-based toolchains, which get both .rdata from the 
>>>>>>> compiler and .rodata with RX permissions from NASM, because ".rodata" 
>>>>>>> only has a semantic meaning for ELF and Mach-O outputs, but not for 
>>>>>>> PE/COFF.
>>>>>>> 
>>>>>>>> If you want something to be read only for Xcode/clang you are better 
>>>>>>>> off putting it in the __TEXT section [3]. The __TEXT section is read 
>>>>>>>> only and for X64 can not even contain relocations.
>>>>>>> Well, this kind of is an issue. We would need to introduce an arbitrary 
>>>>>>> constraint on the relocation part that holds only for Xcode-based 
>>>>>>> toolchains. Does the compiler emit an error when data in __TEXT,__const 
>>>>>>> is targeted by a relocation?
>>>>>> The Xcode linker emits a fatal error on X64 for a relocation in the 
>>>>>> __TEXT section, everything needs to be RIP relative and the compiler 
>>>>>> does that for free. We generally only run into this for hand coded 
>>>>>> assembler and the fix is to use RIP relative addressing in the assembly.
>>>>> Good, thanks for confirming! Still, this would be a bit of an awkward 
>>>>> constraints for Xcode only.
>>>>> 
>>>> It is a physics problem we can’t fix, so I end up writing some patches to 
>>>> fix other peoples assembler from time to time. The CI building with Xcode 
>>>> helps with this a lot.
>>> 
>>> (I think all open ends of the other threads are in here too, so let's drop 
>>> them and go on only here?)
>>> 
>>> Right, ok, thanks!
>>> 
>>>>>>> Also see above regarding compiler-emitted __DATA,__const.
>>>>>>> 
>>>>>> OK so the current nasm `SECTION .rodata`[1]  gets mapped to 
>>>>>> __TEXT,__const[2] for Xcode clang, and this is done by nasm (I dumped 
>>>>>> the object file). GenFw and mtoc only run on executables, also they tend 
>>>>>> to be conservative as they need to keep the layout the same and the 
>>>>>> relative layout between sections the same, but in this case it is nasm 
>>>>>> placing the data in the text section.
>>>>>> 
>>>>>> So what I’d like to see in the patch is to define RODATA_SECTION_NAME to 
>>>>>> match what is actually happening. So for XCODE that would be 
>>>>>> `__TEXT,__const` not `.rodata`.
>>>>> We can do that, but what to do about compiler-emitted __DATA,__const?
>>>> Sorry I don’t understand what RODATA_SECTION_NAME has to do with the 
>>>> compiler? I thought it was for nasm?
>>> 
>>> Yes, it is for NASM. My point is, the actual issue is not that my macro 
>>> uses __DATA,__const, but that __DATA,__const is not merged into .text, but 
>>> into .data. Fixing the macro fixes where the NASM definitions go, but what 
>>> about the C definitions? I cannot test it, as I said, because I don't have 
>>> an Xcode machine, but let's say we have a stupid example like this:
>>> 
>>> volatile UINT32 a;
>>> volatile UINT32 *CONST p = &a;
>>> 
>> 
>> In this case p ends up in a __DATA__,__const section since &a requires a 
>> relocation.
> 
> OK, good, thanks!
> 
>> 
>> 
>>> The value of p is constant, so it can be placed in a constant data section. 
>>> p points to a global variable, so if the compiler does not manage to 
>>> somehow turn this into relative addressing (let's assume it does not), it 
>>> needs to generate a relocation. This means the compiler cannot put it in 
>>> __TEXT,__const, so it has to put it in __DATA,__const (of course it could 
>>> put it in other __DATA sections, but let's assume the compiler agrees this 
>>> should be read-only). The very same issue will arise and no matter the 
>>> choice of the compiler, this will end up in .data. Do you agree? Or do we 
>>> have some guarantee that Apple Clang cannot emit __DATA,__const?
>> 
>> I don’t see your bigger point. The compiler is free to implement as it sees 
>> fit. Which section some code ends up in is more of an implementation detail 
>> for the compiler, and we can’t really depend on that?
> 
> Your point, rightfully, was that things that we request to be read-only (may) 
> end up being read-write. My issue is that, if the compiler requests this 
> pointer to be read-only (it may not, but also it may), our PE executable does 
> not honour it either. __DATA,__const is a section for constant data, and we 
> put it into a read-write section. The bigger point is, whenever the compile 
> stack wants something read-only (be that NASM or be that Apple Clang, 
> anything really), we should actually ensure it is read-only. I can do that 
> for only NASM by forcing the __TEXT,__const section name (at the cost of 
> prohibiting relocs), but I do not know how to do it for Apple Clang. At worst 
> we could take a hacked-ish solution, where all Mach-O segments are converted 
> to PE/COFF sections - with the exception of the __DATA,__const section, 
> which, if aligned on a segment alignment boundary, can be inserted between 
> the two other parts .data is split into. I read in the XNU source that the 
> ARM protection code does something roughly like this [1], but I'm really far 
> from well-versed in the deep details of macOS.
> 
> Sorry for this not being "integrated" in above text, but I found two more 
> things while looking for citation 1.
> 
> 1) Mach-O sections can be renamed, including the preceding segment name [2]. 
> According to the very next line, the example actually creates a new segment. 
> Does it allow merging into another, existing segment? What if I did something 
> like:
> 
> -Wl,-rename_section,__DATA,__const,__TEXT,__const2
> 
> or even
> 
> -Wl,-rename_section,__DATA,__const,__TEXT,__const
> 
> i.e. can it merge two sections together? if __DATA,__const had data with 
> relocs, would the renaming trigger the "no relocs" error of __TEXT, or does 
> that happen before section renaming? Any chance it can be turned off?
> 
> 1.1) Actually, for the standalone .rodata section, we can just rename it to 
> __DATA_CONST,__const, as I have seen elsewhere in XNU. No hacked-ish solution 
> needed. :)
> 
> 2) We actually can force the compiler to put data in the constant data 
> segment [3]. This is of course not used in EDK II, and probably neither 
> portable nor necessary, but an interesting detail. I really think we should 
> honour it either way.
> 
> I will likely try to get my hands on some sort of Apple development 
> environment soon, but I cannot promise much right now. I think it really is 
> better if I can test through all toolchains myself. If you release Apple 
> Clang for Linux, I also won't complain of course. :)
> 

When I ask compiler questions to my compiler peeps they sometime answer via: 
https://godbolt.org. You can pas -emit-llvm, -S, or actually run code all from 
the webpage. It lets you compare the output of lots of versions of clang and 
compare it with other compilers too. You might find that useful for your 
research. 

For EFI/EDKII clang is mostly just clang (strange triple for x86_64). It is 
ld64 that is macOS specific, and there is not  cross version of ld64 that I 
know about. 

FYI I worked really closely with the owner of ld64, Nick, when we got EFI 
working. What looks like the strange set of args is what is required to make 
ld64 “do the right thing”. The biggest portability issue with ld64 is it does 
not support the GCC ld linker scripts.


I think I’ve forgotten to mention one, relevant, historical point. One of the 
reasons that sections got collapsed together was to save size. This is the same 
reason you see the page size/section alignment set to 0x20 (32 bytes). 32 bytes 
was the smallest alignment the VC++ would support back in the day. In recent 
times the runtime code got converted to 4K section alignment so the OS could 
provide better page based protection. That ended up not being too bad as all 
that code is stored compressed, and it compresses well. Usually the biggest 
size risk is PEI as it is common for chunks of that code to run directly from 
ROM, and you would be surprised how much complexity can be involved in turning 
on DRAM, and that makes for larger PEIMs. 

Thanks,

Andrew Fish

>> 
>>> 
>>>>>> We should double check what is happening for ELF on x86, ARM, RiskV, 
>>>>>> etc. and do the same thing. I assume all the tools that generate PE/COFF 
>>>>>> directly are good with .rodata?
>>>>> They are not, that is the whole point of the patch in its current shape. 
>>>>> .rodata is valid for ELF and Mach-O, PE/COFF needs .rdata.
>>>>> 
>>>>>> I think it is likely as simple as dumping the EFL object file in objdump 
>>>>>> or gdb for the given toolchain (like my Xcode example).
>>>>>> 
>>>>>> TL;DR It looks to me like nasm does some SECTION translations under the 
>>>>>> hood to make code portable, and I’d like to make sure we capture those 
>>>>>> in the new NASM_RODATA_SECTION_NAME. If some one is doing a security 
>>>>>> review having NASM_RODATA_SECTION_NAME is going to imply that a .rodata 
>>>>>> section is being used by that specific toolchain, and I think that is 
>>>>>> much worse than the current “magic” behavior in nasm. We are much better 
>>>>>> off explaining what is really happening, since it is not very obvious.
>>>>> I feel like I'm too tired to get the point. Do you mean you want comments 
>>>>> whenever this section name is used? Or comments in tools_def?
>>>>> 
>>>> I think I’d settle for a more descriptive commit comment that better 
>>>> defines what the define means like I mentioned in the other mail.
>>> 
>>> Hmm no, we can do that too, but in that case I really want comments in the 
>>> code. tools_def is not really documented at all, maybe it is time to 
>>> introduce an example comment so at least new things get commented? Maybe 
>>> just the start of a macro list. Relying on "git blame" to figure out simple 
>>> things is rather awful.
>>> 
>>> One more thing from another thread: Yes, the new macro should refer to 
>>> object file section naming. I want this patch to get object file sections 
>>> proper and sound. From there on we can fix the linking stage to emit proper 
>>> and sound executables in a later patch.
>>> 
>> 
>> OK then please refactor the commit message to make it clear that this patch 
>> is to get the correct section in the object files, and work is still need to 
>> get this into executable images.
> 
> Sure.
> 
>> 
>> For Xcode you can make it __DATA__,__const since that is the closest thing 
>> to read only data and I think that is your intent.
> 
> I would like to do that, but only if we can ensure __DATA,__const is merged 
> into .text, or is a separate RNX section.
> 
>> 
>> GenFW is part of EDKII BaseTools and mtoc is part of the open source CCTOOLS 
>> project and both those tools would need to be modified to create a .rodata 
>> section in PE/COFF.
> 
> Yes, that should not be a big problem. Remaining issues for me:
> 1) How to merge __DATA,__const into .text, or how to emit a standalone 
> .rodata section, for Xcode-based toolchains? (Some ideas above, will ping 
> Vitaly soon as well)
> 2) How to submit modified mtoc? Any chance it could be maintained in EDK II 
> like GenFw? (Would be nice if you could provide some insight)
> 3) How to merge .rdata into .text for MSVC? (I will try to research this 
> soon-ish, but no promises)
> 4) How to design a toggle for the platform maintainer to choose between .text 
> merge and standalone .rodata?
> 
> Please note that I'm not asking you to research any of those questions (but 
> 2) would be nice :) ), this is merely a summary of open points till the 
> second stage (correct executables, not just correct object sections) can be 
> properly approached.
> 
> Thanks for your time and insight!
> 
> Best regards,
> Marvin
> 
> 
> [1] 
> https://github.com/apple/darwin-xnu/blob/a1babec6b135d1f35b2590a1990af3c5c5393479/osfmk/arm/arm_vm_init.c#L318-L324
> 
> [2] 
> https://github.com/apple/darwin-xnu/blob/2ff845c2e033bd0ff64b5b6aa6063a1f8f65aa32/makedefs/MakeInc.def#L578
> 
> [3] 
> https://github.com/apple/darwin-xnu/blob/8f02f2a044b9bb1ad951987ef5bab20ec9486310/libsa/lastkerneldataconst.c#L48
> 
>> 
>> Thanks,
>> 
>> Andrew Fish
>> 
>>> Best regards,
>>> Marvin
>>> 
>>>> 
>>>> Thanks,
>>>> 
>>>> Andrew Fish
>>>> 
>>>>> Best regards,
>>>>> Marvin
>>>>> 
>>>>>> [1] 
>>>>>> https://github.com/tianocore/edk2/blob/master/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.nasm#L14
>>>>>>  
>>>>>> <https://github.com/tianocore/edk2/blob/master/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.nasm#L14>
>>>>>>  
>>>>>> <https://github.com/tianocore/edk2/blob/master/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.nasm#L14
>>>>>>  
>>>>>> <https://github.com/tianocore/edk2/blob/master/UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.nasm#L14>>
>>>>>> 
>>>>>> [2] $otool -V -s __TEXT 
>>>>>> __constBuild/OvmfX64/DEBUG_XCODE5/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/OUTPUT/X64/InitializeFpu.obj
>>>>>> Build//OvmfX64/DEBUG_XCODE5/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/OUTPUT/X64/InitializeFpu.obj:
>>>>>> Contents of (__TEXT,__const) section
>>>>>> 0000001d  7f 03 80 1f 00 00
>>>>>> 
>>>>>> $ otool -l 
>>>>>> Build//OvmfX64/DEBUG_XCODE5/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/OUTPUT/X64/InitializeFpu.obj
>>>>>> Build/OvmfX64/DEBUG_XCODE5/X64/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib/OUTPUT/X64/InitializeFpu.obj:
>>>>>> Load command 0
>>>>>>       cmd LC_SEGMENT_64
>>>>>>   cmdsize 232
>>>>>>   segname
>>>>>>    vmaddr 0x0000000000000000
>>>>>>    vmsize 0x0000000000000026
>>>>>>   fileoff 288
>>>>>>  filesize 38
>>>>>>   maxprot 0x00000007
>>>>>>  initprot 0x00000007
>>>>>>    nsects 2
>>>>>>     flags 0x0
>>>>>> Section
>>>>>>   sectname __text
>>>>>>    segname __TEXT
>>>>>>       addr 0x0000000000000000
>>>>>>       size 0x000000000000001d
>>>>>>     offset 288
>>>>>>      align 2^0 (1)
>>>>>>     reloff 328
>>>>>>     nreloc 2
>>>>>>      flags 0x80000500
>>>>>>  reserved1 0
>>>>>>  reserved2 0
>>>>>> Section
>>>>>>   sectname __const
>>>>>>    segname __TEXT
>>>>>>       addr 0x000000000000001d
>>>>>>       size 0x0000000000000006
>>>>>>     offset 320
>>>>>>      align 2^0 (1)
>>>>>>     reloff 0
>>>>>>     nreloc 0
>>>>>>      flags 0x00000000
>>>>>>  reserved1 0
>>>>>>  reserved2 0
>>>>>> Load command 1
>>>>>>      cmd LC_SYMTAB
>>>>>>  cmdsize 24
>>>>>>   symoff 344
>>>>>>    nsyms 3
>>>>>>   stroff 392
>>>>>>  strsize 63
>>>>>> 
>>>>>> Thanks,
>>>>>> 
>>>>>> Andrew Fish
>>>>>> 
>>>>>> 
>>>>>>> Thanks for your notes and insight!
>>>>>>> 
>>>>>>> Best regards,
>>>>>>> Marvin
>>>>>>> 
>>>>>>> 
>>>>>>> [1]
>>>>>>> "For compatibility with other Unix platforms, the following standard 
>>>>>>> names are also supported:
>>>>>>> [...]
>>>>>>> .rodata  = __DATA,__const data
>>>>>>> [...]
>>>>>>> If the .rodata section contains no relocations, it is instead put into 
>>>>>>> the __TEXT,__const section unless this section has already been 
>>>>>>> specified explicitly."
>>>>>>> https://www.nasm.us/xdoc/2.13.01/html/nasmdoc7.html 
>>>>>>> <https://www.nasm.us/xdoc/2.13.01/html/nasmdoc7.html> 
>>>>>>> <https://www.nasm.us/xdoc/2.13.01/html/nasmdoc7.html 
>>>>>>> <https://www.nasm.us/xdoc/2.13.01/html/nasmdoc7.html>>
>>>>>>> 
>>>>>>>> [1] otool -lh DxeCore.dll
>>>>>>>> ...
>>>>>>>> Load command 1
>>>>>>>>       cmd LC_SEGMENT_64
>>>>>>>>   cmdsize 312
>>>>>>>>   segname __DATA
>>>>>>>>    vmaddr 0x000000000002b000
>>>>>>>>    vmsize 0x0000000000147000
>>>>>>>>   fileoff 180224
>>>>>>>>  filesize 8192
>>>>>>>>   maxprot 0x00000003
>>>>>>>>  initprot 0x00000003
>>>>>>>>    nsects 3
>>>>>>>>     flags 0x0
>>>>>>>> Section
>>>>>>>>   sectname __const
>>>>>>>>    segname __DATA
>>>>>>>>       addr 0x000000000002b000
>>>>>>>>       size 0x0000000000000718
>>>>>>>>     offset 180224
>>>>>>>>      align 2^4 (16)
>>>>>>>>     reloff 0
>>>>>>>>     nreloc 0
>>>>>>>>      flags 0x00000000
>>>>>>>>  reserved1 0
>>>>>>>>  reserved2 0
>>>>>>>> Section
>>>>>>>>   sectname __data
>>>>>>>>    segname __DATA
>>>>>>>>       addr 0x000000000002b720
>>>>>>>>       size 0x00000000000014f0
>>>>>>>>     offset 182048
>>>>>>>>      align 2^4 (16)
>>>>>>>>     reloff 0
>>>>>>>>     nreloc 0
>>>>>>>>      flags 0x00000000
>>>>>>>>  reserved1 0
>>>>>>>>  reserved2 0
>>>>>>>> Section
>>>>>>>>   sectname __bss
>>>>>>>>    segname __DATA
>>>>>>>>       addr 0x000000000002cc10
>>>>>>>>       size 0x0000000000144e11
>>>>>>>>     offset 0
>>>>>>>>      align 2^4 (16)
>>>>>>>>     reloff 0
>>>>>>>>     nreloc 0
>>>>>>>>      flags 0x00000001
>>>>>>>>  reserved1 0
>>>>>>>>  reserved2 0
>>>>>>>> …
>>>>>>>> 
>>>>>>>> [2] 
>>>>>>>> https://opensource.apple.com/source/cctools/cctools-698/efitools/mtoc.c.auto.html
>>>>>>>>  
>>>>>>>> <https://opensource.apple.com/source/cctools/cctools-698/efitools/mtoc.c.auto.html>
>>>>>>>>  
>>>>>>>> <https://opensource.apple.com/source/cctools/cctools-698/efitools/mtoc.c.auto.html
>>>>>>>>  
>>>>>>>> <https://opensource.apple.com/source/cctools/cctools-698/efitools/mtoc.c.auto.html>>
>>>>>>>> 
>>>>>>>> [3] otool more output…
>>>>>>>> Load command 0
>>>>>>>>       cmd LC_SEGMENT_64
>>>>>>>>   cmdsize 392
>>>>>>>>   segname __TEXT
>>>>>>>>    vmaddr 0x0000000000000240
>>>>>>>>    vmsize 0x00000000000296c0
>>>>>>>>   fileoff 1184
>>>>>>>>  filesize 169664
>>>>>>>>   maxprot 0x00000005
>>>>>>>>  initprot 0x00000005
>>>>>>>>    nsects 4
>>>>>>>>     flags 0x0
>>>>>>>> Section
>>>>>>>>   sectname __text
>>>>>>>>    segname __TEXT
>>>>>>>>       addr 0x0000000000000240
>>>>>>>>       size 0x000000000002489f
>>>>>>>>     offset 1184
>>>>>>>>      align 2^3 (8)
>>>>>>>>     reloff 0
>>>>>>>>     nreloc 0
>>>>>>>>      flags 0x80000400
>>>>>>>>  reserved1 0
>>>>>>>>  reserved2 0
>>>>>>>> Section
>>>>>>>>   sectname __cstring
>>>>>>>>    segname __TEXT
>>>>>>>>       addr 0x0000000000024ae0
>>>>>>>>       size 0x000000000000496d
>>>>>>>>     offset 150848
>>>>>>>>      align 2^4 (16)
>>>>>>>>     reloff 0
>>>>>>>>     nreloc 0
>>>>>>>>      flags 0x00000002
>>>>>>>>  reserved1 0
>>>>>>>>  reserved2 0
>>>>>>>> Section
>>>>>>>>   sectname __ustring
>>>>>>>>    segname __TEXT
>>>>>>>>       addr 0x000000000002944e
>>>>>>>>       size 0x0000000000000048
>>>>>>>>     offset 169646
>>>>>>>>      align 2^1 (2)
>>>>>>>>     reloff 0
>>>>>>>>     nreloc 0
>>>>>>>>      flags 0x00000000
>>>>>>>>  reserved1 0
>>>>>>>>  reserved2 0
>>>>>>>> Section
>>>>>>>>   sectname __const
>>>>>>>>    segname __TEXT
>>>>>>>>       addr 0x00000000000294a0
>>>>>>>>       size 0x0000000000000448
>>>>>>>>     offset 169728
>>>>>>>>      align 2^4 (16)
>>>>>>>>     reloff 0
>>>>>>>>     nreloc 0
>>>>>>>>      flags 0x00000000
>>>>>>>>  reserved1 0
>>>>>>>>  reserved2 0
>>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> 
>>>>>>>> Andrew Fish
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>   DEBUG_XCODE5_IA32_CC_FLAGS   = -arch i386 -c -g -Os       -Wall 
>>>>>>>>> -Werror -include AutoGen.h -funsigned-char -fno-stack-protector 
>>>>>>>>> -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic 
>>>>>>>>> -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter 
>>>>>>>>> -Wno-missing-braces -Wno-missing-field-initializers 
>>>>>>>>> -Wno-tautological-compare -Wno-sign-compare -Wno-varargs 
>>>>>>>>> -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang 
>>>>>>>>> $(PLATFORM_FLAGS)
>>>>>>>>> 
>>>>>>>>> @@ -3003,7 +3003,7 @@ RELEASE_XCODE5_X64_DLINK_FLAGS      = -arch 
>>>>>>>>> x86_64 -u _$(IMAGE_ENTRY_POINT) -e _
>>>>>>>>>   DEBUG_XCODE5_X64_ASM_FLAGS  = -arch x86_64 -g
>>>>>>>>> 
>>>>>>>>>   NOOPT_XCODE5_X64_ASM_FLAGS  = -arch x86_64 -g
>>>>>>>>> 
>>>>>>>>> RELEASE_XCODE5_X64_ASM_FLAGS  = -arch x86_64
>>>>>>>>> 
>>>>>>>>> -      *_XCODE5_X64_NASM_FLAGS = -f macho64
>>>>>>>>> 
>>>>>>>>> +      *_XCODE5_X64_NASM_FLAGS = -f macho64 
>>>>>>>>> -DRODATA_SECTION_NAME=.rodata
>>>>>>>>> 
>>>>>>>>> *_XCODE5_*_PP_FLAGS         = -E -x assembler-with-cpp -include 
>>>>>>>>> AutoGen.h
>>>>>>>>> 
>>>>>>>>> *_XCODE5_*_VFRPP_FLAGS      = -x c -E -P -DVFRCOMPILE -include 
>>>>>>>>> $(MODULE_NAME)StrDefs.h
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> 2.31.1
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>> 
>>> 
>>> 
>>> 
>> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#79210): https://edk2.groups.io/g/devel/message/79210
Mute This Topic: https://groups.io/mt/84764902/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to