Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 39649 - emerge binutils 2.14.90.0.7-r4 - failed patch
Summary: emerge binutils 2.14.90.0.7-r4 - failed patch
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-28 03:34 UTC by Filip Jirsák
Modified: 2004-02-19 13:07 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Jirsák 2004-01-28 03:34:40 UTC
emerge binutils (binutils-2.14.90.0.7-r4) fails on applying binutils-2.13.90.0.10-glibc21.patch. When I temporary disabled this patch in .ebuild file, following patch (binutils-2.14.90.0.4-sparc-nonpic.patch) failed too.

Reproducible: Always
Steps to Reproduce:
1. emerge sys-devel/binutils-2.14.90.0.7-r4

Actual Results:  
Calculating dependencies ...done!
>>> emerge (1 of 1) sys-devel/binutils-2.14.90.0.7-r4 to /
>>> md5 src_uri ;-) binutils-2.14.90.0.7.tar.bz2
>>> Unpacking source...
>>> Unpacking binutils-2.14.90.0.7.tar.bz2 to /var/tmp/portage/binutils-2.14.90
0.7-r4/work
 * Applying binutils-2.13.90.0.10-glibc21.patch...

 * Failed Patch: binutils-2.13.90.0.10-glibc21.patch!
 *
 * Include in your bugreport the contents of:
 *
 *   /var/tmp/portage/binutils-2.14.90.0.7-r4/temp/binutils-2.13.90.0.10-glibc2
.patch-10706.out


!!! ERROR: sys-devel/binutils-2.14.90.0.7-r4 failed.
!!! Function epatch, Line 322, Exitcode 0
!!! Failed Patch: binutils-2.13.90.0.10-glibc21.patch!


Expected Results:  
upgarde binutils to 2.14.90.0.7-r4

binutils-2.13.90.0.10-glibc21.patch-10494.out:
***** binutils-2.13.90.0.10-glibc21.patch *****

===============================================

PATCH COMMAND:  patch -g0 -p0 <
/usr/portage/sys-devel/binutils/files/2.13/binutils-2.13.90.0.10-glibc21.patch

===============================================
patching file binutils-2.13.90.0.10/ld/emulparams/elf_i386_glibc21.sh
can't find file to patch at input line 17
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- binutils-2.13.90.0.10/ld/configure.tgt.glibc21	2002-10-10
06:09:41.000000000 +0200
|+++ binutils-2.13.90.0.10/ld/configure.tgt	2002-11-15 15:14:38.000000000 +0100
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 28
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- binutils-2.13.90.0.10/ld/Makefile.am.glibc21	2002-10-10 06:09:41.000000000
+0200
|+++ binutils-2.13.90.0.10/ld/Makefile.am	2002-11-15 15:12:42.000000000 +0100
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 48
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- binutils-2.13.90.0.10/ld/Makefile.in.glibc21	2002-10-10 06:09:41.000000000
+0200
|+++ binutils-2.13.90.0.10/ld/Makefile.in	2002-11-15 15:12:42.000000000 +0100
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
===============================================

PATCH COMMAND:  patch -g0 -p1 <
/usr/portage/sys-devel/binutils/files/2.13/binutils-2.13.90.0.10-glibc21.patch

===============================================
patching file ld/emulparams/elf_i386_glibc21.sh
patching file ld/configure.tgt
Hunk #1 succeeded at 154 (offset 7 lines).
patching file ld/Makefile.am
Hunk #1 succeeded at 183 (offset -2 lines).
Hunk #2 succeeded at 800 (offset 65 lines).
patch: **** write error : No space left on device
===============================================

PATCH COMMAND:  patch -g0 -p2 <
/usr/portage/sys-devel/binutils/files/2.13/binutils-2.13.90.0.10-glibc21.patch

===============================================
patching file emulparams/elf_i386_glibc21.sh
can't find file to patch at input line 17
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- binutils-2.13.90.0.10/ld/configure.tgt.glibc21	2002-10-10
06:09:41.000000000 +0200
|+++ binutils-2.13.90.0.10/ld/configure.tgt	2002-11-15 15:14:38.000000000 +0100
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 28
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- binutils-2.13.90.0.10/ld/Makefile.am.glibc21	2002-10-10 06:09:41.000000000
+0200
|+++ binutils-2.13.90.0.10/ld/Makefile.am	2002-11-15 15:12:42.000000000 +0100
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
patching file Makefile.in
Hunk #1 FAILED at 295.
Hunk #2 FAILED at 1458.
2 out of 2 hunks FAILED -- saving rejects to file Makefile.in.rej
===============================================

PATCH COMMAND:  patch -g0 -p3 <
/usr/portage/sys-devel/binutils/files/2.13/binutils-2.13.90.0.10-glibc21.patch

===============================================
patching file elf_i386_glibc21.sh
missing header for unified diff at line 17 of patch
can't find file to patch at input line 17
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- binutils-2.13.90.0.10/ld/configure.tgt.glibc21	2002-10-10
06:09:41.000000000 +0200
|+++ binutils-2.13.90.0.10/ld/configure.tgt	2002-11-15 15:14:38.000000000 +0100
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
missing header for unified diff at line 28 of patch
can't find file to patch at input line 28
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- binutils-2.13.90.0.10/ld/Makefile.am.glibc21	2002-10-10 06:09:41.000000000
+0200
|+++ binutils-2.13.90.0.10/ld/Makefile.am	2002-11-15 15:12:42.000000000 +0100
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 48 of patch
can't find file to patch at input line 48
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- binutils-2.13.90.0.10/ld/Makefile.in.glibc21	2002-10-10 06:09:41.000000000
+0200
|+++ binutils-2.13.90.0.10/ld/Makefile.in	2002-11-15 15:12:42.000000000 +0100
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
===============================================

PATCH COMMAND:  patch -g0 -p4 <
/usr/portage/sys-devel/binutils/files/2.13/binutils-2.13.90.0.10-glibc21.patch

===============================================
missing header for unified diff at line 3 of patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- binutils-2.13.90.0.10/ld/emulparams/elf_i386_glibc21.sh.glibc21	2002-11-15
15:12:42.000000000 +0100
|+++ binutils-2.13.90.0.10/ld/emulparams/elf_i386_glibc21.sh	2002-11-15
15:12:42.000000000 +0100
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
missing header for unified diff at line 17 of patch
can't find file to patch at input line 17
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- binutils-2.13.90.0.10/ld/configure.tgt.glibc21	2002-10-10
06:09:41.000000000 +0200
|+++ binutils-2.13.90.0.10/ld/configure.tgt	2002-11-15 15:14:38.000000000 +0100
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
missing header for unified diff at line 28 of patch
can't find file to patch at input line 28
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- binutils-2.13.90.0.10/ld/Makefile.am.glibc21	2002-10-10 06:09:41.000000000
+0200
|+++ binutils-2.13.90.0.10/ld/Makefile.am	2002-11-15 15:12:42.000000000 +0100
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 48 of patch
can't find file to patch at input line 48
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- binutils-2.13.90.0.10/ld/Makefile.in.glibc21	2002-10-10 06:09:41.000000000
+0200
|+++ binutils-2.13.90.0.10/ld/Makefile.in	2002-11-15 15:12:42.000000000 +0100
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored



emerge info
Portage 2.0.49-r21 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r3, 2.4.20-xfs-r3)
=================================================================
System uname: 2.4.20-xfs-r3 i686 Pentium III (Coppermine)
Gentoo Base System version 1.4.3.10
ACACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -O3 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /opt/tomcat/conf /usr/kde/2/share/config
/usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-march=pentium3 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://194.83.57.7/sites/www.ibiblio.org/gentoo/
http://gentoo.oregonstate.edu 
http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="acl berkdb crypt cups curl doc foomaticdb gdbm gif gtk2 imap java jpeg ldap
libg++ libwww mad maildir mcal memlimit mpeg ncurses nls pam pdflib perl png
python readline samba sasl slang spell ssl svga tcpd unicode x86 xml2 zlib"
Comment 1 Filip Jirsák 2004-01-28 04:12:58 UTC
Some problems with free space on device (but 3.3G free) on my computer. Looks like some hw problem. 
Comment 2 Eric Pretorious 2004-02-19 13:07:58 UTC
I'm experiencing a similar bug during installation from LiveCD: 

----------------------------
emerge (34 of 86) sys-devel/binutils-2.14.90.0.7-r4 to /

Failed Patch: binutils-2.14.90.0.7-tls-section-alignment.patch!
Include in your bugreport the contents of:
/var/tmp/portage/binutils-2.14.90.0.7-r4/temp/binutils-2.14.90.0.7-tls-section-alignment-patch-15964.out

ERROR: sys-devel/binutils-2.14.90.0.7-r4 failed.
Function epatch, Line 322, Exitcode 0
Failed Patch: binutils-2.14.90.0.7-tls-section-alignment.patch
----------------------------

From binutils-2.14.90.0.7-tls-section-alignment-patch-15964.out:

***** binutils-2.14.90.0.7-tls-section-alignment.patch *****

===============================================================

PATCH COMMAND:  patch -g0 -p0 < /usr/portage/sys-devel/binutils/files/2.14/binutils-2.14.90.0.7-tls-section-alignment.patch

===============================================================
patching file bfd/bfd-in.h
patching file bfd/elf-bfd.h
patching file bfd/elf.c
patching file bfd/elflink.c
Hunk #1 succeeded at 2530 (offset 11 lines).
patching file bfd/elflink.h
patching file bfd/elf32-i386.c
patching file bfd/elf32-s390.c
Hunk #1 succeeded at 2214 (offset -2 lines).
Hunk #2 succeeded at 2228 (offset -2 lines).
patching file bfd/elf32-sh.c
patching file bfd/elf32-sparc.c
patching file bfd/elf64-s390.c
Hunk #1 succeeded at 2184 (offset -2 lines).
patch: **** malformed patch at line 484: Ix86-64.c

===============================================================

PATCH COMMAND:  patch -g0 -p1 < /usr/portage/sys-devel/binutils/files/2.14/binutils-2.14.90.0.7-tls-section-alignment.patch

===============================================================
can't find file to patch at input line 76
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From: Alan Modra <amodra at bigpond dot net dot au>
|To: binutils at sources dot redhat dot com
|Subject: tls section alignment
|
|This testcase fails to return the expected status on powerpc-linux,
|depending on optimization level (really on where .tdata starts, but that
|often changes depending on optimization).
|
|__thread int a = 10;
|__thread int b __attribute__ ((aligned (8)));
|
|int main (void)
|{
|  return a;
|}
|
|What's happening is that the TLS segment, made up of .tdata and .tbss,
|ends up with p_vaddr not a multiple of p_align.  Under these
|circumstances glibc rounds down the TLS segment start address, which
|affects targets that set their thread pointer from the start of a TLS
|block.  In the powerpc-linux testcase, we end up accessing *(&a-1).
|
|I started off fixing this just for powerpc and powerpc64, then decided
|to teach ld how to ensure that the TLS segment p_vaddr is aligned.
|
|bfd/ChangeLog
|	* bfd-in.h (_bfd_elf_tls_setup): Declare.
|	* bfd-in2.h: Regenerate.
|	* elf-bfd.h (struct elf_link_tls_segment): Delete.
|	(struct elf_link_hash_table): Add tls_sec and tls_size.
|	* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
|	* elflink.c (_bfd_elf_tls_setup): New function.
|	* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
|	(elf_bfd_final_link): Don't set first_tls_sec here.  Update code
|	saving tls segment info, round segment size up.
|	(elf_link_output_extsym): Adjust code using tls segment info.
|	(elf_link_input_bfd): Likewise.
|	* elf32-i386.c (dtpoff_base, tpoff): Likewise.
|	* elf32-s390.c (dtpoff_base, tpoff): Likewise.
|	* elf32-sh.c (dtpoff_base, tpoff): Likewise.
|	* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
|	* elf64-s390.c (dtpoff_base, tpoff): Likewise.
|	* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
|	* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
|	(elfNN_ia64_dtprel_base): Likewise.
|	* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
|	(alpha_get_tprel_base): Likewise.
|	(struct alpha_relax_info): Remove tls_segment.
|	(elf64_alpha_relax_got_load): Adjust invocation of
|	alpha_get_dtprel_base and alpha_get_tprel_base.
|	(elf64_alpha_relax_tls_get_addr): Likewise.
|	(elf64_alpha_relax_section): Likewise.
|	(elf64_alpha_relocate_section): Likewise.
|	(elf64_alpha_relax_find_tls_segment): Delete.
|	* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
|	(ppc_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
|	(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
|	* elf32-ppc.h (ppc_elf_tls_setup): Update.
|	* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
|	(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
|	(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
|	(ppc64_elf_relocate_section): Likewise.
|	* elf64-ppc.h (ppc64_elf_tls_setup): Update.
|
|ld/ChangeLog
|	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Call
|	_bfd_elf_tls_setup.
|
|Index: bfd/bfd-in.h
|===================================================================
|RCS file: /cvs/src/src/bfd/bfd-in.h,v
|retrieving revision 1.68
|diff -u -p -r1.68 bfd-in.h
|--- bfd/bfd-in.h	31 Oct 2003 05:32:45 -0000	1.68
|+++ bfd/bfd-in.h	4 Nov 2003 05:33:50 -0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 93
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf-bfd.h
|===================================================================
|RCS file: /cvs/src/src/bfd/elf-bfd.h,v
|retrieving revision 1.116
|diff -u -p -r1.116 elf-bfd.h
|--- bfd/elf-bfd.h	3 Nov 2003 15:17:38 -0000	1.116
|+++ bfd/elf-bfd.h	4 Nov 2003 05:33:53 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 127
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf.c,v
|retrieving revision 1.205
|diff -u -p -r1.205 elf.c
|--- bfd/elf.c	31 Oct 2003 05:32:45 -0000	1.205
|+++ bfd/elf.c	4 Nov 2003 05:34:00 -0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 144
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elflink.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elflink.c,v
|retrieving revision 1.48
|diff -u -p -r1.48 elflink.c
|--- bfd/elflink.c	30 Oct 2003 14:13:50 -0000	1.48
|+++ bfd/elflink.c	4 Nov 2003 05:34:00 -0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 183
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elflink.h
|===================================================================
|RCS file: /cvs/src/src/bfd/elflink.h,v
|retrieving revision 1.245
|diff -u -p -r1.245 elflink.h
|--- bfd/elflink.h	24 Oct 2003 14:55:14 -0000	1.245
|+++ bfd/elflink.h	4 Nov 2003 05:34:02 -0000
--------------------------
No file to patch.  Skipping patch.
6 out of 6 hunks ignored
can't find file to patch at input line 295
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-i386.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-i386.c,v
|retrieving revision 1.112
|diff -u -p -r1.112 elf32-i386.c
|--- bfd/elf32-i386.c	3 Nov 2003 15:17:38 -0000	1.112
|+++ bfd/elf32-i386.c	4 Nov 2003 05:34:04 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 335
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-s390.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-s390.c,v
|retrieving revision 1.49
|diff -u -p -r1.49 elf32-s390.c
|--- bfd/elf32-s390.c	3 Nov 2003 15:17:39 -0000	1.49
|+++ bfd/elf32-s390.c	4 Nov 2003 05:34:06 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 375
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-sh.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-sh.c,v
|retrieving revision 1.95
|diff -u -p -r1.95 elf32-sh.c
|--- bfd/elf32-sh.c	3 Nov 2003 15:17:39 -0000	1.95
|+++ bfd/elf32-sh.c	4 Nov 2003 05:34:10 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 412
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-sparc.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-sparc.c,v
|retrieving revision 1.57
|diff -u -p -r1.57 elf32-sparc.c
|--- bfd/elf32-sparc.c	3 Nov 2003 15:17:39 -0000	1.57
|+++ bfd/elf32-sparc.c	4 Nov 2003 05:34:11 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
can't find file to patch at input line 452
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf64-s390.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf64-s390.c,v
|retrieving revision 1.50
|diff -u -p -r1.50 elf64-s390.c
|--- bfd/elf64-s390.c	3 Nov 2003 15:17:39 -0000	1.50
|+++ bfd/elf64-s390.c	4 Nov 2003 05:34:13 -0000
--------------------------
No file to patch.  Skipping patch.
patch: **** malformed patch at line 484: Ix86-64.c

===============================================================

PATCH COMMAND:  patch -g0 -p2 < /usr/portage/sys-devel/binutils/files/2.14/binutils-2.14.90.0.7-tls-section-alignment.patch

===============================================================
missing header for unified diff at line 76 of patch
can't find file to patch at input line 76
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From: Alan Modra <amodra at bigpond dot net dot au>
|To: binutils at sources dot redhat dot com
|Subject: tls section alignment
|
|This testcase fails to return the expected status on powerpc-linux,
|depending on optimization level (really on where .tdata starts, but that
|often changes depending on optimization).
|
|__thread int a = 10;
|__thread int b __attribute__ ((aligned (8)));
|
|int main (void)
|{
|  return a;
|}
|
|What's happening is that the TLS segment, made up of .tdata and .tbss,
|ends up with p_vaddr not a multiple of p_align.  Under these
|circumstances glibc rounds down the TLS segment start address, which
|affects targets that set their thread pointer from the start of a TLS
|block.  In the powerpc-linux testcase, we end up accessing *(&a-1).
|
|I started off fixing this just for powerpc and powerpc64, then decided
|to teach ld how to ensure that the TLS segment p_vaddr is aligned.
|
|bfd/ChangeLog
|	* bfd-in.h (_bfd_elf_tls_setup): Declare.
|	* bfd-in2.h: Regenerate.
|	* elf-bfd.h (struct elf_link_tls_segment): Delete.
|	(struct elf_link_hash_table): Add tls_sec and tls_size.
|	* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
|	* elflink.c (_bfd_elf_tls_setup): New function.
|	* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
|	(elf_bfd_final_link): Don't set first_tls_sec here.  Update code
|	saving tls segment info, round segment size up.
|	(elf_link_output_extsym): Adjust code using tls segment info.
|	(elf_link_input_bfd): Likewise.
|	* elf32-i386.c (dtpoff_base, tpoff): Likewise.
|	* elf32-s390.c (dtpoff_base, tpoff): Likewise.
|	* elf32-sh.c (dtpoff_base, tpoff): Likewise.
|	* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
|	* elf64-s390.c (dtpoff_base, tpoff): Likewise.
|	* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
|	* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
|	(elfNN_ia64_dtprel_base): Likewise.
|	* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
|	(alpha_get_tprel_base): Likewise.
|	(struct alpha_relax_info): Remove tls_segment.
|	(elf64_alpha_relax_got_load): Adjust invocation of
|	alpha_get_dtprel_base and alpha_get_tprel_base.
|	(elf64_alpha_relax_tls_get_addr): Likewise.
|	(elf64_alpha_relax_section): Likewise.
|	(elf64_alpha_relocate_section): Likewise.
|	(elf64_alpha_relax_find_tls_segment): Delete.
|	* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
|	(ppc_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
|	(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
|	* elf32-ppc.h (ppc_elf_tls_setup): Update.
|	* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
|	(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
|	(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
|	(ppc64_elf_relocate_section): Likewise.
|	* elf64-ppc.h (ppc64_elf_tls_setup): Update.
|
|ld/ChangeLog
|	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Call
|	_bfd_elf_tls_setup.
|
|Index: bfd/bfd-in.h
|===================================================================
|RCS file: /cvs/src/src/bfd/bfd-in.h,v
|retrieving revision 1.68
|diff -u -p -r1.68 bfd-in.h
|--- bfd/bfd-in.h	31 Oct 2003 05:32:45 -0000	1.68
|+++ bfd/bfd-in.h	4 Nov 2003 05:33:50 -0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
missing header for unified diff at line 93 of patch
can't find file to patch at input line 93
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf-bfd.h
|===================================================================
|RCS file: /cvs/src/src/bfd/elf-bfd.h,v
|retrieving revision 1.116
|diff -u -p -r1.116 elf-bfd.h
|--- bfd/elf-bfd.h	3 Nov 2003 15:17:38 -0000	1.116
|+++ bfd/elf-bfd.h	4 Nov 2003 05:33:53 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 127 of patch
can't find file to patch at input line 127
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf.c,v
|retrieving revision 1.205
|diff -u -p -r1.205 elf.c
|--- bfd/elf.c	31 Oct 2003 05:32:45 -0000	1.205
|+++ bfd/elf.c	4 Nov 2003 05:34:00 -0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
missing header for unified diff at line 144 of patch
can't find file to patch at input line 144
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elflink.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elflink.c,v
|retrieving revision 1.48
|diff -u -p -r1.48 elflink.c
|--- bfd/elflink.c	30 Oct 2003 14:13:50 -0000	1.48
|+++ bfd/elflink.c	4 Nov 2003 05:34:00 -0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
missing header for unified diff at line 183 of patch
can't find file to patch at input line 183
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elflink.h
|===================================================================
|RCS file: /cvs/src/src/bfd/elflink.h,v
|retrieving revision 1.245
|diff -u -p -r1.245 elflink.h
|--- bfd/elflink.h	24 Oct 2003 14:55:14 -0000	1.245
|+++ bfd/elflink.h	4 Nov 2003 05:34:02 -0000
--------------------------
No file to patch.  Skipping patch.
6 out of 6 hunks ignored
missing header for unified diff at line 295 of patch
can't find file to patch at input line 295
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-i386.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-i386.c,v
|retrieving revision 1.112
|diff -u -p -r1.112 elf32-i386.c
|--- bfd/elf32-i386.c	3 Nov 2003 15:17:38 -0000	1.112
|+++ bfd/elf32-i386.c	4 Nov 2003 05:34:04 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 335 of patch
can't find file to patch at input line 335
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-s390.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-s390.c,v
|retrieving revision 1.49
|diff -u -p -r1.49 elf32-s390.c
|--- bfd/elf32-s390.c	3 Nov 2003 15:17:39 -0000	1.49
|+++ bfd/elf32-s390.c	4 Nov 2003 05:34:06 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 375 of patch
can't find file to patch at input line 375
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-sh.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-sh.c,v
|retrieving revision 1.95
|diff -u -p -r1.95 elf32-sh.c
|--- bfd/elf32-sh.c	3 Nov 2003 15:17:39 -0000	1.95
|+++ bfd/elf32-sh.c	4 Nov 2003 05:34:10 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 412 of patch
can't find file to patch at input line 412
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-sparc.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-sparc.c,v
|retrieving revision 1.57
|diff -u -p -r1.57 elf32-sparc.c
|--- bfd/elf32-sparc.c	3 Nov 2003 15:17:39 -0000	1.57
|+++ bfd/elf32-sparc.c	4 Nov 2003 05:34:11 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 452 of patch
can't find file to patch at input line 452
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf64-s390.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf64-s390.c,v
|retrieving revision 1.50
|diff -u -p -r1.50 elf64-s390.c
|--- bfd/elf64-s390.c	3 Nov 2003 15:17:39 -0000	1.50
|+++ bfd/elf64-s390.c	4 Nov 2003 05:34:13 -0000
--------------------------
No file to patch.  Skipping patch.
patch: **** malformed patch at line 484: Ix86-64.c

===============================================================

PATCH COMMAND:  patch -g0 -p3 < /usr/portage/sys-devel/binutils/files/2.14/binutils-2.14.90.0.7-tls-section-alignment.patch

===============================================================
missing header for unified diff at line 76 of patch
can't find file to patch at input line 76
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From: Alan Modra <amodra at bigpond dot net dot au>
|To: binutils at sources dot redhat dot com
|Subject: tls section alignment
|
|This testcase fails to return the expected status on powerpc-linux,
|depending on optimization level (really on where .tdata starts, but that
|often changes depending on optimization).
|
|__thread int a = 10;
|__thread int b __attribute__ ((aligned (8)));
|
|int main (void)
|{
|  return a;
|}
|
|What's happening is that the TLS segment, made up of .tdata and .tbss,
|ends up with p_vaddr not a multiple of p_align.  Under these
|circumstances glibc rounds down the TLS segment start address, which
|affects targets that set their thread pointer from the start of a TLS
|block.  In the powerpc-linux testcase, we end up accessing *(&a-1).
|
|I started off fixing this just for powerpc and powerpc64, then decided
|to teach ld how to ensure that the TLS segment p_vaddr is aligned.
|
|bfd/ChangeLog
|	* bfd-in.h (_bfd_elf_tls_setup): Declare.
|	* bfd-in2.h: Regenerate.
|	* elf-bfd.h (struct elf_link_tls_segment): Delete.
|	(struct elf_link_hash_table): Add tls_sec and tls_size.
|	* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
|	* elflink.c (_bfd_elf_tls_setup): New function.
|	* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
|	(elf_bfd_final_link): Don't set first_tls_sec here.  Update code
|	saving tls segment info, round segment size up.
|	(elf_link_output_extsym): Adjust code using tls segment info.
|	(elf_link_input_bfd): Likewise.
|	* elf32-i386.c (dtpoff_base, tpoff): Likewise.
|	* elf32-s390.c (dtpoff_base, tpoff): Likewise.
|	* elf32-sh.c (dtpoff_base, tpoff): Likewise.
|	* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
|	* elf64-s390.c (dtpoff_base, tpoff): Likewise.
|	* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
|	* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
|	(elfNN_ia64_dtprel_base): Likewise.
|	* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
|	(alpha_get_tprel_base): Likewise.
|	(struct alpha_relax_info): Remove tls_segment.
|	(elf64_alpha_relax_got_load): Adjust invocation of
|	alpha_get_dtprel_base and alpha_get_tprel_base.
|	(elf64_alpha_relax_tls_get_addr): Likewise.
|	(elf64_alpha_relax_section): Likewise.
|	(elf64_alpha_relocate_section): Likewise.
|	(elf64_alpha_relax_find_tls_segment): Delete.
|	* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
|	(ppc_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
|	(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
|	* elf32-ppc.h (ppc_elf_tls_setup): Update.
|	* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
|	(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
|	(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
|	(ppc64_elf_relocate_section): Likewise.
|	* elf64-ppc.h (ppc64_elf_tls_setup): Update.
|
|ld/ChangeLog
|	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Call
|	_bfd_elf_tls_setup.
|
|Index: bfd/bfd-in.h
|===================================================================
|RCS file: /cvs/src/src/bfd/bfd-in.h,v
|retrieving revision 1.68
|diff -u -p -r1.68 bfd-in.h
|--- bfd/bfd-in.h	31 Oct 2003 05:32:45 -0000	1.68
|+++ bfd/bfd-in.h	4 Nov 2003 05:33:50 -0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
missing header for unified diff at line 93 of patch
can't find file to patch at input line 93
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf-bfd.h
|===================================================================
|RCS file: /cvs/src/src/bfd/elf-bfd.h,v
|retrieving revision 1.116
|diff -u -p -r1.116 elf-bfd.h
|--- bfd/elf-bfd.h	3 Nov 2003 15:17:38 -0000	1.116
|+++ bfd/elf-bfd.h	4 Nov 2003 05:33:53 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 127 of patch
can't find file to patch at input line 127
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf.c,v
|retrieving revision 1.205
|diff -u -p -r1.205 elf.c
|--- bfd/elf.c	31 Oct 2003 05:32:45 -0000	1.205
|+++ bfd/elf.c	4 Nov 2003 05:34:00 -0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
missing header for unified diff at line 144 of patch
can't find file to patch at input line 144
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elflink.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elflink.c,v
|retrieving revision 1.48
|diff -u -p -r1.48 elflink.c
|--- bfd/elflink.c	30 Oct 2003 14:13:50 -0000	1.48
|+++ bfd/elflink.c	4 Nov 2003 05:34:00 -0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
missing header for unified diff at line 183 of patch
can't find file to patch at input line 183
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elflink.h
|===================================================================
|RCS file: /cvs/src/src/bfd/elflink.h,v
|retrieving revision 1.245
|diff -u -p -r1.245 elflink.h
|--- bfd/elflink.h	24 Oct 2003 14:55:14 -0000	1.245
|+++ bfd/elflink.h	4 Nov 2003 05:34:02 -0000
--------------------------
No file to patch.  Skipping patch.
6 out of 6 hunks ignored
missing header for unified diff at line 295 of patch
can't find file to patch at input line 295
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-i386.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-i386.c,v
|retrieving revision 1.112
|diff -u -p -r1.112 elf32-i386.c
|--- bfd/elf32-i386.c	3 Nov 2003 15:17:38 -0000	1.112
|+++ bfd/elf32-i386.c	4 Nov 2003 05:34:04 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 335 of patch
can't find file to patch at input line 335
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-s390.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-s390.c,v
|retrieving revision 1.49
|diff -u -p -r1.49 elf32-s390.c
|--- bfd/elf32-s390.c	3 Nov 2003 15:17:39 -0000	1.49
|+++ bfd/elf32-s390.c	4 Nov 2003 05:34:06 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 375 of patch
can't find file to patch at input line 375
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-sh.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-sh.c,v
|retrieving revision 1.95
|diff -u -p -r1.95 elf32-sh.c
|--- bfd/elf32-sh.c	3 Nov 2003 15:17:39 -0000	1.95
|+++ bfd/elf32-sh.c	4 Nov 2003 05:34:10 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 412 of patch
can't find file to patch at input line 412
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-sparc.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-sparc.c,v
|retrieving revision 1.57
|diff -u -p -r1.57 elf32-sparc.c
|--- bfd/elf32-sparc.c	3 Nov 2003 15:17:39 -0000	1.57
|+++ bfd/elf32-sparc.c	4 Nov 2003 05:34:11 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 452 of patch
can't find file to patch at input line 452
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf64-s390.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf64-s390.c,v
|retrieving revision 1.50
|diff -u -p -r1.50 elf64-s390.c
|--- bfd/elf64-s390.c	3 Nov 2003 15:17:39 -0000	1.50
|+++ bfd/elf64-s390.c	4 Nov 2003 05:34:13 -0000
--------------------------
No file to patch.  Skipping patch.
patch: **** malformed patch at line 484: Ix86-64.c

===============================================================

PATCH COMMAND:  patch -g0 -p4 < /usr/portage/sys-devel/binutils/files/2.14/binutils-2.14.90.0.7-tls-section-alignment.patch

===============================================================
missing header for unified diff at line 76 of patch
can't find file to patch at input line 76
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From: Alan Modra <amodra at bigpond dot net dot au>
|To: binutils at sources dot redhat dot com
|Subject: tls section alignment
|
|This testcase fails to return the expected status on powerpc-linux,
|depending on optimization level (really on where .tdata starts, but that
|often changes depending on optimization).
|
|__thread int a = 10;
|__thread int b __attribute__ ((aligned (8)));
|
|int main (void)
|{
|  return a;
|}
|
|What's happening is that the TLS segment, made up of .tdata and .tbss,
|ends up with p_vaddr not a multiple of p_align.  Under these
|circumstances glibc rounds down the TLS segment start address, which
|affects targets that set their thread pointer from the start of a TLS
|block.  In the powerpc-linux testcase, we end up accessing *(&a-1).
|
|I started off fixing this just for powerpc and powerpc64, then decided
|to teach ld how to ensure that the TLS segment p_vaddr is aligned.
|
|bfd/ChangeLog
|	* bfd-in.h (_bfd_elf_tls_setup): Declare.
|	* bfd-in2.h: Regenerate.
|	* elf-bfd.h (struct elf_link_tls_segment): Delete.
|	(struct elf_link_hash_table): Add tls_sec and tls_size.
|	* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
|	* elflink.c (_bfd_elf_tls_setup): New function.
|	* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
|	(elf_bfd_final_link): Don't set first_tls_sec here.  Update code
|	saving tls segment info, round segment size up.
|	(elf_link_output_extsym): Adjust code using tls segment info.
|	(elf_link_input_bfd): Likewise.
|	* elf32-i386.c (dtpoff_base, tpoff): Likewise.
|	* elf32-s390.c (dtpoff_base, tpoff): Likewise.
|	* elf32-sh.c (dtpoff_base, tpoff): Likewise.
|	* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
|	* elf64-s390.c (dtpoff_base, tpoff): Likewise.
|	* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
|	* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
|	(elfNN_ia64_dtprel_base): Likewise.
|	* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
|	(alpha_get_tprel_base): Likewise.
|	(struct alpha_relax_info): Remove tls_segment.
|	(elf64_alpha_relax_got_load): Adjust invocation of
|	alpha_get_dtprel_base and alpha_get_tprel_base.
|	(elf64_alpha_relax_tls_get_addr): Likewise.
|	(elf64_alpha_relax_section): Likewise.
|	(elf64_alpha_relocate_section): Likewise.
|	(elf64_alpha_relax_find_tls_segment): Delete.
|	* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
|	(ppc_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
|	(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
|	* elf32-ppc.h (ppc_elf_tls_setup): Update.
|	* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
|	(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
|	(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
|	(ppc64_elf_relocate_section): Likewise.
|	* elf64-ppc.h (ppc64_elf_tls_setup): Update.
|
|ld/ChangeLog
|	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Call
|	_bfd_elf_tls_setup.
|
|Index: bfd/bfd-in.h
|===================================================================
|RCS file: /cvs/src/src/bfd/bfd-in.h,v
|retrieving revision 1.68
|diff -u -p -r1.68 bfd-in.h
|--- bfd/bfd-in.h	31 Oct 2003 05:32:45 -0000	1.68
|+++ bfd/bfd-in.h	4 Nov 2003 05:33:50 -0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
missing header for unified diff at line 93 of patch
can't find file to patch at input line 93
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf-bfd.h
|===================================================================
|RCS file: /cvs/src/src/bfd/elf-bfd.h,v
|retrieving revision 1.116
|diff -u -p -r1.116 elf-bfd.h
|--- bfd/elf-bfd.h	3 Nov 2003 15:17:38 -0000	1.116
|+++ bfd/elf-bfd.h	4 Nov 2003 05:33:53 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 127 of patch
can't find file to patch at input line 127
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf.c,v
|retrieving revision 1.205
|diff -u -p -r1.205 elf.c
|--- bfd/elf.c	31 Oct 2003 05:32:45 -0000	1.205
|+++ bfd/elf.c	4 Nov 2003 05:34:00 -0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
missing header for unified diff at line 144 of patch
can't find file to patch at input line 144
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elflink.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elflink.c,v
|retrieving revision 1.48
|diff -u -p -r1.48 elflink.c
|--- bfd/elflink.c	30 Oct 2003 14:13:50 -0000	1.48
|+++ bfd/elflink.c	4 Nov 2003 05:34:00 -0000
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
missing header for unified diff at line 183 of patch
can't find file to patch at input line 183
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elflink.h
|===================================================================
|RCS file: /cvs/src/src/bfd/elflink.h,v
|retrieving revision 1.245
|diff -u -p -r1.245 elflink.h
|--- bfd/elflink.h	24 Oct 2003 14:55:14 -0000	1.245
|+++ bfd/elflink.h	4 Nov 2003 05:34:02 -0000
--------------------------
No file to patch.  Skipping patch.
6 out of 6 hunks ignored
missing header for unified diff at line 295 of patch
can't find file to patch at input line 295
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-i386.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-i386.c,v
|retrieving revision 1.112
|diff -u -p -r1.112 elf32-i386.c
|--- bfd/elf32-i386.c	3 Nov 2003 15:17:38 -0000	1.112
|+++ bfd/elf32-i386.c	4 Nov 2003 05:34:04 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 335 of patch
can't find file to patch at input line 335
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-s390.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-s390.c,v
|retrieving revision 1.49
|diff -u -p -r1.49 elf32-s390.c
|--- bfd/elf32-s390.c	3 Nov 2003 15:17:39 -0000	1.49
|+++ bfd/elf32-s390.c	4 Nov 2003 05:34:06 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 375 of patch
can't find file to patch at input line 375
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-sh.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-sh.c,v
|retrieving revision 1.95
|diff -u -p -r1.95 elf32-sh.c
|--- bfd/elf32-sh.c	3 Nov 2003 15:17:39 -0000	1.95
|+++ bfd/elf32-sh.c	4 Nov 2003 05:34:10 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 412 of patch
can't find file to patch at input line 412
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf32-sparc.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf32-sparc.c,v
|retrieving revision 1.57
|diff -u -p -r1.57 elf32-sparc.c
|--- bfd/elf32-sparc.c	3 Nov 2003 15:17:39 -0000	1.57
|+++ bfd/elf32-sparc.c	4 Nov 2003 05:34:11 -0000
--------------------------
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
missing header for unified diff at line 452 of patch
can't find file to patch at input line 452
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: bfd/elf64-s390.c
|===================================================================
|RCS file: /cvs/src/src/bfd/elf64-s390.c,v
|retrieving revision 1.50
|diff -u -p -r1.50 elf64-s390.c
|--- bfd/elf64-s390.c	3 Nov 2003 15:17:39 -0000	1.50
|+++ bfd/elf64-s390.c	4 Nov 2003 05:34:13 -0000
--------------------------
No file to patch.  Skipping patch.
patch: **** malformed patch at line 484: Ix86-64.c