aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/binutils/binutils-2.20/uclibc-segfault.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/binutils/binutils-2.20/uclibc-segfault.patch')
-rw-r--r--recipes/binutils/binutils-2.20/uclibc-segfault.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/recipes/binutils/binutils-2.20/uclibc-segfault.patch b/recipes/binutils/binutils-2.20/uclibc-segfault.patch
new file mode 100644
index 0000000000..16a875f8eb
--- /dev/null
+++ b/recipes/binutils/binutils-2.20/uclibc-segfault.patch
@@ -0,0 +1,23 @@
+upstream: already committed
+
+--- clean/binutils-2.19.51/bfd/elf32-arm.c 2009-05-22 12:58:44.000000000 +0100
++++ binutils-2.19.51/bfd/elf32-arm.c 2009-06-08 21:29:49.000000000 +0100
+@@ -8960,7 +8964,7 @@ elf32_arm_fix_exidx_coverage (asection *
+ struct bfd_elf_section_data *elf_sec = elf_section_data (sec);
+ Elf_Internal_Shdr *hdr = &elf_sec->this_hdr;
+
+- if (hdr->sh_type != SHT_ARM_EXIDX)
++ if (!hdr || hdr->sh_type != SHT_ARM_EXIDX)
+ continue;
+
+ if (elf_sec->linked_to)
+--- clean/binutils-2.19.51/ld/emultempl/armelf.em 2009-05-22 12:58:45.000000000 +0100
++++ binutils-2.19.51/ld/emultempl/armelf.em 2009-06-08 21:26:34.000000000 +0100
+@@ -309,6 +309,7 @@ gld${EMULATION_NAME}_finish (void)
+ asection *out_sec = sec->output_section;
+
+ if (out_sec
++ && elf_section_data (sec)
+ && elf_section_type (sec) == SHT_PROGBITS
+ && (elf_section_flags (sec) & SHF_EXECINSTR) != 0
+ && (sec->flags & SEC_EXCLUDE) == 0