public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Rebecca Cran" <rebecca@bsdio.com>
To: devel@edk2.groups.io, Liming Gao <gaoliming@byosoft.com.cn>,
	Bob Feng <bob.c.feng@intel.com>,
	Yuwei Chen <yuwei.chen@intel.com>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	Michael Kubacki <mikuback@linux.microsoft.com>,
	Sean Brogan <sean.brogan@microsoft.com>,
	Chasel Chiu <chasel.chiu@intel.com>,
	Nate DeSimone <nathaniel.l.desimone@intel.com>,
	Star Zeng <star.zeng@intel.com>, Andrew Fish <afish@apple.com>,
	Ray Ni <ray.ni@intel.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Zhiguang Liu <zhiguang.liu@intel.com>,
	Jian J Wang <jian.j.wang@intel.com>,
	Xiaoyu Lu <xiaoyu1.lu@intel.com>,
	Guomin Jiang <guomin.jiang@intel.com>,
	Gua Guo <gua.guo@intel.com>, Ard Biesheuvel <ardb@kernel.org>,
	Pedro Falcato <pedro.falcato@gmail.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	mhaeuser@posteo.de
Cc: Rebecca Cran <rebecca@bsdio.com>
Subject: [PATCH v6 11/16] BaseTools: As with CLANGDWARF IA32 and X64, use lld for ARM and AARCH64
Date: Mon,  1 May 2023 10:08:34 -0600	[thread overview]
Message-ID: <20230501160839.884391-12-rebecca@bsdio.com> (raw)
In-Reply-To: <20230501160839.884391-1-rebecca@bsdio.com>

As with the IA32 and X64 CLANGDWARF toolchain definitions, use ld.lld
for ARM and AARCH64.

Add -Wl,--no-pie,--no-relax to the command line to fix linking when
using lld.

Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
---
 BaseTools/Conf/tools_def.template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 7f44e10a429a..9013ecc7cc66 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -2243,11 +2243,11 @@ DEFINE CLANGDWARF_ARM_DLINK_FLAGS   = DEF(CLANGDWARF_ARM_TARGET) DEF(GCC_ARM_DLI
 *_CLANGDWARF_ARM_CC_XIPFLAGS        = DEF(GCC_ARM_CC_XIPFLAGS)
 
   DEBUG_CLANGDWARF_ARM_CC_FLAGS     = DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
-  DEBUG_CLANGDWARF_ARM_DLINK_FLAGS  = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
+  DEBUG_CLANGDWARF_ARM_DLINK_FLAGS  = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -flto -Wl,-O1 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm -Wl,--no-pie,--no-relax
   NOOPT_CLANGDWARF_ARM_CC_FLAGS     = DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -O0
-  NOOPT_CLANGDWARF_ARM_DLINK_FLAGS  = DEF(CLANGDWARF_ARM_DLINK_FLAGS)
+  NOOPT_CLANGDWARF_ARM_DLINK_FLAGS  = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -fuse-ld=lld -Wl,--no-pie,--no-relax
 RELEASE_CLANGDWARF_ARM_CC_FLAGS     = DEF(CLANGDWARF_ARM_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
-RELEASE_CLANGDWARF_ARM_DLINK_FLAGS  = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm
+RELEASE_CLANGDWARF_ARM_DLINK_FLAGS  = DEF(CLANGDWARF_ARM_DLINK_FLAGS) -flto -Wl,-O3 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-arm -Wl,-plugin-opt=-pass-through=-llto-arm -Wl,--no-pie,--no-relax
 
 ##################
 # CLANGDWARF AARCH64 definitions
@@ -2289,11 +2289,11 @@ DEFINE CLANGDWARF_AARCH64_DLINK_FLAGS  = DEF(CLANGDWARF_AARCH64_TARGET) DEF(GCC_
 *_CLANGDWARF_AARCH64_CC_XIPFLAGS    = DEF(GCC_AARCH64_CC_XIPFLAGS)
 
   DEBUG_CLANGDWARF_AARCH64_CC_FLAGS    = DEF(CLANGDWARF_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O1
-  DEBUG_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -flto -Wl,-O1 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64
+  DEBUG_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -flto -Wl,-O1 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wl,--no-pie,--no-relax
   NOOPT_CLANGDWARF_AARCH64_CC_FLAGS    = DEF(CLANGDWARF_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -O0
-  NOOPT_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS)
+  NOOPT_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -fuse-ld=lld -Wl,--no-pie,--no-relax
 RELEASE_CLANGDWARF_AARCH64_CC_FLAGS    = DEF(CLANGDWARF_AARCH64_CC_FLAGS) $(PLATFORM_FLAGS) -flto -O3
-RELEASE_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -flto -Wl,-O3 -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64
+RELEASE_CLANGDWARF_AARCH64_DLINK_FLAGS = DEF(CLANGDWARF_AARCH64_DLINK_FLAGS) -flto -Wl,-O3 -fuse-ld=lld -L$(WORKSPACE)/ArmPkg/Library/GccLto -llto-aarch64 -Wl,-plugin-opt=-pass-through=-llto-aarch64 -Wl,--no-pie,--no-relax
 
 #
 #
-- 
2.39.2


  parent reply	other threads:[~2023-05-01 16:09 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-01 16:08 [PATCH v6 00/16] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 01/16] BaseTools: Remove VS2008, 2010, 2012 and 2013 toolchain definitions Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 02/16] BaseTools: Remove VS2008-VS2013 remnants Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 03/16] MdePkg: " Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 04/16] edksetup.bat: " Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 05/16] BaseTools: Remove unused IPHONE_TOOLS and SOURCERY_CYGWIN_TOOLS defs Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 06/16] BaseTools: Remove EBC (EFI Byte Code) compiler definitions Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 07/16] BaseTools: Update VS toolchain descriptions in tools_def.txt.template Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 08/16] Add GCC and GCCNOLTO toolchains to tools_def.txt and update packages Rebecca Cran
2023-05-02  0:06   ` Rebecca Cran
2023-05-02  6:35     ` [edk2-devel] " Yao, Jiewen
2023-05-02 14:23       ` Rebecca Cran
2023-05-05  2:00         ` 回复: " gaoliming
2023-05-05  2:02           ` Yao, Jiewen
2023-05-05  2:11             ` Rebecca Cran
2023-05-05  7:41               ` 回复: " gaoliming
2023-05-05  9:14                 ` Rebecca Cran
2023-05-05  2:05           ` 回复: " Rebecca Cran
     [not found]   ` <175B2AD2536192C7.26969@groups.io>
2023-05-02  0:08     ` Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 09/16] BaseTools/Conf/tools_def.template: Add section for deprecated toolchains Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 10/16] BaseTools: Add ARM and AARCH64 CLANGDWARF support in tools_def.template Rebecca Cran
2023-05-01 16:08 ` Rebecca Cran [this message]
2023-05-01 16:08 ` [PATCH v6 12/16] BaseTools: Remove CLANG35 toolchain from tools_def.template Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 13/16] BaseTools: Delete CLANG38 " Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 14/16] BaseTools/Conf/tools_def.template: Bump VERSION to 3.00 Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 15/16] CryptoPkg: Delete CLANG35 and CLANG38 build flags Rebecca Cran
2023-05-01 16:08 ` [PATCH v6 16/16] CryptoPkg: Copy CLANGPDB build flags to CLANGDWARF Rebecca Cran
2023-05-01 18:36 ` [edk2-devel] [PATCH v6 00/16] BaseTools,CryptoPkg,EmulatorPkg,MdePkg,others: Delete CLANG35,CLANG38,VS2008-2013,EBC, deprecate GCC48,GCC49,GCC5, add GCC and GCCNOLTO, update CLANGDWARF Michael D Kinney
2023-05-04 12:42 ` Rebecca Cran

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=20230501160839.884391-12-rebecca@bsdio.com \
    --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