From: "Marvin Häuser" <mhaeuser@posteo.de>
To: devel@edk2.groups.io, afish@apple.com
Cc: Bob Feng <bob.c.feng@intel.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
Yuwei Chen <yuwei.chen@intel.com>,
Vitaly Cheptsov <vit9696@protonmail.com>
Subject: Re: [edk2-devel] [PATCH v2 1/2] BaseTools: Define the read-only data section name per toolchain
Date: Tue, 10 Aug 2021 21:30:00 +0000 [thread overview]
Message-ID: <215befc7-a214-7c1d-4bba-94442d3f56aa@posteo.de> (raw)
In-Reply-To: <15D26D2D-D4E8-485A-B40F-A89B3C67BF37@apple.com>
On 10/08/2021 21:35, Andrew Fish via groups.io wrote:
>
>
>> On Aug 10, 2021, at 1:27 AM, Marvin Häuser <mhaeuser@posteo.de
>> <mailto:mhaeuser@posteo.de>> wrote:
>>
>> On 10/08/2021 06:19, Andrew Fish via groups.io <http://groups.io> wrote:
>>>
>>>
>>>> On Aug 9, 2021, at 2:51 AM, Marvin Häuser <mhaeuser@posteo.de
>>>> <mailto:mhaeuser@posteo.de> <mailto:mhaeuser@posteo.de
>>>> <mailto:mhaeuser@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>>
>>>>
>>>> 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.feng@intel.com <mailto:bob.c.feng@intel.com>
>>>> <mailto:bob.c.feng@intel.com <mailto:bob.c.feng@intel.com>>>
>>>> Cc: Liming Gao <gaoliming@byosoft.com.cn
>>>> <mailto:gaoliming@byosoft.com.cn> <mailto:gaoliming@byosoft.com.cn
>>>> <mailto:gaoliming@byosoft.com.cn>>>
>>>> Cc: Yuwei Chen <yuwei.chen@intel.com <mailto:yuwei.chen@intel.com>
>>>> <mailto:yuwei.chen@intel.com <mailto:yuwei.chen@intel.com>>>
>>>> Cc: Vitaly Cheptsov <vit9696@protonmail.com
>>>> <mailto:vit9696@protonmail.com> <mailto:vit9696@protonmail.com
>>>> <mailto:vit9696@protonmail.com>>>
>>>> Signed-off-by: Marvin Häuser <mhaeuser@posteo.de
>>>> <mailto:mhaeuser@posteo.de> <mailto:mhaeuser@posteo.de
>>>> <mailto:mhaeuser@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.
>
>> 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?
> 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?
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>
>
> [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>
>>
>>>
>>> [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>
>>>
>>>
>>> [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
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>
>
>
next prev parent reply other threads:[~2021-08-10 21:30 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-09 9:51 [PATCH v2 0/7] Fix various issues regarding DebugImageInfoTable Marvin Häuser
2021-08-09 9:51 ` [PATCH v2 1/2] BaseTools: Define the read-only data section name per toolchain Marvin Häuser
2021-08-09 9:51 ` [PATCH v2 2/2] UefiCpuPkg/BaseUefiCpuLib: Use toolchain-specific rodata section name Marvin Häuser
2021-08-10 2:43 ` Ni, Ray
2021-08-10 4:40 ` [edk2-devel] " Andrew Fish
2021-08-10 8:43 ` Marvin Häuser
2021-08-10 4:19 ` [edk2-devel] [PATCH v2 1/2] BaseTools: Define the read-only data section name per toolchain Andrew Fish
2021-08-10 8:27 ` Marvin Häuser
2021-08-10 19:35 ` Andrew Fish
2021-08-10 21:30 ` Marvin Häuser [this message]
2021-08-10 21:58 ` Andrew Fish
2021-08-11 8:11 ` Marvin Häuser
2021-08-11 17:19 ` Andrew Fish
2021-08-12 7:26 ` Marvin Häuser
2021-08-12 20:25 ` Marvin Häuser
2021-08-12 22:53 ` Andrew Fish
[not found] ` <169AB0F8BD9C50BA.13770@groups.io>
2021-08-16 21:13 ` Andrew Fish
[not found] ` <169A090BBBBE12C1.15606@groups.io>
2021-08-10 19:49 ` Andrew Fish
2021-08-10 21:24 ` Marvin Häuser
2021-08-10 21:54 ` Andrew Fish
2021-08-09 9:51 ` [PATCH v2 1/7] MdeModulePkg/DxeCore: Consistent DebugImageInfoTable updates Marvin Häuser
2021-08-09 9:51 ` [PATCH v2 1/2] MdePkg/BaseLib: Fix unaligned API prototypes Marvin Häuser
2021-08-09 9:51 ` [PATCH v2 2/2] BaseTools/CommonLib: " Marvin Häuser
2021-08-09 16:15 ` [PATCH v2 1/2] MdePkg/BaseLib: " Michael D Kinney
2021-08-09 21:32 ` [edk2-devel] " Andrew Fish
2021-08-10 8:53 ` Marvin Häuser
2021-08-10 17:36 ` Andrew Fish
2021-08-10 21:14 ` Marvin Häuser
2021-08-09 9:51 ` [PATCH v2 1/2] SecurityPkg/DxeImageVerificationLib: Fix certificate lookup algorithm Marvin Häuser
2021-08-09 9:51 ` [PATCH v2 2/2] SecurityPkg/SecureBootConfigDxe: " Marvin Häuser
2021-08-12 1:12 ` [edk2-devel] " Min Xu
2021-08-12 1:11 ` [edk2-devel] [PATCH v2 1/2] SecurityPkg/DxeImageVerificationLib: " Min Xu
2021-08-09 9:51 ` [PATCH v2 2/7] MdeModulePkg/DxeCore: Fix DebugImageInfoTable size report Marvin Häuser
2021-08-09 9:51 ` [PATCH v2 3/7] EmbeddedPkg/GdbStub: Check DebugImageInfoTable type safely Marvin Häuser
2021-08-09 9:51 ` [PATCH v2 4/7] ArmPkg/DefaultExceptionHandlerLib: " Marvin Häuser
2021-08-09 11:55 ` Ard Biesheuvel
2021-08-09 12:40 ` [edk2-devel] " Marvin Häuser
2021-08-09 21:19 ` Marvin Häuser
2021-08-16 9:50 ` Ard Biesheuvel
2021-08-09 9:51 ` [PATCH v2 5/7] MdeModulePkg/CoreDxe: Mandatory LoadedImage for DebugImageInfoTable Marvin Häuser
2021-08-09 9:51 ` [PATCH v2 6/7] EmbeddedPkg/GdbStub: " Marvin Häuser
2021-08-09 9:51 ` [PATCH v2 7/7] ArmPkg/DefaultExceptionHandlerLib: " Marvin Häuser
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=215befc7-a214-7c1d-4bba-94442d3f56aa@posteo.de \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox