From 724e52892aa9ae7b78943128fba50362bbb26e52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jeremy=20Lain=C3=A9?= Date: Mon, 28 Dec 2009 23:12:15 +0100 Subject: binutils-2.18: fix ld segfault when building Qt 4.6.0 on powerpc --- .../binutils-2.18/binutils-powerpc-ld-segfault.patch | 13 +++++++++++++ recipes/binutils/binutils_2.18.bb | 7 +++++-- 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 recipes/binutils/binutils-2.18/binutils-powerpc-ld-segfault.patch (limited to 'recipes/binutils') diff --git a/recipes/binutils/binutils-2.18/binutils-powerpc-ld-segfault.patch b/recipes/binutils/binutils-2.18/binutils-powerpc-ld-segfault.patch new file mode 100644 index 0000000000..7356509761 --- /dev/null +++ b/recipes/binutils/binutils-2.18/binutils-powerpc-ld-segfault.patch @@ -0,0 +1,13 @@ +Index: binutils-2.18/bfd/elf32-ppc.c +=================================================================== +--- binutils-2.18.orig/bfd/elf32-ppc.c 2007-08-06 21:59:29.000000000 +0200 ++++ binutils-2.18/bfd/elf32-ppc.c 2009-12-28 22:36:41.000000000 +0100 +@@ -3968,7 +3968,7 @@ + { + bfd_vma addend = r_type == R_PPC_PLTREL24 ? rel->r_addend : 0; + struct plt_entry *ent = find_plt_ent (h, got2, addend); +- if (ent->plt.refcount > 0) ++ if (ent != NULL && ent->plt.refcount > 0) + ent->plt.refcount -= 1; + } + break; diff --git a/recipes/binutils/binutils_2.18.bb b/recipes/binutils/binutils_2.18.bb index b1ae402e29..803e987d8f 100644 --- a/recipes/binutils/binutils_2.18.bb +++ b/recipes/binutils/binutils_2.18.bb @@ -1,5 +1,5 @@ INC_PR = "r8" -PR = "${INC_PR}.1" +PR = "${INC_PR}.2" require binutils.inc LICENSE = "GPLv3" @@ -20,7 +20,10 @@ SRC_URI = "\ " # powerpc patches -SRC_URI += "file://binutils-2.16.1-e300c2c3.patch;patch=1" +SRC_URI += "\ + file://binutils-2.16.1-e300c2c3.patch;patch=1 \ + file://binutils-powerpc-ld-segfault.patch;patch=1 \ + " # ep93xx crunch patches SRC_URI_append_ep9312 = " file://binutils-crunch.patch;patch=1" -- cgit v1.2.3