From e09bbb74abeef78f0941826796efe95a4862d978 Mon Sep 17 00:00:00 2001 From: Nicholas Clifton Date: May 27 2009 11:21:47 +0000 Subject: - Import fix for binutils PR #9938. (BZ 500295) --- diff --git a/binutils-2.19.51.0.2-tls-get-addr.patch b/binutils-2.19.51.0.2-tls-get-addr.patch new file mode 100644 index 0000000..51eb38d --- /dev/null +++ b/binutils-2.19.51.0.2-tls-get-addr.patch @@ -0,0 +1,40 @@ +diff -rcp ../copy-of-build-sources/bfd/elf32-i386.c bfd/elf32-i386.c +*** ../copy-of-build-sources/bfd/elf32-i386.c 2009-05-27 12:09:07.000000000 +0100 +--- bfd/elf32-i386.c 2009-05-27 12:00:10.000000000 +0100 +*************** elf_i386_check_tls_transition (bfd *abfd +*** 1024,1030 **** + && h->root.root.string != NULL + && (ELF32_R_TYPE (rel[1].r_info) == R_386_PC32 + || ELF32_R_TYPE (rel[1].r_info) == R_386_PLT32) +! && (strcmp (h->root.root.string, "___tls_get_addr") == 0)); + + case R_386_TLS_IE: + /* Check transition from IE access model: +--- 1024,1030 ---- + && h->root.root.string != NULL + && (ELF32_R_TYPE (rel[1].r_info) == R_386_PC32 + || ELF32_R_TYPE (rel[1].r_info) == R_386_PLT32) +! && CONST_STRNEQ (h->root.root.string, "___tls_get_addr")); + + case R_386_TLS_IE: + /* Check transition from IE access model: +diff -rcp ../copy-of-build-sources/bfd/elf64-x86-64.c bfd/elf64-x86-64.c +*** ../copy-of-build-sources/bfd/elf64-x86-64.c 2009-05-27 12:09:28.000000000 +0100 +--- bfd/elf64-x86-64.c 2009-05-27 12:00:27.000000000 +0100 +*************** elf64_x86_64_check_tls_transition (bfd * +*** 833,839 **** + && h->root.root.string != NULL + && (ELF64_R_TYPE (rel[1].r_info) == R_X86_64_PC32 + || ELF64_R_TYPE (rel[1].r_info) == R_X86_64_PLT32) +! && (strcmp (h->root.root.string, "__tls_get_addr") == 0)); + + case R_X86_64_GOTTPOFF: + /* Check transition from IE access model: +--- 833,839 ---- + && h->root.root.string != NULL + && (ELF64_R_TYPE (rel[1].r_info) == R_X86_64_PC32 + || ELF64_R_TYPE (rel[1].r_info) == R_X86_64_PLT32) +! && CONST_STRNEQ (h->root.root.string, "__tls_get_addr")); + + case R_X86_64_GOTTPOFF: + /* Check transition from IE access model: diff --git a/binutils.spec b/binutils.spec index 9b8a68a..ee2da78 100644 --- a/binutils.spec +++ b/binutils.spec @@ -17,7 +17,7 @@ Summary: A GNU collection of binary utilities Name: %{?cross}binutils%{?_with_debug:-debug} Version: 2.19.51.0.2 -Release: 18%{?dist} +Release: 19%{?dist} License: GPLv3+ Group: Development/Tools URL: http://sources.redhat.com/binutils @@ -32,6 +32,7 @@ Patch06: binutils-2.19.50.0.1-set-long-long.patch Patch07: binutils-2.19.50.0.1-build-id.patch Patch08: binutils-2.19.51.0.2-ifunc.patch Patch09: binutils-2.19.51.0.2-IBM.patch +Patch10: binutils-2.19.51.0.2-tls-get-addr.patch %if 0%{?_with_debug:1} # Define this if you want to skip the strip step and preserve debug info. @@ -104,6 +105,7 @@ to consider using libelf instead of BFD. %patch07 -p0 -b .build-id~ %patch08 -p1 -b .ifunc~ %patch09 -p0 -b .IBM~ +%patch10 -p0 -b .tls-get-addr~ # We cannot run autotools as there is an exact requirement of autoconf-2.59. @@ -347,6 +349,9 @@ fi %endif # %{isnative} %changelog +* Wed May 27 2009 Nick Clifton 2.19.51.0.2-19 +- Import fix for binutils PR #9938. (BZ 500295) + * Wed Apr 15 2009 Nick Clifton 2.19.51.0.2-18 - Update IBM Power 7 support patch to fix tlbilx opcode. (BZ 494718)