patches/binutils/2.15/250-ld-stabs-tweak.patch
author Zoltan Devai <zdevai@gmail.com>
Wed Oct 28 12:03:38 2009 +0100 (2009-10-28)
changeset 1602 1ba79f2126df
parent 745 e445c00d134d
permissions -rw-r--r--
libc/uClibc: fix building on system with recent glibc

While trying to build a toolchain with ct-ng 1.5.0,
arm-unknown-linux-uclibcgnueabi target,
I get the following error:

[INFO ] Installing C library headers
[EXTRA] Copying sources to build dir
[EXTRA] Applying configuration
[EXTRA] Building headers
[EXTRA] Installing headers
[ERROR] extra/scripts/unifdef.c:209: error: conflicting types for 'getline'
[ERROR] make[2]: *** [extra/scripts/unifdef] Error 1
[ERROR] Build failed in step 'Installing C library headers'

The following patch solves the problem.
(It's a backport of this uClibc commit:
http://git.uclibc.org/uClibc/commit/?id=49e81cada73616864b9b31df0aeb6961c30f5a6e
)

[--SNIP from another mail--]
AFAIK this is a problem since glibc 2.10.
     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;