OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /v/openpkg/cvs Email: r...@openpkg.org Module: openpkg-src Date: 09-Apr-2009 18:51:29 Branch: HEAD Handle: 2009040917512801 Modified files: openpkg-src/binutils binutils.patch binutils.spec Log: apply an upstream patch for Solaris/amd64 Summary: Revision Changes Path 1.25 +42 -0 openpkg-src/binutils/binutils.patch 1.87 +1 -1 openpkg-src/binutils/binutils.spec ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/binutils/binutils.patch ============================================================================ $ cvs diff -u -r1.24 -r1.25 binutils.patch --- openpkg-src/binutils/binutils.patch 3 Feb 2009 07:31:51 -0000 1.24 +++ openpkg-src/binutils/binutils.patch 9 Apr 2009 16:51:28 -0000 1.25 @@ -176,3 +176,45 @@ if (sec_info) free (sec_info); +----------------------------------------------------------------------------- + +http://sourceware.org/bugzilla/show_bug.cgi?id=9938 + +Index: bfd/elf32-i386.c +--- bfd/elf32-i386.c.orig Mon Jul 28 20:07:05 2008 ++++ bfd/elf32-i386.c Wed Apr 1 12:11:49 2009 +@@ -1007,11 +1007,14 @@ + return FALSE; + + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; ++ /* Use strncmp to check ___tls_get_addr since ___tls_get_addr ++ may be versioned. */ + return (h != NULL + && 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)); ++ && (strncmp (h->root.root.string, "___tls_get_addr", ++ 15) == 0)); + + case R_386_TLS_IE: + /* Check transition from IE access model: +Index: bfd/elf64-x86-64.c +--- bfd/elf64-x86-64.c.orig Mon Jul 28 20:07:05 2008 ++++ bfd/elf64-x86-64.c Wed Apr 1 12:12:59 2009 +@@ -810,11 +810,14 @@ + return FALSE; + + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; ++ /* Use strncmp to check __tls_get_addr since __tls_get_addr ++ may be versioned. */ + return (h != NULL + && 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)); ++ && (strncmp (h->root.root.string, ++ "__tls_get_addr", 14) == 0)); + + case R_X86_64_GOTTPOFF: + /* Check transition from IE access model: @@ . patch -p0 <<'@@ .' Index: openpkg-src/binutils/binutils.spec ============================================================================ $ cvs diff -u -r1.86 -r1.87 binutils.spec --- openpkg-src/binutils/binutils.spec 3 Feb 2009 07:31:51 -0000 1.86 +++ openpkg-src/binutils/binutils.spec 9 Apr 2009 16:51:29 -0000 1.87 @@ -32,7 +32,7 @@ Group: Compiler License: GPL Version: 2.19.1 -Release: 20090203 +Release: 20090409 # list of sources Source0: ftp://sources.redhat.com/pub/binutils/releases/binutils-%{version}.tar.bz2 @@ . ______________________________________________________________________ OpenPKG http://openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org