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

Khem Raj raj.khem at gmail.com
Wed Sep 17 22:54:27 UTC 2014


On Wed, Sep 17, 2014 at 10:28 AM, Paul Eggleton
<paul.eggleton at linux.intel.com> wrote:
> 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.
>

I have acked this patch long ago. I wonder why it was still not added
to daisy or even daisy-next

> Cheers,
> Paul
>
> --
>
> Paul Eggleton
> Intel Open Source Technology Centre
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list