public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Marcin Wojtas <mw@semihalf.com>
Cc: "Gao, Liming" <liming.gao@intel.com>,
	 "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	 "daniel.thompson@linaro.org" <daniel.thompson@linaro.org>,
	 "leif.lindholm@linaro.org" <leif.lindholm@linaro.org>
Subject: Re: [PATCH] BaseTools/tools_def AARCH64 ARM: disable PIE linking for .aslc sources
Date: Thu, 16 Nov 2017 14:48:22 +0000	[thread overview]
Message-ID: <CAKv+Gu-5207G0DB5HeWZsBs5+37qVapwgaH7NzkeKtfpDLG26w@mail.gmail.com> (raw)
In-Reply-To: <CAPv3WKcDJauOgR5GFsAbrB8buipxYEBuYWvywV12xXrg_dZrYA@mail.gmail.com>

On 16 November 2017 at 14:38, Marcin Wojtas <mw@semihalf.com> wrote:
> Hi Ard,
>
> With both PIE disabling patches for AARCH64, when compiling ACPI tables with
> gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
> I get following errors:
> [...]
> aarch64-linux-gnu-gcc: error: unrecognized command line option '-no-pie'
> Do I understand correctly, that I should either revert those patches
> or upgrade to the newer toolchain?
>

Ugh.

I thought GCC 5 and later implemented -no-pie, but apparently not.

Does this fix your build? I will need to check whether it fixes the
original issue, but hopefully your toolchain doesn't choke on this:

diff --git a/BaseTools/Conf/tools_def.template
b/BaseTools/Conf/tools_def.template
index aebd7d558633..111fe8da7773 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4496,10 +4496,10 @@ DEFINE GCC5_AARCH64_CC_FLAGS         =
DEF(GCC49_AARCH64_CC_FLAGS)
 DEFINE GCC5_AARCH64_CC_XIPFLAGS      = DEF(GCC49_AARCH64_CC_XIPFLAGS)
 DEFINE GCC5_ARM_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS) -no-pie
 DEFINE GCC5_ARM_DLINK2_FLAGS         = DEF(GCC49_ARM_DLINK2_FLAGS) -Wno-error
-DEFINE GCC5_AARCH64_DLINK_FLAGS      = DEF(GCC49_AARCH64_DLINK_FLAGS) -no-pie
+DEFINE GCC5_AARCH64_DLINK_FLAGS      = DEF(GCC49_AARCH64_DLINK_FLAGS)
-Wl,-no-pie
 DEFINE GCC5_AARCH64_DLINK2_FLAGS     =
DEF(GCC49_AARCH64_DLINK2_FLAGS) -Wno-error
 DEFINE GCC5_ARM_ASLDLINK_FLAGS       = DEF(GCC49_ARM_ASLDLINK_FLAGS) -no-pie
-DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   =
DEF(GCC49_AARCH64_ASLDLINK_FLAGS) -no-pie
+DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   =
DEF(GCC49_AARCH64_ASLDLINK_FLAGS) -Wl,-no-pie

 ####################################################################################
 #



>
> 2017-11-01 16:18 GMT+01:00 Ard Biesheuvel <ard.biesheuvel@linaro.org>:
>> On 1 November 2017 at 15:13, Gao, Liming <liming.gao@intel.com> wrote:
>>> Reviewed-by: Liming Gao <liming.gao@intel.com>
>>>
>>
>> Thanks - pushed as 3380a591232de2ab3007ab051010a67c3d000d1c
>>
>>>> -----Original Message-----
>>>> From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
>>>> Sent: Wednesday, November 1, 2017 11:01 PM
>>>> To: edk2-devel@lists.01.org; leif.lindholm@linaro.org; Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong
>>>> <yonghong.zhu@intel.com>
>>>> Cc: daniel.thompson@linaro.org; Ard Biesheuvel <ard.biesheuvel@linaro.org>
>>>> Subject: [PATCH] BaseTools/tools_def AARCH64 ARM: disable PIE linking for .aslc sources
>>>>
>>>> Commit 1894a7c64c0a ("BaseTools/tools_def AARCH64 ARM: disable PIE
>>>> linking") works around an issue that was caught due to the fact that
>>>> PIE linking produces broken .acpi files. However, v2 of that fix
>>>> inadvertently only applied the workaround to the normal linker command
>>>> line, and not to the ASLD one, so the issue still persists.
>>>>
>>>> So add the missing -no-pie options for ASLD on ARM and AARCH64.
>>>>
>>>> Contributed-under: TianoCore Contribution Agreement 1.1
>>>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>>>> ---
>>>>  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 98df0ffc9294..aebd7d558633 100755
>>>> --- a/BaseTools/Conf/tools_def.template
>>>> +++ b/BaseTools/Conf/tools_def.template
>>>> @@ -4498,8 +4498,8 @@ DEFINE GCC5_ARM_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS) -no-pie
>>>>  DEFINE GCC5_ARM_DLINK2_FLAGS         = DEF(GCC49_ARM_DLINK2_FLAGS) -Wno-error
>>>>  DEFINE GCC5_AARCH64_DLINK_FLAGS      = DEF(GCC49_AARCH64_DLINK_FLAGS) -no-pie
>>>>  DEFINE GCC5_AARCH64_DLINK2_FLAGS     = DEF(GCC49_AARCH64_DLINK2_FLAGS) -Wno-error
>>>> -DEFINE GCC5_ARM_ASLDLINK_FLAGS       = DEF(GCC49_ARM_ASLDLINK_FLAGS)
>>>> -DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
>>>> +DEFINE GCC5_ARM_ASLDLINK_FLAGS       = DEF(GCC49_ARM_ASLDLINK_FLAGS) -no-pie
>>>> +DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS) -no-pie
>>>>
>>>>  ####################################################################################
>>>>  #
>>>> --
>>>> 2.11.0
>>>
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel


  reply	other threads:[~2017-11-16 14:44 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-01 15:01 [PATCH] BaseTools/tools_def AARCH64 ARM: disable PIE linking for .aslc sources Ard Biesheuvel
2017-11-01 15:13 ` Gao, Liming
2017-11-01 15:18   ` Ard Biesheuvel
2017-11-16 14:38     ` Marcin Wojtas
2017-11-16 14:48       ` Ard Biesheuvel [this message]
2017-11-16 15:07         ` Marcin Wojtas
2017-11-16 15:08           ` Ard Biesheuvel
2017-11-16 15:31             ` Gao, Liming
2017-11-16 15:45               ` Ard Biesheuvel
2017-11-21 12:06                 ` Marcin Wojtas

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=CAKv+Gu-5207G0DB5HeWZsBs5+37qVapwgaH7NzkeKtfpDLG26w@mail.gmail.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