public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections via linker script
@ 2017-11-21 16:10 Ard Biesheuvel
  2017-11-21 16:48 ` Marcin Wojtas
  2017-11-23 10:16 ` Gao, Liming
  0 siblings, 2 replies; 6+ messages in thread
From: Ard Biesheuvel @ 2017-11-21 16:10 UTC (permalink / raw)
  To: edk2-devel, leif.lindholm
  Cc: mw, yonghong.zhu, liming.gao, daniel.thompson, Ard Biesheuvel

Recent distro builds of GCC 6 enable PIE linking by default, and allow
the previous behavior to be restored by passing the -no-pie command line
argument. This was implemented by commits 1894a7c64c0a and 3380a591232d
but unfortunately, it turns out that GCC 5 does not support this command
line argument, and exits with an error.

To avoid the need for yet another toolchain tag, to distinguish between
GCC 5 and GCC 6, let's use our GCC linker scripts when building objects
from .aslc files. This will ensure that the extra sections that are added
by the PIE linker are discarded from the ELF binary, and so they will not
corrupt the resulting .acpi file.

This reverts

1894a7c64c0a BaseTools/tools_def AARCH64 ARM: disable PIE linking
3380a591232d BaseTools/tools_def AARCH64 ARM: disable PIE linking for .aslc sources

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 BaseTools/Conf/tools_def.template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index aebd7d558633..4d2a3b7dbe56 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4356,9 +4356,10 @@ DEFINE GCC_IA32_X64_DLINK_COMMON   = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
 DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
 DEFINE GCC_ARM_DLINK_FLAGS         = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
 DEFINE GCC_AARCH64_DLINK_FLAGS     = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
+DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -z common-page-size=0x20
 DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
-DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
-DEFINE GCC_AARCH64_ASLDLINK_FLAGS  = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
+DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
+DEFINE GCC_AARCH64_ASLDLINK_FLAGS  = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
 DEFINE GCC_IA32_X64_DLINK_FLAGS    = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
 DEFINE GCC_IPF_DLINK_FLAGS         = -nostdlib -O2 --gc-sections --dll -static --entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
 DEFINE GCC_IPF_OBJCOPY_FLAGS       = -I elf64-ia64-little -O efi-bsdrv-ia64
@@ -4494,12 +4495,12 @@ DEFINE GCC5_ARM_CC_FLAGS             = DEF(GCC49_ARM_CC_FLAGS)
 DEFINE GCC5_ARM_CC_XIPFLAGS          = DEF(GCC49_ARM_CC_XIPFLAGS)
 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_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS)
 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)
 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_ARM_ASLDLINK_FLAGS       = DEF(GCC49_ARM_ASLDLINK_FLAGS)
+DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 
 ####################################################################################
 #
-- 
2.11.0



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

* Re: [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections via linker script
  2017-11-21 16:10 [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections via linker script Ard Biesheuvel
@ 2017-11-21 16:48 ` Marcin Wojtas
  2017-11-23 10:16 ` Gao, Liming
  1 sibling, 0 replies; 6+ messages in thread
From: Marcin Wojtas @ 2017-11-21 16:48 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: edk2-devel-01, Leif Lindholm, Zhu, Yonghong, Gao, Liming,
	Daniel Thompson

Hi Ard,

2017-11-21 17:10 GMT+01:00 Ard Biesheuvel <ard.biesheuvel@linaro.org>:
> Recent distro builds of GCC 6 enable PIE linking by default, and allow
> the previous behavior to be restored by passing the -no-pie command line
> argument. This was implemented by commits 1894a7c64c0a and 3380a591232d
> but unfortunately, it turns out that GCC 5 does not support this command
> line argument, and exits with an error.
>
> To avoid the need for yet another toolchain tag, to distinguish between
> GCC 5 and GCC 6, let's use our GCC linker scripts when building objects
> from .aslc files. This will ensure that the extra sections that are added
> by the PIE linker are discarded from the ELF binary, and so they will not
> corrupt the resulting .acpi file.
>
> This reverts
>
> 1894a7c64c0a BaseTools/tools_def AARCH64 ARM: disable PIE linking
> 3380a591232d BaseTools/tools_def AARCH64 ARM: disable PIE linking for .aslc sources
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> ---
>  BaseTools/Conf/tools_def.template | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
> index aebd7d558633..4d2a3b7dbe56 100755
> --- a/BaseTools/Conf/tools_def.template
> +++ b/BaseTools/Conf/tools_def.template
> @@ -4356,9 +4356,10 @@ DEFINE GCC_IA32_X64_DLINK_COMMON   = DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
>  DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
>  DEFINE GCC_ARM_DLINK_FLAGS         = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
>  DEFINE GCC_AARCH64_DLINK_FLAGS     = DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
> +DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS = -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -z common-page-size=0x20
>  DEFINE GCC_IA32_X64_ASLDLINK_FLAGS = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
> -DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
> -DEFINE GCC_AARCH64_ASLDLINK_FLAGS  = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
> +DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
> +DEFINE GCC_AARCH64_ASLDLINK_FLAGS  = DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
>  DEFINE GCC_IA32_X64_DLINK_FLAGS    = DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
>  DEFINE GCC_IPF_DLINK_FLAGS         = -nostdlib -O2 --gc-sections --dll -static --entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
>  DEFINE GCC_IPF_OBJCOPY_FLAGS       = -I elf64-ia64-little -O efi-bsdrv-ia64
> @@ -4494,12 +4495,12 @@ DEFINE GCC5_ARM_CC_FLAGS             = DEF(GCC49_ARM_CC_FLAGS)
>  DEFINE GCC5_ARM_CC_XIPFLAGS          = DEF(GCC49_ARM_CC_XIPFLAGS)
>  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_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS)
>  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)
>  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_ARM_ASLDLINK_FLAGS       = DEF(GCC49_ARM_ASLDLINK_FLAGS)
> +DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
>
>  ####################################################################################
>  #
> --

Thanks for the patch - this fixes regression, I observed when building
edk2 with gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu, so

Tested-by: Marcin Wojtas <mw@semihalf.com>


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

* Re: [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections via linker script
  2017-11-21 16:10 [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections via linker script Ard Biesheuvel
  2017-11-21 16:48 ` Marcin Wojtas
@ 2017-11-23 10:16 ` Gao, Liming
  2017-11-23 10:19   ` Ard Biesheuvel
  1 sibling, 1 reply; 6+ messages in thread
From: Gao, Liming @ 2017-11-23 10:16 UTC (permalink / raw)
  To: Ard Biesheuvel, edk2-devel@lists.01.org, leif.lindholm@linaro.org

Ard:
  Have you own GCC linker script? Is it not in BaseTools?

Thanks
Liming
>-----Original Message-----
>From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
>Sent: Wednesday, November 22, 2017 12:11 AM
>To: edk2-devel@lists.01.org; leif.lindholm@linaro.org
>Cc: mw@semihalf.com; Zhu, Yonghong <yonghong.zhu@intel.com>; Gao,
>Liming <liming.gao@intel.com>; daniel.thompson@linaro.org; Ard Biesheuvel
><ard.biesheuvel@linaro.org>
>Subject: [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections
>via linker script
>
>Recent distro builds of GCC 6 enable PIE linking by default, and allow
>the previous behavior to be restored by passing the -no-pie command line
>argument. This was implemented by commits 1894a7c64c0a and 3380a591232d
>but unfortunately, it turns out that GCC 5 does not support this command
>line argument, and exits with an error.
>
>To avoid the need for yet another toolchain tag, to distinguish between
>GCC 5 and GCC 6, let's use our GCC linker scripts when building objects
>from .aslc files. This will ensure that the extra sections that are added
>by the PIE linker are discarded from the ELF binary, and so they will not
>corrupt the resulting .acpi file.
>
>This reverts
>
>1894a7c64c0a BaseTools/tools_def AARCH64 ARM: disable PIE linking
>3380a591232d BaseTools/tools_def AARCH64 ARM: disable PIE linking for .aslc
>sources
>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>---
> BaseTools/Conf/tools_def.template | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
>diff --git a/BaseTools/Conf/tools_def.template
>b/BaseTools/Conf/tools_def.template
>index aebd7d558633..4d2a3b7dbe56 100755
>--- a/BaseTools/Conf/tools_def.template
>+++ b/BaseTools/Conf/tools_def.template
>@@ -4356,9 +4356,10 @@ DEFINE GCC_IA32_X64_DLINK_COMMON   =
>DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
> DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -
>Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-
>e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
> DEFINE GCC_ARM_DLINK_FLAGS         =
>DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
> DEFINE GCC_AARCH64_DLINK_FLAGS     =
>DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
>+DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS = -Wl,--
>defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -z
>common-page-size=0x20
> DEFINE GCC_IA32_X64_ASLDLINK_FLAGS =
>DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u
>$(IMAGE_ENTRY_POINT)
>-DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -
>Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
>-DEFINE GCC_AARCH64_ASLDLINK_FLAGS  =
>DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u
>$(IMAGE_ENTRY_POINT)
>+DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -
>Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
>DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
>+DEFINE GCC_AARCH64_ASLDLINK_FLAGS  =
>DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u
>$(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
> DEFINE GCC_IA32_X64_DLINK_FLAGS    =
>DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --
>file-alignment 0x20 --section-alignment 0x20 -Map
>$(DEST_DIR_DEBUG)/$(BASE_NAME).map
> DEFINE GCC_IPF_DLINK_FLAGS         = -nostdlib -O2 --gc-sections --dll -static --
>entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map
>$(DEST_DIR_DEBUG)/$(BASE_NAME).map
> DEFINE GCC_IPF_OBJCOPY_FLAGS       = -I elf64-ia64-little -O efi-bsdrv-ia64
>@@ -4494,12 +4495,12 @@ DEFINE GCC5_ARM_CC_FLAGS             =
>DEF(GCC49_ARM_CC_FLAGS)
> DEFINE GCC5_ARM_CC_XIPFLAGS          = DEF(GCC49_ARM_CC_XIPFLAGS)
> 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_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS)
> 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)
> 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_ARM_ASLDLINK_FLAGS       =
>DEF(GCC49_ARM_ASLDLINK_FLAGS)
>+DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   =
>DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
>
>
>###########################################################
>#########################
> #
>--
>2.11.0



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

* Re: [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections via linker script
  2017-11-23 10:16 ` Gao, Liming
@ 2017-11-23 10:19   ` Ard Biesheuvel
  2017-11-23 10:21     ` Gao, Liming
  0 siblings, 1 reply; 6+ messages in thread
From: Ard Biesheuvel @ 2017-11-23 10:19 UTC (permalink / raw)
  To: Gao, Liming
  Cc: edk2-devel@lists.01.org, leif.lindholm@linaro.org,
	mw@semihalf.com, Zhu, Yonghong, daniel.thompson@linaro.org

On 23 November 2017 at 10:16, Gao, Liming <liming.gao@intel.com> wrote:
> Ard:
>   Have you own GCC linker script? Is it not in BaseTools?
>

No it is just GccBase.lds like we use for PE/COFF binaries, but this
patch uses it for .aslc files as well.

>>-----Original Message-----
>>From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
>>Sent: Wednesday, November 22, 2017 12:11 AM
>>To: edk2-devel@lists.01.org; leif.lindholm@linaro.org
>>Cc: mw@semihalf.com; Zhu, Yonghong <yonghong.zhu@intel.com>; Gao,
>>Liming <liming.gao@intel.com>; daniel.thompson@linaro.org; Ard Biesheuvel
>><ard.biesheuvel@linaro.org>
>>Subject: [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections
>>via linker script
>>
>>Recent distro builds of GCC 6 enable PIE linking by default, and allow
>>the previous behavior to be restored by passing the -no-pie command line
>>argument. This was implemented by commits 1894a7c64c0a and 3380a591232d
>>but unfortunately, it turns out that GCC 5 does not support this command
>>line argument, and exits with an error.
>>
>>To avoid the need for yet another toolchain tag, to distinguish between
>>GCC 5 and GCC 6, let's use our GCC linker scripts when building objects
>>from .aslc files. This will ensure that the extra sections that are added
>>by the PIE linker are discarded from the ELF binary, and so they will not
>>corrupt the resulting .acpi file.
>>
>>This reverts
>>
>>1894a7c64c0a BaseTools/tools_def AARCH64 ARM: disable PIE linking
>>3380a591232d BaseTools/tools_def AARCH64 ARM: disable PIE linking for .aslc
>>sources
>>
>>Contributed-under: TianoCore Contribution Agreement 1.1
>>Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>>---
>> BaseTools/Conf/tools_def.template | 13 +++++++------
>> 1 file changed, 7 insertions(+), 6 deletions(-)
>>
>>diff --git a/BaseTools/Conf/tools_def.template
>>b/BaseTools/Conf/tools_def.template
>>index aebd7d558633..4d2a3b7dbe56 100755
>>--- a/BaseTools/Conf/tools_def.template
>>+++ b/BaseTools/Conf/tools_def.template
>>@@ -4356,9 +4356,10 @@ DEFINE GCC_IA32_X64_DLINK_COMMON   =
>>DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
>> DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs -nostdlib -
>>Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-
>>e,$(IMAGE_ENTRY_POINT),-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
>> DEFINE GCC_ARM_DLINK_FLAGS         =
>>DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
>> DEFINE GCC_AARCH64_DLINK_FLAGS     =
>>DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
>>+DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS = -Wl,--
>>defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -z
>>common-page-size=0x20
>> DEFINE GCC_IA32_X64_ASLDLINK_FLAGS =
>>DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u
>>$(IMAGE_ENTRY_POINT)
>>-DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -
>>Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
>>-DEFINE GCC_AARCH64_ASLDLINK_FLAGS  =
>>DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u
>>$(IMAGE_ENTRY_POINT)
>>+DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -
>>Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
>>DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
>>+DEFINE GCC_AARCH64_ASLDLINK_FLAGS  =
>>DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u
>>$(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
>> DEFINE GCC_IA32_X64_DLINK_FLAGS    =
>>DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) --
>>file-alignment 0x20 --section-alignment 0x20 -Map
>>$(DEST_DIR_DEBUG)/$(BASE_NAME).map
>> DEFINE GCC_IPF_DLINK_FLAGS         = -nostdlib -O2 --gc-sections --dll -static --
>>entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map
>>$(DEST_DIR_DEBUG)/$(BASE_NAME).map
>> DEFINE GCC_IPF_OBJCOPY_FLAGS       = -I elf64-ia64-little -O efi-bsdrv-ia64
>>@@ -4494,12 +4495,12 @@ DEFINE GCC5_ARM_CC_FLAGS             =
>>DEF(GCC49_ARM_CC_FLAGS)
>> DEFINE GCC5_ARM_CC_XIPFLAGS          = DEF(GCC49_ARM_CC_XIPFLAGS)
>> 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_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS)
>> 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)
>> 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_ARM_ASLDLINK_FLAGS       =
>>DEF(GCC49_ARM_ASLDLINK_FLAGS)
>>+DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   =
>>DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
>>
>>
>>###########################################################
>>#########################
>> #
>>--
>>2.11.0
>


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

* Re: [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections via linker script
  2017-11-23 10:19   ` Ard Biesheuvel
@ 2017-11-23 10:21     ` Gao, Liming
  2017-11-23 10:46       ` Ard Biesheuvel
  0 siblings, 1 reply; 6+ messages in thread
From: Gao, Liming @ 2017-11-23 10:21 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: edk2-devel@lists.01.org, leif.lindholm@linaro.org,
	mw@semihalf.com, Zhu, Yonghong, daniel.thompson@linaro.org

OK. I see the change to add DEF(GCC_DLINK2_FLAGS_COMMON) into ASLDLINK_FLAGS. 

Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
>Sent: Thursday, November 23, 2017 6:19 PM
>To: Gao, Liming <liming.gao@intel.com>
>Cc: edk2-devel@lists.01.org; leif.lindholm@linaro.org; mw@semihalf.com;
>Zhu, Yonghong <yonghong.zhu@intel.com>; daniel.thompson@linaro.org
>Subject: Re: [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE
>sections via linker script
>
>On 23 November 2017 at 10:16, Gao, Liming <liming.gao@intel.com> wrote:
>> Ard:
>>   Have you own GCC linker script? Is it not in BaseTools?
>>
>
>No it is just GccBase.lds like we use for PE/COFF binaries, but this
>patch uses it for .aslc files as well.
>
>>>-----Original Message-----
>>>From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
>>>Sent: Wednesday, November 22, 2017 12:11 AM
>>>To: edk2-devel@lists.01.org; leif.lindholm@linaro.org
>>>Cc: mw@semihalf.com; Zhu, Yonghong <yonghong.zhu@intel.com>; Gao,
>>>Liming <liming.gao@intel.com>; daniel.thompson@linaro.org; Ard
>Biesheuvel
>>><ard.biesheuvel@linaro.org>
>>>Subject: [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections
>>>via linker script
>>>
>>>Recent distro builds of GCC 6 enable PIE linking by default, and allow
>>>the previous behavior to be restored by passing the -no-pie command line
>>>argument. This was implemented by commits 1894a7c64c0a and
>3380a591232d
>>>but unfortunately, it turns out that GCC 5 does not support this command
>>>line argument, and exits with an error.
>>>
>>>To avoid the need for yet another toolchain tag, to distinguish between
>>>GCC 5 and GCC 6, let's use our GCC linker scripts when building objects
>>>from .aslc files. This will ensure that the extra sections that are added
>>>by the PIE linker are discarded from the ELF binary, and so they will not
>>>corrupt the resulting .acpi file.
>>>
>>>This reverts
>>>
>>>1894a7c64c0a BaseTools/tools_def AARCH64 ARM: disable PIE linking
>>>3380a591232d BaseTools/tools_def AARCH64 ARM: disable PIE linking
>for .aslc
>>>sources
>>>
>>>Contributed-under: TianoCore Contribution Agreement 1.1
>>>Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>>>---
>>> BaseTools/Conf/tools_def.template | 13 +++++++------
>>> 1 file changed, 7 insertions(+), 6 deletions(-)
>>>
>>>diff --git a/BaseTools/Conf/tools_def.template
>>>b/BaseTools/Conf/tools_def.template
>>>index aebd7d558633..4d2a3b7dbe56 100755
>>>--- a/BaseTools/Conf/tools_def.template
>>>+++ b/BaseTools/Conf/tools_def.template
>>>@@ -4356,9 +4356,10 @@ DEFINE GCC_IA32_X64_DLINK_COMMON   =
>>>DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
>>> DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs -
>nostdlib -
>>>Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-
>>>e,$(IMAGE_ENTRY_POINT),-
>Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
>>> DEFINE GCC_ARM_DLINK_FLAGS         =
>>>DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
>>> DEFINE GCC_AARCH64_DLINK_FLAGS     =
>>>DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
>>>+DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS = -Wl,--
>>>defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -z
>>>common-page-size=0x20
>>> DEFINE GCC_IA32_X64_ASLDLINK_FLAGS =
>>>DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u
>>>$(IMAGE_ENTRY_POINT)
>>>-DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -
>>>Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
>>>-DEFINE GCC_AARCH64_ASLDLINK_FLAGS  =
>>>DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u
>>>$(IMAGE_ENTRY_POINT)
>>>+DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -
>>>Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
>>>DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
>>>+DEFINE GCC_AARCH64_ASLDLINK_FLAGS  =
>>>DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u
>>>$(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
>>> DEFINE GCC_IA32_X64_DLINK_FLAGS    =
>>>DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) -
>-
>>>file-alignment 0x20 --section-alignment 0x20 -Map
>>>$(DEST_DIR_DEBUG)/$(BASE_NAME).map
>>> DEFINE GCC_IPF_DLINK_FLAGS         = -nostdlib -O2 --gc-sections --dll -static
>--
>>>entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map
>>>$(DEST_DIR_DEBUG)/$(BASE_NAME).map
>>> DEFINE GCC_IPF_OBJCOPY_FLAGS       = -I elf64-ia64-little -O efi-bsdrv-ia64
>>>@@ -4494,12 +4495,12 @@ DEFINE GCC5_ARM_CC_FLAGS             =
>>>DEF(GCC49_ARM_CC_FLAGS)
>>> DEFINE GCC5_ARM_CC_XIPFLAGS          = DEF(GCC49_ARM_CC_XIPFLAGS)
>>> 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_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS)
>>> 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)
>>> 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_ARM_ASLDLINK_FLAGS       =
>>>DEF(GCC49_ARM_ASLDLINK_FLAGS)
>>>+DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   =
>>>DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
>>>
>>>
>>>#########################################################
>##
>>>#########################
>>> #
>>>--
>>>2.11.0
>>

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

* Re: [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections via linker script
  2017-11-23 10:21     ` Gao, Liming
@ 2017-11-23 10:46       ` Ard Biesheuvel
  0 siblings, 0 replies; 6+ messages in thread
From: Ard Biesheuvel @ 2017-11-23 10:46 UTC (permalink / raw)
  To: Gao, Liming
  Cc: edk2-devel@lists.01.org, leif.lindholm@linaro.org,
	mw@semihalf.com, Zhu, Yonghong, daniel.thompson@linaro.org

On 23 November 2017 at 10:21, Gao, Liming <liming.gao@intel.com> wrote:
> OK. I see the change to add DEF(GCC_DLINK2_FLAGS_COMMON) into ASLDLINK_FLAGS.
>
> Reviewed-by: Liming Gao <liming.gao@intel.com>
>

Thanks all

Pushed as 14ca435fb6c059eaeb7fe6eedbe4738ffaf336d0

>>-----Original Message-----
>>From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
>>Sent: Thursday, November 23, 2017 6:19 PM
>>To: Gao, Liming <liming.gao@intel.com>
>>Cc: edk2-devel@lists.01.org; leif.lindholm@linaro.org; mw@semihalf.com;
>>Zhu, Yonghong <yonghong.zhu@intel.com>; daniel.thompson@linaro.org
>>Subject: Re: [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE
>>sections via linker script
>>
>>On 23 November 2017 at 10:16, Gao, Liming <liming.gao@intel.com> wrote:
>>> Ard:
>>>   Have you own GCC linker script? Is it not in BaseTools?
>>>
>>
>>No it is just GccBase.lds like we use for PE/COFF binaries, but this
>>patch uses it for .aslc files as well.
>>
>>>>-----Original Message-----
>>>>From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org]
>>>>Sent: Wednesday, November 22, 2017 12:11 AM
>>>>To: edk2-devel@lists.01.org; leif.lindholm@linaro.org
>>>>Cc: mw@semihalf.com; Zhu, Yonghong <yonghong.zhu@intel.com>; Gao,
>>>>Liming <liming.gao@intel.com>; daniel.thompson@linaro.org; Ard
>>Biesheuvel
>>>><ard.biesheuvel@linaro.org>
>>>>Subject: [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections
>>>>via linker script
>>>>
>>>>Recent distro builds of GCC 6 enable PIE linking by default, and allow
>>>>the previous behavior to be restored by passing the -no-pie command line
>>>>argument. This was implemented by commits 1894a7c64c0a and
>>3380a591232d
>>>>but unfortunately, it turns out that GCC 5 does not support this command
>>>>line argument, and exits with an error.
>>>>
>>>>To avoid the need for yet another toolchain tag, to distinguish between
>>>>GCC 5 and GCC 6, let's use our GCC linker scripts when building objects
>>>>from .aslc files. This will ensure that the extra sections that are added
>>>>by the PIE linker are discarded from the ELF binary, and so they will not
>>>>corrupt the resulting .acpi file.
>>>>
>>>>This reverts
>>>>
>>>>1894a7c64c0a BaseTools/tools_def AARCH64 ARM: disable PIE linking
>>>>3380a591232d BaseTools/tools_def AARCH64 ARM: disable PIE linking
>>for .aslc
>>>>sources
>>>>
>>>>Contributed-under: TianoCore Contribution Agreement 1.1
>>>>Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>>>>---
>>>> BaseTools/Conf/tools_def.template | 13 +++++++------
>>>> 1 file changed, 7 insertions(+), 6 deletions(-)
>>>>
>>>>diff --git a/BaseTools/Conf/tools_def.template
>>>>b/BaseTools/Conf/tools_def.template
>>>>index aebd7d558633..4d2a3b7dbe56 100755
>>>>--- a/BaseTools/Conf/tools_def.template
>>>>+++ b/BaseTools/Conf/tools_def.template
>>>>@@ -4356,9 +4356,10 @@ DEFINE GCC_IA32_X64_DLINK_COMMON   =
>>>>DEF(GCC_DLINK_FLAGS_COMMON) --gc-sections
>>>> DEFINE GCC_ARM_AARCH64_DLINK_COMMON= -Wl,--emit-relocs -
>>nostdlib -
>>>>Wl,--gc-sections -u $(IMAGE_ENTRY_POINT) -Wl,-
>>>>e,$(IMAGE_ENTRY_POINT),-
>>Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map
>>>> DEFINE GCC_ARM_DLINK_FLAGS         =
>>>>DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
>>>> DEFINE GCC_AARCH64_DLINK_FLAGS     =
>>>>DEF(GCC_ARM_AARCH64_DLINK_COMMON) -z common-page-size=0x20
>>>>+DEFINE GCC_ARM_AARCH64_ASLDLINK_FLAGS = -Wl,--
>>>>defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -z
>>>>common-page-size=0x20
>>>> DEFINE GCC_IA32_X64_ASLDLINK_FLAGS =
>>>>DEF(GCC_IA32_X64_DLINK_COMMON) --entry _ReferenceAcpiTable -u
>>>>$(IMAGE_ENTRY_POINT)
>>>>-DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -
>>>>Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
>>>>-DEFINE GCC_AARCH64_ASLDLINK_FLAGS  =
>>>>DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u
>>>>$(IMAGE_ENTRY_POINT)
>>>>+DEFINE GCC_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_DLINK_FLAGS) -
>>>>Wl,--entry,ReferenceAcpiTable -u $(IMAGE_ENTRY_POINT)
>>>>DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
>>>>+DEFINE GCC_AARCH64_ASLDLINK_FLAGS  =
>>>>DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,ReferenceAcpiTable -u
>>>>$(IMAGE_ENTRY_POINT) DEF(GCC_ARM_AARCH64_ASLDLINK_FLAGS)
>>>> DEFINE GCC_IA32_X64_DLINK_FLAGS    =
>>>>DEF(GCC_IA32_X64_DLINK_COMMON) --entry _$(IMAGE_ENTRY_POINT) -
>>-
>>>>file-alignment 0x20 --section-alignment 0x20 -Map
>>>>$(DEST_DIR_DEBUG)/$(BASE_NAME).map
>>>> DEFINE GCC_IPF_DLINK_FLAGS         = -nostdlib -O2 --gc-sections --dll -static
>>--
>>>>entry $(IMAGE_ENTRY_POINT) --undefined $(IMAGE_ENTRY_POINT) -Map
>>>>$(DEST_DIR_DEBUG)/$(BASE_NAME).map
>>>> DEFINE GCC_IPF_OBJCOPY_FLAGS       = -I elf64-ia64-little -O efi-bsdrv-ia64
>>>>@@ -4494,12 +4495,12 @@ DEFINE GCC5_ARM_CC_FLAGS             =
>>>>DEF(GCC49_ARM_CC_FLAGS)
>>>> DEFINE GCC5_ARM_CC_XIPFLAGS          = DEF(GCC49_ARM_CC_XIPFLAGS)
>>>> 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_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS)
>>>> 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)
>>>> 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_ARM_ASLDLINK_FLAGS       =
>>>>DEF(GCC49_ARM_ASLDLINK_FLAGS)
>>>>+DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   =
>>>>DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
>>>>
>>>>
>>>>#########################################################
>>##
>>>>#########################
>>>> #
>>>>--
>>>>2.11.0
>>>


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

end of thread, other threads:[~2017-11-23 10:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-21 16:10 [PATCH] BaseTools/tools_def AARCH64 ARM: suppres PIE sections via linker script Ard Biesheuvel
2017-11-21 16:48 ` Marcin Wojtas
2017-11-23 10:16 ` Gao, Liming
2017-11-23 10:19   ` Ard Biesheuvel
2017-11-23 10:21     ` Gao, Liming
2017-11-23 10:46       ` Ard Biesheuvel

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