From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2a00:1450:400c:c09::242; helo=mail-wm0-x242.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 2AED1203B99CA for ; Mon, 18 Jun 2018 01:27:54 -0700 (PDT) Received: by mail-wm0-x242.google.com with SMTP id l15-v6so14014089wmc.1 for ; Mon, 18 Jun 2018 01:27:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=+wd7cx5310UnhxV0lJ39MLlGY0OzwZ6qY08pxHCJpZk=; b=TDLUrdhmcPjiylcKOHvH8PV5q9Fxoia4Om6ct9KY4YCdXIkoOr7NR1BmNiBSlcN2FU ftEv+dGos9PVYWyGTp2TfwZKIGrWUSq4CqYnQ3u1RyHRQ8b9GAFrk2M+rKPSMkQNO/4K zZyl6Tof8agUjFSzoFoeAC17ulmcMkFvWi+iI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=+wd7cx5310UnhxV0lJ39MLlGY0OzwZ6qY08pxHCJpZk=; b=ozkSF48E5UC5jTabc0SkKy91cddmnxneqqBQXJ46dgKyXceJkthDIUOgyhN7NY2nJL rPTh+fJA704GcjLMnKJzuRP1nvkSQOebpMlpyAqM0SKrl1kNz7WKyeHF1m7umEPKRGa0 EpJ3ol/Hq3orBfaaQeyUDfom6iAhZ569i3SN4GwaE9UzhM6rcF6WI07fR6kyvlVpVC4K WNQ1m2fLEcyMDwxF8LviiuyFhMN/JUYDl+FPHFvUtho9BQaKaWek+NMbRG1eBUX1FAgp plbBgFO6S9KRc0yPwhKL43l4uH7yzKVDSSe+Van7874M7PWtP3B8AdPaeF8bhD8P68y8 r97A== X-Gm-Message-State: APt69E2ShgJh33i0wp5TK5THzDCam2fZSOmD1cpwP6Qq2hbBIj3ImWrU sJVnNdyqrNdQQJF+EWKdCe8ZskfNOIA= X-Google-Smtp-Source: ADUXVKKW8sgdiXHTR7hiwgl57uhOFHcnmFwe5fiC5sWF9fHTO8sBuxcLWoq5sDa8POnD4ZpCLQxX9Q== X-Received: by 2002:a1c:6744:: with SMTP id b65-v6mr7522908wmc.9.1529310470877; Mon, 18 Jun 2018 01:27:50 -0700 (PDT) Received: from dogfood.home ([2a01:cb1d:112:6f00:50d8:cb10:b6d:abf0]) by smtp.gmail.com with ESMTPSA id g11-v6sm14422654wrr.46.2018.06.18.01.27.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 18 Jun 2018 01:27:50 -0700 (PDT) From: Ard Biesheuvel To: edk2-devel@lists.01.org Cc: lersek@redhat.com, liming.gao@intel.com, yonghong.zhu@intel.com, Ard Biesheuvel Date: Mon, 18 Jun 2018 10:27:48 +0200 Message-Id: <20180618082748.30067-1-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.17.1 Subject: [PATCH] BaseTools/tools_def IA32: drop -no-pie linker option for GCC49 X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jun 2018 08:27:54 -0000 As reported by Liming, GCC 4.9.2 does not support the -no-pie linker option that we added to the GCC49 and GCC5 toolchain profiles in commit c25d3905523a ("BaseTools/tools_def IA32: disable PIE code generation explicitly") to work around issues with recent distro toolchains that enable PIE code generation by default. So rollback the changes for GCC49 but preserve them for GCC5 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel --- BaseTools/Conf/tools_def.template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template index 733c6ec71709..ab57f9c706e3 100755 --- a/BaseTools/Conf/tools_def.template +++ b/BaseTools/Conf/tools_def.template @@ -4648,7 +4648,7 @@ DEFINE GCC48_AARCH64_DLINK2_FLAGS = DEF(GCC47_AARCH64_DLINK2_FLAGS) DEFINE GCC48_ARM_ASLDLINK_FLAGS = DEF(GCC47_ARM_ASLDLINK_FLAGS) DEFINE GCC48_AARCH64_ASLDLINK_FLAGS = DEF(GCC47_AARCH64_ASLDLINK_FLAGS) -DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) -fno-pic -fno-pie +DEFINE GCC49_IA32_CC_FLAGS = DEF(GCC48_IA32_CC_FLAGS) DEFINE GCC49_X64_CC_FLAGS = DEF(GCC48_X64_CC_FLAGS) DEFINE GCC49_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40 DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable @@ -4670,7 +4670,7 @@ DEFINE GCC49_AARCH64_DLINK2_FLAGS = DEF(GCC48_AARCH64_DLINK2_FLAGS) DEFINE GCC49_ARM_ASLDLINK_FLAGS = DEF(GCC48_ARM_ASLDLINK_FLAGS) DEFINE GCC49_AARCH64_ASLDLINK_FLAGS = DEF(GCC48_AARCH64_ASLDLINK_FLAGS) -DEFINE GCC5_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) +DEFINE GCC5_IA32_CC_FLAGS = DEF(GCC49_IA32_CC_FLAGS) -fno-pic -fno-pie DEFINE GCC5_X64_CC_FLAGS = DEF(GCC49_X64_CC_FLAGS) DEFINE GCC5_IA32_X64_DLINK_COMMON = DEF(GCC49_IA32_X64_DLINK_COMMON) DEFINE GCC5_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) @@ -5357,10 +5357,10 @@ RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s *_GCC49_IA32_RC_PATH = DEF(GCC49_IA32_PREFIX)objcopy *_GCC49_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -*_GCC49_IA32_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -no-pie +*_GCC49_IA32_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 *_GCC49_IA32_ASM_FLAGS = DEF(GCC49_ASM_FLAGS) -m32 -march=i386 *_GCC49_IA32_DLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386 -*_GCC49_IA32_DLINK2_FLAGS = DEF(GCC49_IA32_DLINK2_FLAGS) -no-pie +*_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 -- 2.17.1