patches/binutils/2.15/250-ld-stabs-tweak.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Aug 07 13:28:02 2008 +0000 (2008-08-07)
changeset 763 f078be5961ec
parent 745 e445c00d134d
permissions -rw-r--r--
Fix building core C compiler.
PowerPC unveiled that you can't reliably build a target libgcc until you have C library headers.
In fact you can't build it at all. The fact that it did build for some architectures was purely coincidental, and a mistake.
This fix should still allow to build uClibc-based toolchains (some ARM uClibc toolchains were build-tested).

/trunk/scripts/build/cc_gcc.sh | 100 47 53 0 +++++++++++++++++++++++-------------------------
1 file changed, 47 insertions(+), 53 deletions(-)
     1 Signed-off-by: dank@kegel.com
     2 
     3 See http://sourceware.org/ml/binutils/2005-12/msg00270.html
     4 http://sourceware.org/ml/binutils-cvs/2005-12/msg00139.html
     5 
     6 STABS hash table size change, backported from the binutils CVS tree.  Here's
     7 the CVS log comment for the original change:
     8 
     9 revision 1.25
    10 date: 2005/12/29 10:29:23;  author: nickc;  state: Exp;  lines: +2 -3
    11 (_bfd_link_section_stabs): Use bfd_hash_table_init rather than
    12 bfd_hash_table_init_n(...,251) so that the size of the hash table can be
    13 controlled by the user.
    14 
    15 Note that tunable hash table size changes were added after 2.15.  The effect
    16 of this change is to make bfd use its default hash table size for the stabs
    17 hash as well.
    18 
    19 
    20 --- binutils-2.15/bfd/stabs.c.old	2004-05-17 15:36:04.000000000 -0400
    21 +++ binutils-2.15/bfd/stabs.c	2006-02-09 15:21:56.567014000 -0500
    22 @@ -241,9 +241,8 @@
    23  	goto error_return;
    24        /* Make sure the first byte is zero.  */
    25        (void) _bfd_stringtab_add (sinfo->strings, "", TRUE, TRUE);
    26 -      if (! bfd_hash_table_init_n (&sinfo->includes.root,
    27 -				   stab_link_includes_newfunc,
    28 -				   251))
    29 +      if (! bfd_hash_table_init (&sinfo->includes.root,
    30 +				   stab_link_includes_newfunc))
    31  	goto error_return;
    32        sinfo->stabstr = bfd_make_section_anyway (abfd, ".stabstr");
    33        sinfo->stabstr->flags |= SEC_HAS_CONTENTS | SEC_READONLY | SEC_DEBUGGING;