public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v7 0/2] Fix stack switching.
@ 2022-11-30  9:44 Gerd Hoffmann
  2022-11-30  9:44 ` [PATCH v7 1/2] tools_def: remove GCC_IA32_CC_FLAGS/GCC_X64_CC_FLAGS Gerd Hoffmann
  2022-11-30  9:44 ` [PATCH v7 2/2] tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS Gerd Hoffmann
  0 siblings, 2 replies; 11+ messages in thread
From: Gerd Hoffmann @ 2022-11-30  9:44 UTC (permalink / raw)
  To: devel
  Cc: Alexey Kardashevskiy, Liming Gao, Erdem Aktas, Pawel Polawski,
	Jordan Justen, Ard Biesheuvel, Yuwei Chen, Tom Lendacky,
	James Bottomley, Gerd Hoffmann, Oliver Steffen, Jiewen Yao,
	Min Xu, Brijesh Singh, Bob Feng



Gerd Hoffmann (2):
  tools_def: remove GCC_IA32_CC_FLAGS/GCC_X64_CC_FLAGS
  tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS

 BaseTools/Conf/tools_def.template | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

-- 
2.38.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v7 1/2] tools_def: remove GCC_IA32_CC_FLAGS/GCC_X64_CC_FLAGS
  2022-11-30  9:44 [PATCH v7 0/2] Fix stack switching Gerd Hoffmann
@ 2022-11-30  9:44 ` Gerd Hoffmann
  2022-12-07  1:34   ` 回复: [edk2-devel] " gaoliming
  2022-11-30  9:44 ` [PATCH v7 2/2] tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS Gerd Hoffmann
  1 sibling, 1 reply; 11+ messages in thread
From: Gerd Hoffmann @ 2022-11-30  9:44 UTC (permalink / raw)
  To: devel
  Cc: Alexey Kardashevskiy, Liming Gao, Erdem Aktas, Pawel Polawski,
	Jordan Justen, Ard Biesheuvel, Yuwei Chen, Tom Lendacky,
	James Bottomley, Gerd Hoffmann, Oliver Steffen, Jiewen Yao,
	Min Xu, Brijesh Singh, Bob Feng

They are not used anywhere.  Remove them.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 BaseTools/Conf/tools_def.template | 2 --
 1 file changed, 2 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index c4e4c7ded0af..73f95b2a3a9f 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -1850,8 +1850,6 @@ NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG     = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_N
 *_*_*_DTC_PATH                     = DEF(DTC_BIN)
 
 DEFINE GCC_ALL_CC_FLAGS            = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common
-DEFINE GCC_IA32_CC_FLAGS           = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe
-DEFINE GCC_X64_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe
 DEFINE GCC_ARM_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address -mthumb -mfloat-abi=soft -fno-pic -fno-pie
 DEFINE GCC_LOONGARCH64_CC_FLAGS    = DEF(GCC_ALL_CC_FLAGS) -mabi=lp64d -fno-asynchronous-unwind-tables -fno-plt -Wno-address -fno-short-enums -fsigned-char -ffunction-sections -fdata-sections
 DEFINE GCC_ARM_CC_XIPFLAGS         = -mno-unaligned-access
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v7 2/2] tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
  2022-11-30  9:44 [PATCH v7 0/2] Fix stack switching Gerd Hoffmann
  2022-11-30  9:44 ` [PATCH v7 1/2] tools_def: remove GCC_IA32_CC_FLAGS/GCC_X64_CC_FLAGS Gerd Hoffmann
@ 2022-11-30  9:44 ` Gerd Hoffmann
  2022-11-30 19:28   ` [edk2-devel] " Brian J. Johnson
  1 sibling, 1 reply; 11+ messages in thread
From: Gerd Hoffmann @ 2022-11-30  9:44 UTC (permalink / raw)
  To: devel
  Cc: Alexey Kardashevskiy, Liming Gao, Erdem Aktas, Pawel Polawski,
	Jordan Justen, Ard Biesheuvel, Yuwei Chen, Tom Lendacky,
	James Bottomley, Gerd Hoffmann, Oliver Steffen, Jiewen Yao,
	Min Xu, Brijesh Singh, Bob Feng

Fixes problems due to code assuming it runs with frame pointers and thus
updates rbp / ebp registers when switching stacks.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 BaseTools/Conf/tools_def.template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 73f95b2a3a9f..f1fd6a003062 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -1888,8 +1888,8 @@ DEFINE GCC_DEPS_FLAGS              = -MMD -MF $@.deps
 
 DEFINE GCC48_ALL_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) -ffunction-sections -fdata-sections -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
 DEFINE GCC48_IA32_X64_DLINK_COMMON   = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
-DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
-DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
+DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address -fno-omit-frame-pointer
+DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address  -fno-omit-frame-pointer
 DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
 DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
 DEFINE GCC48_IA32_DLINK2_FLAGS       = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [edk2-devel] [PATCH v7 2/2] tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
  2022-11-30  9:44 ` [PATCH v7 2/2] tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS Gerd Hoffmann
@ 2022-11-30 19:28   ` Brian J. Johnson
  2022-12-01  8:38     ` Gerd Hoffmann
  0 siblings, 1 reply; 11+ messages in thread
From: Brian J. Johnson @ 2022-11-30 19:28 UTC (permalink / raw)
  To: devel, kraxel
  Cc: Alexey Kardashevskiy, Liming Gao, Erdem Aktas, Pawel Polawski,
	Jordan Justen, Ard Biesheuvel, Yuwei Chen, Tom Lendacky,
	James Bottomley, Oliver Steffen, Jiewen Yao, Min Xu,
	Brijesh Singh, Bob Feng

Gerd,

Sorry, gotta ask:  does this make much difference in the size of the 
compiled code?  That's a constraint on many real-hardware X64 platforms, 
especially for 32-bit code.

Brian J. Johnson

-------- Original Message --------
From: Gerd Hoffmann [mailto:kraxel@redhat.com]
Sent: Wednesday, November 30, 2022 at 3:44 AM
To: devel@edk2.groups.io
Cc: Alexey Kardashevskiy <aik@ozlabs.ru>, Liming Gao 
<gaoliming@byosoft.com.cn>, Erdem Aktas <erdemaktas@google.com>, Pawel 
Polawski <ppolawsk@redhat.com>, Jordan Justen 
<jordan.l.justen@intel.com>, Ard Biesheuvel <ardb+tianocore@kernel.org>, 
Yuwei Chen <yuwei.chen@intel.com>, Tom Lendacky 
<thomas.lendacky@amd.com>, James Bottomley <jejb@linux.ibm.com>, Gerd 
Hoffmann <kraxel@redhat.com>, Oliver Steffen <osteffen@redhat.com>, 
Jiewen Yao <jiewen.yao@intel.com>, Min Xu <min.m.xu@intel.com>, Brijesh 
Singh <brijesh.singh@amd.com>, Bob Feng <bob.c.feng@intel.com>
Subject: [edk2-devel] [PATCH v7 2/2] tools_def: add 
-fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS

Fixes problems due to code assuming it runs with frame pointers and thus
updates rbp / ebp registers when switching stacks.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
   BaseTools/Conf/tools_def.template | 4 ++--
   1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index 73f95b2a3a9f..f1fd6a003062 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -1888,8 +1888,8 @@ DEFINE GCC_DEPS_FLAGS              = -MMD -MF $@.deps

   DEFINE GCC48_ALL_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS) 
-ffunction-sections -fdata-sections -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
   DEFINE GCC48_IA32_X64_DLINK_COMMON   = -nostdlib 
-Wl,-n,-q,--gc-sections -z common-page-size=0x20
-DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC48_ALL_CC_FLAGS) -m32 
-march=i586 -malign-double -fno-stack-protector -D EFI32 
-fno-asynchronous-unwind-tables -Wno-address
-DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC48_ALL_CC_FLAGS) -m64 
-fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" 
-maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small 
-fpie -fno-asynchronous-unwind-tables -Wno-address
+DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC48_ALL_CC_FLAGS) -m32 
-march=i586 -malign-double -fno-stack-protector -D EFI32 
-fno-asynchronous-unwind-tables -Wno-address -fno-omit-frame-pointer
+DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC48_ALL_CC_FLAGS) -m64 
-fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" 
-maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small 
-fpie -fno-asynchronous-unwind-tables -Wno-address  -fno-omit-frame-pointer
   DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = 
DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u 
ReferenceAcpiTable
   DEFINE GCC48_IA32_X64_DLINK_FLAGS    = 
DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u 
$(IMAGE_ENTRY_POINT) 
-Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
   DEFINE GCC48_IA32_DLINK2_FLAGS       = 
-Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)

-- 

                                                 Brian

--------------------------------------------------------------------

    "I love deadlines. I like the whooshing sound they make as they fly by."
                                            -- Douglas Adams


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [edk2-devel] [PATCH v7 2/2] tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
  2022-11-30 19:28   ` [edk2-devel] " Brian J. Johnson
@ 2022-12-01  8:38     ` Gerd Hoffmann
  2022-12-01 16:17       ` Brian J. Johnson
  0 siblings, 1 reply; 11+ messages in thread
From: Gerd Hoffmann @ 2022-12-01  8:38 UTC (permalink / raw)
  To: Brian J. Johnson
  Cc: devel, Alexey Kardashevskiy, Liming Gao, Erdem Aktas,
	Pawel Polawski, Jordan Justen, Ard Biesheuvel, Yuwei Chen,
	Tom Lendacky, James Bottomley, Oliver Steffen, Jiewen Yao, Min Xu,
	Brijesh Singh, Bob Feng

On Wed, Nov 30, 2022 at 01:28:42PM -0600, Brian J. Johnson wrote:
> Gerd,
> 
> Sorry, gotta ask:  does this make much difference in the size of the
> compiled code?  That's a constraint on many real-hardware X64 platforms,
> especially for 32-bit code.

Quick test with OvmfPkg/OvmfPkgIa32X64.dsc (sec/pei ia32, dxe x64):

master branch:

FV Space Information
SECFV [11%Full] 212992 (0x34000) total, 23728 (0x5cb0) used, 189264 (0x2e350) free
PEIFV [34%Full] 917504 (0xe0000) total, 319416 (0x4dfb8) used, 598088 (0x92048) free
DXEFV [49%Full] 12582912 (0xc00000) total, 6268032 (0x5fa480) used, 6314880 (0x605b80) free
FVMAIN_COMPACT [98%Full] 1753088 (0x1ac000) total, 1725328 (0x1a5390) used, 27760 (0x6c70) free

with patch applied:

FV Space Information
SECFV [11%Full] 212992 (0x34000) total, 23728 (0x5cb0) used, 189264 (0x2e350) free
PEIFV [34%Full] 917504 (0xe0000) total, 319416 (0x4dfb8) used, 598088 (0x92048) free
DXEFV [50%Full] 12582912 (0xc00000) total, 6335936 (0x60adc0) used, 6246976 (0x5f5240) free
FVMAIN_COMPACT [99%Full] 1753088 (0x1ac000) total, 1738176 (0x1a85c0) used, 14912 (0x3a40) free

So slightly more for 64-bit code.

take care,
  Gerd


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [edk2-devel] [PATCH v7 2/2] tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
  2022-12-01  8:38     ` Gerd Hoffmann
@ 2022-12-01 16:17       ` Brian J. Johnson
  2022-12-07  1:36         ` 回复: " gaoliming
       [not found]         ` <172E5F05A68BEFC2.5063@groups.io>
  0 siblings, 2 replies; 11+ messages in thread
From: Brian J. Johnson @ 2022-12-01 16:17 UTC (permalink / raw)
  To: devel, kraxel
  Cc: Alexey Kardashevskiy, Liming Gao, Erdem Aktas, Pawel Polawski,
	Jordan Justen, Ard Biesheuvel, Yuwei Chen, Tom Lendacky,
	James Bottomley, Oliver Steffen, Jiewen Yao, Min Xu,
	Brijesh Singh, Bob Feng

OK.  Doesn't look like a big impact.

Thanks,
Brian J. Johnson
-------- Original Message --------
From: Gerd Hoffmann [mailto:kraxel@redhat.com]
Sent: Thursday, December 1, 2022 at 2:38 AM
To: Brian J. Johnson <brian.johnson@hpe.com>
Cc: devel@edk2.groups.io, Alexey Kardashevskiy <aik@ozlabs.ru>, Liming 
Gao <gaoliming@byosoft.com.cn>, Erdem Aktas <erdemaktas@google.com>, 
Pawel Polawski <ppolawsk@redhat.com>, Jordan Justen 
<jordan.l.justen@intel.com>, Ard Biesheuvel <ardb+tianocore@kernel.org>, 
Yuwei Chen <yuwei.chen@intel.com>, Tom Lendacky 
<thomas.lendacky@amd.com>, James Bottomley <jejb@linux.ibm.com>, Oliver 
Steffen <osteffen@redhat.com>, Jiewen Yao <jiewen.yao@intel.com>, Min Xu 
<min.m.xu@intel.com>, Brijesh Singh <brijesh.singh@amd.com>, Bob Feng 
<bob.c.feng@intel.com>
Subject: [edk2-devel] [PATCH v7 2/2] tools_def: add 
-fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS

On Wed, Nov 30, 2022 at 01:28:42PM -0600, Brian J. Johnson wrote:
> Gerd,
>
> Sorry, gotta ask:  does this make much difference in the size of the
> compiled code?  That's a constraint on many real-hardware X64 platforms,
> especially for 32-bit code.

Quick test with OvmfPkg/OvmfPkgIa32X64.dsc (sec/pei ia32, dxe x64):

master branch:

FV Space Information
SECFV [11%Full] 212992 (0x34000) total, 23728 (0x5cb0) used, 189264 
(0x2e350) free
PEIFV [34%Full] 917504 (0xe0000) total, 319416 (0x4dfb8) used, 598088 
(0x92048) free
DXEFV [49%Full] 12582912 (0xc00000) total, 6268032 (0x5fa480) used, 
6314880 (0x605b80) free
FVMAIN_COMPACT [98%Full] 1753088 (0x1ac000) total, 1725328 (0x1a5390) 
used, 27760 (0x6c70) free

with patch applied:

FV Space Information
SECFV [11%Full] 212992 (0x34000) total, 23728 (0x5cb0) used, 189264 
(0x2e350) free
PEIFV [34%Full] 917504 (0xe0000) total, 319416 (0x4dfb8) used, 598088 
(0x92048) free
DXEFV [50%Full] 12582912 (0xc00000) total, 6335936 (0x60adc0) used, 
6246976 (0x5f5240) free
FVMAIN_COMPACT [99%Full] 1753088 (0x1ac000) total, 1738176 (0x1a85c0) 
used, 14912 (0x3a40) free

So slightly more for 64-bit code.

take care,
    Gerd






^ permalink raw reply	[flat|nested] 11+ messages in thread

* 回复: [edk2-devel] [PATCH v7 1/2] tools_def: remove GCC_IA32_CC_FLAGS/GCC_X64_CC_FLAGS
  2022-11-30  9:44 ` [PATCH v7 1/2] tools_def: remove GCC_IA32_CC_FLAGS/GCC_X64_CC_FLAGS Gerd Hoffmann
@ 2022-12-07  1:34   ` gaoliming
  0 siblings, 0 replies; 11+ messages in thread
From: gaoliming @ 2022-12-07  1:34 UTC (permalink / raw)
  To: devel, kraxel
  Cc: 'Alexey Kardashevskiy', 'Erdem Aktas',
	'Pawel Polawski', 'Jordan Justen',
	'Ard Biesheuvel', 'Yuwei Chen',
	'Tom Lendacky', 'James Bottomley',
	'Oliver Steffen', 'Jiewen Yao', 'Min Xu',
	'Brijesh Singh', 'Bob Feng'

Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>

> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Gerd
> Hoffmann
> 发送时间: 2022年11月30日 17:44
> 收件人: devel@edk2.groups.io
> 抄送: Alexey Kardashevskiy <aik@ozlabs.ru>; Liming Gao
> <gaoliming@byosoft.com.cn>; Erdem Aktas <erdemaktas@google.com>;
> Pawel Polawski <ppolawsk@redhat.com>; Jordan Justen
> <jordan.l.justen@intel.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>;
> Yuwei Chen <yuwei.chen@intel.com>; Tom Lendacky
> <thomas.lendacky@amd.com>; James Bottomley <jejb@linux.ibm.com>;
> Gerd Hoffmann <kraxel@redhat.com>; Oliver Steffen <osteffen@redhat.com>;
> Jiewen Yao <jiewen.yao@intel.com>; Min Xu <min.m.xu@intel.com>; Brijesh
> Singh <brijesh.singh@amd.com>; Bob Feng <bob.c.feng@intel.com>
> 主题: [edk2-devel] [PATCH v7 1/2] tools_def: remove
> GCC_IA32_CC_FLAGS/GCC_X64_CC_FLAGS
> 
> They are not used anywhere.  Remove them.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  BaseTools/Conf/tools_def.template | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/BaseTools/Conf/tools_def.template
> b/BaseTools/Conf/tools_def.template
> index c4e4c7ded0af..73f95b2a3a9f 100755
> --- a/BaseTools/Conf/tools_def.template
> +++ b/BaseTools/Conf/tools_def.template
> @@ -1850,8 +1850,6 @@ NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG     =
> --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_N
>  *_*_*_DTC_PATH                     = DEF(DTC_BIN)
> 
>  DEFINE GCC_ALL_CC_FLAGS            = -g -Os -fshort-wchar
> -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include
> AutoGen.h -fno-common
> -DEFINE GCC_IA32_CC_FLAGS           = DEF(GCC_ALL_CC_FLAGS) -m32
> -malign-double -freorder-blocks -freorder-blocks-and-partition -O2
> -mno-stack-arg-probe
> -DEFINE GCC_X64_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS)
> -mno-red-zone -Wno-address -mno-stack-arg-probe
>  DEFINE GCC_ARM_CC_FLAGS            = DEF(GCC_ALL_CC_FLAGS)
> -mlittle-endian -mabi=aapcs -fno-short-enums -funsigned-char
> -ffunction-sections -fdata-sections -fomit-frame-pointer -Wno-address
> -mthumb -mfloat-abi=soft -fno-pic -fno-pie
>  DEFINE GCC_LOONGARCH64_CC_FLAGS    = DEF(GCC_ALL_CC_FLAGS)
> -mabi=lp64d -fno-asynchronous-unwind-tables -fno-plt -Wno-address
> -fno-short-enums -fsigned-char -ffunction-sections -fdata-sections
>  DEFINE GCC_ARM_CC_XIPFLAGS         = -mno-unaligned-access
> --
> 2.38.1
> 
> 
> 
> 
> 




^ permalink raw reply	[flat|nested] 11+ messages in thread

* 回复: [edk2-devel] [PATCH v7 2/2] tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
  2022-12-01 16:17       ` Brian J. Johnson
@ 2022-12-07  1:36         ` gaoliming
       [not found]         ` <172E5F05A68BEFC2.5063@groups.io>
  1 sibling, 0 replies; 11+ messages in thread
From: gaoliming @ 2022-12-07  1:36 UTC (permalink / raw)
  To: devel, brian.johnson, kraxel
  Cc: 'Alexey Kardashevskiy', 'Erdem Aktas',
	'Pawel Polawski', 'Jordan Justen',
	'Ard Biesheuvel', 'Yuwei Chen',
	'Tom Lendacky', 'James Bottomley',
	'Oliver Steffen', 'Jiewen Yao', 'Min Xu',
	'Brijesh Singh', 'Bob Feng'

Gerd:
  I have no comments for this change. Acked-by: Liming Gao <gaoliming@byosoft.com.cn>

Thanks
Liming
> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Brian J.
> Johnson
> 发送时间: 2022年12月2日 0:18
> 收件人: devel@edk2.groups.io; kraxel@redhat.com
> 抄送: Alexey Kardashevskiy <aik@ozlabs.ru>; Liming Gao
> <gaoliming@byosoft.com.cn>; Erdem Aktas <erdemaktas@google.com>;
> Pawel Polawski <ppolawsk@redhat.com>; Jordan Justen
> <jordan.l.justen@intel.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>;
> Yuwei Chen <yuwei.chen@intel.com>; Tom Lendacky
> <thomas.lendacky@amd.com>; James Bottomley <jejb@linux.ibm.com>;
> Oliver Steffen <osteffen@redhat.com>; Jiewen Yao <jiewen.yao@intel.com>;
> Min Xu <min.m.xu@intel.com>; Brijesh Singh <brijesh.singh@amd.com>; Bob
> Feng <bob.c.feng@intel.com>
> 主题: Re: [edk2-devel] [PATCH v7 2/2] tools_def: add
> -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
> 
> OK.  Doesn't look like a big impact.
> 
> Thanks,
> Brian J. Johnson
> -------- Original Message --------
> From: Gerd Hoffmann [mailto:kraxel@redhat.com]
> Sent: Thursday, December 1, 2022 at 2:38 AM
> To: Brian J. Johnson <brian.johnson@hpe.com>
> Cc: devel@edk2.groups.io, Alexey Kardashevskiy <aik@ozlabs.ru>, Liming
> Gao <gaoliming@byosoft.com.cn>, Erdem Aktas <erdemaktas@google.com>,
> Pawel Polawski <ppolawsk@redhat.com>, Jordan Justen
> <jordan.l.justen@intel.com>, Ard Biesheuvel <ardb+tianocore@kernel.org>,
> Yuwei Chen <yuwei.chen@intel.com>, Tom Lendacky
> <thomas.lendacky@amd.com>, James Bottomley <jejb@linux.ibm.com>,
> Oliver
> Steffen <osteffen@redhat.com>, Jiewen Yao <jiewen.yao@intel.com>, Min Xu
> <min.m.xu@intel.com>, Brijesh Singh <brijesh.singh@amd.com>, Bob Feng
> <bob.c.feng@intel.com>
> Subject: [edk2-devel] [PATCH v7 2/2] tools_def: add
> -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
> 
> On Wed, Nov 30, 2022 at 01:28:42PM -0600, Brian J. Johnson wrote:
> > Gerd,
> >
> > Sorry, gotta ask:  does this make much difference in the size of the
> > compiled code?  That's a constraint on many real-hardware X64 platforms,
> > especially for 32-bit code.
> 
> Quick test with OvmfPkg/OvmfPkgIa32X64.dsc (sec/pei ia32, dxe x64):
> 
> master branch:
> 
> FV Space Information
> SECFV [11%Full] 212992 (0x34000) total, 23728 (0x5cb0) used, 189264
> (0x2e350) free
> PEIFV [34%Full] 917504 (0xe0000) total, 319416 (0x4dfb8) used, 598088
> (0x92048) free
> DXEFV [49%Full] 12582912 (0xc00000) total, 6268032 (0x5fa480) used,
> 6314880 (0x605b80) free
> FVMAIN_COMPACT [98%Full] 1753088 (0x1ac000) total, 1725328 (0x1a5390)
> used, 27760 (0x6c70) free
> 
> with patch applied:
> 
> FV Space Information
> SECFV [11%Full] 212992 (0x34000) total, 23728 (0x5cb0) used, 189264
> (0x2e350) free
> PEIFV [34%Full] 917504 (0xe0000) total, 319416 (0x4dfb8) used, 598088
> (0x92048) free
> DXEFV [50%Full] 12582912 (0xc00000) total, 6335936 (0x60adc0) used,
> 6246976 (0x5f5240) free
> FVMAIN_COMPACT [99%Full] 1753088 (0x1ac000) total, 1738176 (0x1a85c0)
> used, 14912 (0x3a40) free
> 
> So slightly more for 64-bit code.
> 
> take care,
>     Gerd
> 
> 
> 
> 
> 
> 
> 
> 
> 




^ permalink raw reply	[flat|nested] 11+ messages in thread

* 回复: [edk2-devel] [PATCH v7 2/2] tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
       [not found]         ` <172E5F05A68BEFC2.5063@groups.io>
@ 2022-12-21  1:29           ` gaoliming
  2022-12-21  6:26             ` Gerd Hoffmann
  0 siblings, 1 reply; 11+ messages in thread
From: gaoliming @ 2022-12-21  1:29 UTC (permalink / raw)
  To: devel, gaoliming, brian.johnson, kraxel
  Cc: 'Alexey Kardashevskiy', 'Erdem Aktas',
	'Pawel Polawski', 'Jordan Justen',
	'Ard Biesheuvel', 'Yuwei Chen',
	'Tom Lendacky', 'James Bottomley',
	'Oliver Steffen', 'Jiewen Yao', 'Min Xu',
	'Brijesh Singh', 'Bob Feng'

Gerd:
  I will merge these two changes in tools_def.txt. Is it OK to you?

Thanks
Liming
> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 gaoliming via
> groups.io
> 发送时间: 2022年12月7日 9:36
> 收件人: devel@edk2.groups.io; brian.johnson@hpe.com; kraxel@redhat.com
> 抄送: 'Alexey Kardashevskiy' <aik@ozlabs.ru>; 'Erdem Aktas'
> <erdemaktas@google.com>; 'Pawel Polawski' <ppolawsk@redhat.com>;
> 'Jordan Justen' <jordan.l.justen@intel.com>; 'Ard Biesheuvel'
> <ardb+tianocore@kernel.org>; 'Yuwei Chen' <yuwei.chen@intel.com>; 'Tom
> Lendacky' <thomas.lendacky@amd.com>; 'James Bottomley'
> <jejb@linux.ibm.com>; 'Oliver Steffen' <osteffen@redhat.com>; 'Jiewen Yao'
> <jiewen.yao@intel.com>; 'Min Xu' <min.m.xu@intel.com>; 'Brijesh Singh'
> <brijesh.singh@amd.com>; 'Bob Feng' <bob.c.feng@intel.com>
> 主题: 回复: [edk2-devel] [PATCH v7 2/2] tools_def: add
> -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
> 
> Gerd:
>   I have no comments for this change. Acked-by: Liming Gao
> <gaoliming@byosoft.com.cn>
> 
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Brian J.
> > Johnson
> > 发送时间: 2022年12月2日 0:18
> > 收件人: devel@edk2.groups.io; kraxel@redhat.com
> > 抄送: Alexey Kardashevskiy <aik@ozlabs.ru>; Liming Gao
> > <gaoliming@byosoft.com.cn>; Erdem Aktas <erdemaktas@google.com>;
> > Pawel Polawski <ppolawsk@redhat.com>; Jordan Justen
> > <jordan.l.justen@intel.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>;
> > Yuwei Chen <yuwei.chen@intel.com>; Tom Lendacky
> > <thomas.lendacky@amd.com>; James Bottomley <jejb@linux.ibm.com>;
> > Oliver Steffen <osteffen@redhat.com>; Jiewen Yao
> <jiewen.yao@intel.com>;
> > Min Xu <min.m.xu@intel.com>; Brijesh Singh <brijesh.singh@amd.com>;
> Bob
> > Feng <bob.c.feng@intel.com>
> > 主题: Re: [edk2-devel] [PATCH v7 2/2] tools_def: add
> > -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
> >
> > OK.  Doesn't look like a big impact.
> >
> > Thanks,
> > Brian J. Johnson
> > -------- Original Message --------
> > From: Gerd Hoffmann [mailto:kraxel@redhat.com]
> > Sent: Thursday, December 1, 2022 at 2:38 AM
> > To: Brian J. Johnson <brian.johnson@hpe.com>
> > Cc: devel@edk2.groups.io, Alexey Kardashevskiy <aik@ozlabs.ru>, Liming
> > Gao <gaoliming@byosoft.com.cn>, Erdem Aktas
> <erdemaktas@google.com>,
> > Pawel Polawski <ppolawsk@redhat.com>, Jordan Justen
> > <jordan.l.justen@intel.com>, Ard Biesheuvel <ardb+tianocore@kernel.org>,
> > Yuwei Chen <yuwei.chen@intel.com>, Tom Lendacky
> > <thomas.lendacky@amd.com>, James Bottomley <jejb@linux.ibm.com>,
> > Oliver
> > Steffen <osteffen@redhat.com>, Jiewen Yao <jiewen.yao@intel.com>, Min
> Xu
> > <min.m.xu@intel.com>, Brijesh Singh <brijesh.singh@amd.com>, Bob Feng
> > <bob.c.feng@intel.com>
> > Subject: [edk2-devel] [PATCH v7 2/2] tools_def: add
> > -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
> >
> > On Wed, Nov 30, 2022 at 01:28:42PM -0600, Brian J. Johnson wrote:
> > > Gerd,
> > >
> > > Sorry, gotta ask:  does this make much difference in the size of the
> > > compiled code?  That's a constraint on many real-hardware X64
> platforms,
> > > especially for 32-bit code.
> >
> > Quick test with OvmfPkg/OvmfPkgIa32X64.dsc (sec/pei ia32, dxe x64):
> >
> > master branch:
> >
> > FV Space Information
> > SECFV [11%Full] 212992 (0x34000) total, 23728 (0x5cb0) used, 189264
> > (0x2e350) free
> > PEIFV [34%Full] 917504 (0xe0000) total, 319416 (0x4dfb8) used, 598088
> > (0x92048) free
> > DXEFV [49%Full] 12582912 (0xc00000) total, 6268032 (0x5fa480) used,
> > 6314880 (0x605b80) free
> > FVMAIN_COMPACT [98%Full] 1753088 (0x1ac000) total, 1725328
> (0x1a5390)
> > used, 27760 (0x6c70) free
> >
> > with patch applied:
> >
> > FV Space Information
> > SECFV [11%Full] 212992 (0x34000) total, 23728 (0x5cb0) used, 189264
> > (0x2e350) free
> > PEIFV [34%Full] 917504 (0xe0000) total, 319416 (0x4dfb8) used, 598088
> > (0x92048) free
> > DXEFV [50%Full] 12582912 (0xc00000) total, 6335936 (0x60adc0) used,
> > 6246976 (0x5f5240) free
> > FVMAIN_COMPACT [99%Full] 1753088 (0x1ac000) total, 1738176
> (0x1a85c0)
> > used, 14912 (0x3a40) free
> >
> > So slightly more for 64-bit code.
> >
> > take care,
> >     Gerd
> >
> >
> >
> >
> >
> >
> >
> >
> >
> 
> 
> 
> 
> 
> 
> 




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: 回复: [edk2-devel] [PATCH v7 2/2] tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
  2022-12-21  1:29           ` gaoliming
@ 2022-12-21  6:26             ` Gerd Hoffmann
  2022-12-22  0:44               ` 回复: " gaoliming
  0 siblings, 1 reply; 11+ messages in thread
From: Gerd Hoffmann @ 2022-12-21  6:26 UTC (permalink / raw)
  To: devel, gaoliming
  Cc: brian.johnson, 'Alexey Kardashevskiy',
	'Erdem Aktas', 'Pawel Polawski',
	'Jordan Justen', 'Ard Biesheuvel',
	'Yuwei Chen', 'Tom Lendacky',
	'James Bottomley', 'Oliver Steffen',
	'Jiewen Yao', 'Min Xu', 'Brijesh Singh',
	'Bob Feng'

On Wed, Dec 21, 2022 at 09:29:51AM +0800, gaoliming via groups.io wrote:
> Gerd:
>   I will merge these two changes in tools_def.txt. Is it OK to you?

Yes.

thanks,
  Gerd


^ permalink raw reply	[flat|nested] 11+ messages in thread

* 回复: 回复: [edk2-devel] [PATCH v7 2/2] tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
  2022-12-21  6:26             ` Gerd Hoffmann
@ 2022-12-22  0:44               ` gaoliming
  0 siblings, 0 replies; 11+ messages in thread
From: gaoliming @ 2022-12-22  0:44 UTC (permalink / raw)
  To: 'Gerd Hoffmann', devel
  Cc: brian.johnson, 'Alexey Kardashevskiy',
	'Erdem Aktas', 'Pawel Polawski',
	'Jordan Justen', 'Ard Biesheuvel',
	'Yuwei Chen', 'Tom Lendacky',
	'James Bottomley', 'Oliver Steffen',
	'Jiewen Yao', 'Min Xu', 'Brijesh Singh',
	'Bob Feng'

Create Pull Request https://github.com/tianocore/edk2/pull/3819 to merge
them. 

Thanks
Liming
> -----邮件原件-----
> 发件人: Gerd Hoffmann <kraxel@redhat.com>
> 发送时间: 2022年12月21日 14:26
> 收件人: devel@edk2.groups.io; gaoliming@byosoft.com.cn
> 抄送: brian.johnson@hpe.com; 'Alexey Kardashevskiy' <aik@ozlabs.ru>;
> 'Erdem Aktas' <erdemaktas@google.com>; 'Pawel Polawski'
> <ppolawsk@redhat.com>; 'Jordan Justen' <jordan.l.justen@intel.com>; 'Ard
> Biesheuvel' <ardb+tianocore@kernel.org>; 'Yuwei Chen'
> <yuwei.chen@intel.com>; 'Tom Lendacky' <thomas.lendacky@amd.com>;
> 'James Bottomley' <jejb@linux.ibm.com>; 'Oliver Steffen'
> <osteffen@redhat.com>; 'Jiewen Yao' <jiewen.yao@intel.com>; 'Min Xu'
> <min.m.xu@intel.com>; 'Brijesh Singh' <brijesh.singh@amd.com>; 'Bob Feng'
> <bob.c.feng@intel.com>
> 主题: Re: 回复: [edk2-devel] [PATCH v7 2/2] tools_def: add
> -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS
> 
> On Wed, Dec 21, 2022 at 09:29:51AM +0800, gaoliming via groups.io wrote:
> > Gerd:
> >   I will merge these two changes in tools_def.txt. Is it OK to you?
> 
> Yes.
> 
> thanks,
>   Gerd




^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-12-22  0:45 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-30  9:44 [PATCH v7 0/2] Fix stack switching Gerd Hoffmann
2022-11-30  9:44 ` [PATCH v7 1/2] tools_def: remove GCC_IA32_CC_FLAGS/GCC_X64_CC_FLAGS Gerd Hoffmann
2022-12-07  1:34   ` 回复: [edk2-devel] " gaoliming
2022-11-30  9:44 ` [PATCH v7 2/2] tools_def: add -fno-omit-frame-pointer to GCC48_{IA32,X64}_CC_FLAGS Gerd Hoffmann
2022-11-30 19:28   ` [edk2-devel] " Brian J. Johnson
2022-12-01  8:38     ` Gerd Hoffmann
2022-12-01 16:17       ` Brian J. Johnson
2022-12-07  1:36         ` 回复: " gaoliming
     [not found]         ` <172E5F05A68BEFC2.5063@groups.io>
2022-12-21  1:29           ` gaoliming
2022-12-21  6:26             ` Gerd Hoffmann
2022-12-22  0:44               ` 回复: " gaoliming

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox