[edk2-devel] [Patch] BaseTools/Conf: Add new macro for customizing dll file reduction.

Xu, Wei6 posted 1 patch 2 years, 3 months ago
Failed in applying to current master (apply log)
BaseTools/Conf/build_rule.template | 2 +-
BaseTools/Conf/tools_def.template  | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
[edk2-devel] [Patch] BaseTools/Conf: Add new macro for customizing dll file reduction.
Posted by Xu, Wei6 2 years, 3 months ago
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3810

New macro OBJCOPY_STRIPFLAG is added in build_rule.template to replace
'--strip-unneeded -R .eh_frame', so that module can have some unique
objcopy flags for its own purpose.
In tools_def.template, set '--strip-unneeded -R .eh_frame' as default
value of OBJCOPY_STRIPFLAG.

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
---
 BaseTools/Conf/build_rule.template | 2 +-
 BaseTools/Conf/tools_def.template  | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index 3add1029f2..f401182344 100755
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -373,11 +373,11 @@
         $(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
         -$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)
         -$(CP) $(DEBUG_DIR)(+)*.pdb $(OUTPUT_DIR) 
     <Command.GCC>
         $(CP) ${src} $(DEBUG_DIR)(+)$(MODULE_NAME).debug
-        $(OBJCOPY) --strip-unneeded -R .eh_frame ${src}
+        $(OBJCOPY) $(OBJCOPY_STRIPFLAG) ${src}
 
         #
         #The below 2 lines are only needed for UNIXGCC tool chain, which generates PE image directly
         #
         -$(OBJCOPY) $(OBJCOPY_ADDDEBUGFLAG) ${src}
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 2e6b382ab6..85b8afbb2d 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -1860,10 +1860,11 @@ NOOPT_VS2019_AARCH64_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
 *_*_*_SYMRENAME_PATH            = echo
 *_*_*_SYMRENAME_FLAGS           = Symbol renaming not needed for
 DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG     = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug
 RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG   =
 NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG     = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug
+*_*_*_OBJCOPY_STRIPFLAG            = --strip-unneeded -R .eh_frame
 *_*_*_DTC_FLAGS                    = -H epapr
 *_*_*_DTCPP_PATH                   = DEF(DTCPP_BIN)
 *_*_*_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
-- 
2.16.2.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85868): https://edk2.groups.io/g/devel/message/85868
Mute This Topic: https://groups.io/mt/88560138/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


回复: [edk2-devel] [Patch] BaseTools/Conf: Add new macro for customizing dll file reduction.
Posted by gaoliming 2 years, 3 months ago
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>

> -----邮件原件-----
> 发件人: Wei6 Xu <wei6.xu@intel.com>
> 发送时间: 2022年1月20日 23:00
> 收件人: devel@edk2.groups.io
> 抄送: Bob Feng <bob.c.feng@intel.com>; Liming Gao
> <gaoliming@byosoft.com.cn>; Yuwei Chen <yuwei.chen@intel.com>
> 主题: [edk2-devel] [Patch] BaseTools/Conf: Add new macro for customizing
> dll file reduction.
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3810
> 
> New macro OBJCOPY_STRIPFLAG is added in build_rule.template to replace
> '--strip-unneeded -R .eh_frame', so that module can have some unique
> objcopy flags for its own purpose.
> In tools_def.template, set '--strip-unneeded -R .eh_frame' as default
> value of OBJCOPY_STRIPFLAG.
> 
> Cc: Bob Feng <bob.c.feng@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Yuwei Chen <yuwei.chen@intel.com>
> Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
> ---
>  BaseTools/Conf/build_rule.template | 2 +-
>  BaseTools/Conf/tools_def.template  | 1 +
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/BaseTools/Conf/build_rule.template
> b/BaseTools/Conf/build_rule.template
> index 3add1029f2..f401182344 100755
> --- a/BaseTools/Conf/build_rule.template
> +++ b/BaseTools/Conf/build_rule.template
> @@ -373,11 +373,11 @@
>          $(CP) ${dst} $(BIN_DIR)(+)$(MODULE_NAME_GUID).efi
>          -$(CP) $(DEBUG_DIR)(+)*.map $(OUTPUT_DIR)
>          -$(CP) $(DEBUG_DIR)(+)*.pdb $(OUTPUT_DIR)
>      <Command.GCC>
>          $(CP) ${src} $(DEBUG_DIR)(+)$(MODULE_NAME).debug
> -        $(OBJCOPY) --strip-unneeded -R .eh_frame ${src}
> +        $(OBJCOPY) $(OBJCOPY_STRIPFLAG) ${src}
> 
>          #
>          #The below 2 lines are only needed for UNIXGCC tool chain, which
> generates PE image directly
>          #
>          -$(OBJCOPY) $(OBJCOPY_ADDDEBUGFLAG) ${src}
> diff --git a/BaseTools/Conf/tools_def.template
> b/BaseTools/Conf/tools_def.template
> index 2e6b382ab6..85b8afbb2d 100755
> --- a/BaseTools/Conf/tools_def.template
> +++ b/BaseTools/Conf/tools_def.template
> @@ -1860,10 +1860,11 @@ NOOPT_VS2019_AARCH64_DLINK_FLAGS   =
> /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF
>  *_*_*_SYMRENAME_PATH            = echo
>  *_*_*_SYMRENAME_FLAGS           = Symbol renaming not needed for
>  DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG     =
> --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug
>  RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG   =
>  NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG     =
> --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug
> +*_*_*_OBJCOPY_STRIPFLAG            = --strip-unneeded -R .eh_frame
>  *_*_*_DTC_FLAGS                    = -H epapr
>  *_*_*_DTCPP_PATH                   = DEF(DTCPP_BIN)
>  *_*_*_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
> --
> 2.16.2.windows.1





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#86075): https://edk2.groups.io/g/devel/message/86075
Mute This Topic: https://groups.io/mt/88688160/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-