diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 8 | ||||
-rw-r--r-- | ld/ldcref.c | 5 | ||||
-rw-r--r-- | ld/ldlang.c | 12 | ||||
-rw-r--r-- | ld/ldmain.c | 22 |
4 files changed, 32 insertions, 15 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 6f091b0..9005e8f 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2006-03-16 Alan Modra <amodra@bigpond.net.au> + + PR 2434 + * ldcref.c (add_cref): Adjust bfd_hash_table_init calls. + * ldlang.c (output_statement_table_init, lang_init): Likewise. + * ldmain.c (add_ysym, add_wrap, add_keepsyms_file): Likewise. + (undefined_symbol): Likewise. + 2006-03-07 Richard Sandiford <richard@codesourcery.com> Daniel Jacobowitz <dan@codesourcery.com> Zack Weinberg <zack@codesourcery.com> diff --git a/ld/ldcref.c b/ld/ldcref.c index bcb787b..7445aa8 100644 --- a/ld/ldcref.c +++ b/ld/ldcref.c @@ -1,5 +1,5 @@ /* ldcref.c -- output a cross reference table - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc. Written by Ian Lance Taylor <ian@cygnus.com> @@ -149,7 +149,8 @@ add_cref (const char *name, if (! cref_initialized) { - if (! bfd_hash_table_init (&cref_table.root, cref_hash_newfunc)) + if (!bfd_hash_table_init (&cref_table.root, cref_hash_newfunc, + sizeof (struct cref_hash_entry))) einfo (_("%X%P: bfd_hash_table_init of cref table failed: %E\n")); cref_initialized = TRUE; } diff --git a/ld/ldlang.c b/ld/ldlang.c index f51f68e..f6d849e 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -1,6 +1,6 @@ /* Linker command language support. Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005 + 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GLD, the Gnu Linker. @@ -933,8 +933,10 @@ output_statement_newfunc (struct bfd_hash_entry *entry, static void output_statement_table_init (void) { - if (! bfd_hash_table_init_n (&output_statement_table, - output_statement_newfunc, 61)) + if (!bfd_hash_table_init_n (&output_statement_table, + output_statement_newfunc, + sizeof (struct output_statement_hash_entry), + 61)) einfo (_("%P%F: can not create hash table: %E\n")); } @@ -974,7 +976,9 @@ lang_init (void) of code-complexity here in ld, besides the initialization which just looks like other code here. */ if (!bfd_hash_table_init_n (&lang_definedness_table, - lang_definedness_newfunc, 3)) + lang_definedness_newfunc, + sizeof (struct lang_definedness_hash_entry), + 3)) einfo (_("%P%F: can not create hash table: %E\n")); } diff --git a/ld/ldmain.c b/ld/ldmain.c index c8a75d6..3093bdb 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -1,6 +1,6 @@ /* Main program of GNU linker. Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, - 2002, 2003, 2004, 2005 + 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. Written by Steve Chamberlain steve@cygnus.com @@ -777,9 +777,10 @@ add_ysym (const char *name) if (link_info.notice_hash == NULL) { link_info.notice_hash = xmalloc (sizeof (struct bfd_hash_table)); - if (! bfd_hash_table_init_n (link_info.notice_hash, - bfd_hash_newfunc, - 61)) + if (!bfd_hash_table_init_n (link_info.notice_hash, + bfd_hash_newfunc, + sizeof (struct bfd_hash_entry), + 61)) einfo (_("%P%F: bfd_hash_table_init failed: %E\n")); } @@ -795,9 +796,10 @@ add_wrap (const char *name) if (link_info.wrap_hash == NULL) { link_info.wrap_hash = xmalloc (sizeof (struct bfd_hash_table)); - if (! bfd_hash_table_init_n (link_info.wrap_hash, - bfd_hash_newfunc, - 61)) + if (!bfd_hash_table_init_n (link_info.wrap_hash, + bfd_hash_newfunc, + sizeof (struct bfd_hash_entry), + 61)) einfo (_("%P%F: bfd_hash_table_init failed: %E\n")); } @@ -827,7 +829,8 @@ add_keepsyms_file (const char *filename) } link_info.keep_hash = xmalloc (sizeof (struct bfd_hash_table)); - if (! bfd_hash_table_init (link_info.keep_hash, bfd_hash_newfunc)) + if (!bfd_hash_table_init (link_info.keep_hash, bfd_hash_newfunc, + sizeof (struct bfd_hash_entry))) einfo (_("%P%F: bfd_hash_table_init failed: %E\n")); bufsize = 100; @@ -1326,7 +1329,8 @@ undefined_symbol (struct bfd_link_info *info ATTRIBUTE_UNUSED, if (hash == NULL) { hash = xmalloc (sizeof (struct bfd_hash_table)); - if (! bfd_hash_table_init (hash, bfd_hash_newfunc)) + if (!bfd_hash_table_init (hash, bfd_hash_newfunc, + sizeof (struct bfd_hash_entry))) einfo (_("%F%P: bfd_hash_table_init failed: %E\n")); } |