binutils: Add fix for recent patch on older gcc

The recent bintuils patch update breaks on older gccs such as CentOS 6.
Backport a patch to address this.

(From OE-Core rev: 76f65e73081f52cea718ef164f9d1d7a5c65d537)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2014-06-25 09:09:44 +00:00
parent ad07178802
commit 540b7a196a
2 changed files with 51 additions and 0 deletions

View File

@ -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"

View File

@ -0,0 +1,50 @@
From f9c316c4d75be236bbaa8464ef803ed2d3859d6d Mon Sep 17 00:00:00 2001
From: H.J. Lu <hjl.tools@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@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@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