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