[OE-core] [daisy][PATCH] binutils: Add fix for recent patch on older gcc

Paul Eggleton paul.eggleton at linux.intel.com
Wed Sep 17 17:28:17 UTC 2014


On Tuesday 29 July 2014 09:13:05 Darcy Watkins wrote:
> From: Darcy Watkins <dwatkins>
> 
> The recent bintuils patch update breaks on older gccs such as CentOS 6.
> Backport a patch to address this.
> 
> (From master: 540b7a196a00c4dc1bf8f7c87e68e80ab310756e)
> (From OE-Core rev: 76f65e73081f52cea718ef164f9d1d7a5c65d537)
> 
> Signed-off-by: Darcy Watkins <dwatkins at sierrawireless.com>
> ---
>  meta/recipes-devtools/binutils/binutils-2.24.inc   |  1 +
>  .../binutils/binutils-uninitialised-warning.patch  | 50
> ++++++++++++++++++++++ 2 files changed, 51 insertions(+)
>  create mode 100644
> meta/recipes-devtools/binutils/binutils/binutils-uninitialised-warning.patc
> h
> 
> diff --git a/meta/recipes-devtools/binutils/binutils-2.24.inc
> b/meta/recipes-devtools/binutils/binutils-2.24.inc index ef6a4eb..8f3216f
> 100644
> --- a/meta/recipes-devtools/binutils/binutils-2.24.inc
> +++ b/meta/recipes-devtools/binutils/binutils-2.24.inc
> @@ -31,6 +31,7 @@ SRC_URI = "\
>       file://fix-pr16428.patch \
>       file://replace_macros_with_static_inline.patch \
>       file://0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch
> \ +     file://binutils-uninitialised-warning.patch \
>       "
> 
>  SRC_URI[md5sum] = "e0f71a7b2ddab0f8612336ac81d9636b"
> diff --git
> a/meta/recipes-devtools/binutils/binutils/binutils-uninitialised-warning.pa
> tch
> b/meta/recipes-devtools/binutils/binutils/binutils-uninitialised-warning.pa
> tch new file mode 100644
> index 0000000..2feb80c
> --- /dev/null
> +++
> b/meta/recipes-devtools/binutils/binutils/binutils-uninitialised-warning.pa
> tch @@ -0,0 +1,50 @@
> +From f9c316c4d75be236bbaa8464ef803ed2d3859d6d Mon Sep 17 00:00:00 2001
> +From: H.J. Lu <hjl.tools at gmail.com>
> +Date: Wed, 15 Jan 2014 07:43:19 -0800
> +Subject: [PATCH 1/1] Silence uninitialized warning on ehdr_start_save
> +
> +Older GCC, like 4.1/4.2, will issue an uninitialized warning on
> +ehdr_start_save.  This patch silences by using
> +
> +struct bfd_link_hash_entry ehdr_start_save = ehdr_start_save;
> +
> +	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
> +	Silence uninitialized warning on ehdr_start_save with older
> +	GCC.
> +
> +Upstream-Status: Backport
> +---
> + ld/ChangeLog          |    6 ++++++
> + ld/emultempl/elf32.em |    2 +-
> + 2 files changed, 7 insertions(+), 1 deletions(-)
> +
> +#diff --git a/ld/ChangeLog b/ld/ChangeLog
> +#index eaa6b93..91055de 100644
> +#--- a/ld/ChangeLog
> +#+++ b/ld/ChangeLog
> +#@@ -1,3 +1,9 @@
> +#+2014-01-15  H.J. Lu  <hongjiu.lu at intel.com>
> +#+
> +#+	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
> +#+	Silence uninitialized warning on ehdr_start_save with older
> +#+	GCC.
> +#+
> +# 2014-01-15  Alan Modra  <amodra at gmail.com>
> +#
> +# 	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Define
> +diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
> +index 13f86f0..569c7f7 100644
> +--- a/ld/emultempl/elf32.em
> ++++ b/ld/emultempl/elf32.em
> +@@ -1481,7 +1481,7 @@ gld${EMULATION_NAME}_before_allocation (void)
> +   asection *sinterp;
> +   bfd *abfd;
> +   struct elf_link_hash_entry *ehdr_start = NULL;
> +-  struct bfd_link_hash_entry ehdr_start_save;
> ++  struct bfd_link_hash_entry ehdr_start_save = ehdr_start_save;
> +
> +   if (is_elf_hash_table (link_info.hash))
> +     {
> +--
> +1.7.1
> +

ping - I can confirm the issue on CentOS 6 with daisy and that this patch (or 
at least the master patch cherry-picked) fixes it.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Openembedded-core mailing list