diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 81712c7227..b3d8d71729 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,13 @@ +2003-12-03 Alan Modra + + * ecoff.c (ecoff_link_add_archive_symbols): Update for renamed + bfd_link_hash_entry field "next" -> "und_next". + * linker.c (_bfd_link_hash_newfunc): Likewise. + (bfd_link_add_undef): Likewise. + (_bfd_generic_link_add_archive_symbols): Likewise. + (_bfd_generic_link_add_one_symbol): Likewise. + * xcofflink.c (xcoff_link_add_symbols): Likewise. + 2003-12-02 Nick Clifton * configure.in (ALL_LINGUAS): Add ro. diff --git a/bfd/ecoff.c b/bfd/ecoff.c index b9b1861029..cfc5ae1b9f 100644 --- a/bfd/ecoff.c +++ b/bfd/ecoff.c @@ -3566,9 +3566,9 @@ ecoff_link_add_archive_symbols (abfd, info) entry if it is the tail, because that would lose any entries we add to the list later on. */ if (*pundef != info->hash->undefs_tail) - *pundef = (*pundef)->next; + *pundef = (*pundef)->und_next; else - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; continue; } @@ -3578,7 +3578,7 @@ ecoff_link_add_archive_symbols (abfd, info) other object format. */ if (h->type != bfd_link_hash_undefined) { - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; continue; } @@ -3590,7 +3590,7 @@ ecoff_link_add_archive_symbols (abfd, info) if (file_offset == 0) { /* Nothing in this slot. */ - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; continue; } @@ -3621,7 +3621,7 @@ ecoff_link_add_archive_symbols (abfd, info) if (! found) { - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; continue; } @@ -3643,7 +3643,7 @@ ecoff_link_add_archive_symbols (abfd, info) if (! ecoff_link_add_object_symbols (element, info)) return FALSE; - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; } return TRUE; diff --git a/bfd/linker.c b/bfd/linker.c index a1a8a4ca3c..c55fb9338a 100644 --- a/bfd/linker.c +++ b/bfd/linker.c @@ -455,7 +455,7 @@ _bfd_link_hash_newfunc (struct bfd_hash_entry *entry, /* Initialize the local fields. */ h->type = bfd_link_hash_new; - h->next = NULL; + h->und_next = NULL; } return entry; @@ -614,9 +614,9 @@ void bfd_link_add_undef (struct bfd_link_hash_table *table, struct bfd_link_hash_entry *h) { - BFD_ASSERT (h->next == NULL); + BFD_ASSERT (h->und_next == NULL); if (table->undefs_tail != NULL) - table->undefs_tail->next = h; + table->undefs_tail->und_next = h; if (table->undefs == NULL) table->undefs = h; table->undefs_tail = h; @@ -988,9 +988,9 @@ _bfd_generic_link_add_archive_symbols us to lose track of whether the symbol has been referenced). */ if (*pundef != info->hash->undefs_tail) - *pundef = (*pundef)->next; + *pundef = (*pundef)->und_next; else - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; continue; } @@ -1013,7 +1013,7 @@ _bfd_generic_link_add_archive_symbols } if (arh == NULL) { - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; continue; } } @@ -1062,7 +1062,7 @@ _bfd_generic_link_add_archive_symbols } } - pundef = &(*pundef)->next; + pundef = &(*pundef)->und_next; } archive_hash_table_free (&arsym_hash); @@ -1692,8 +1692,8 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info, case REF: /* A reference to a defined symbol. */ - if (h->next == NULL && info->hash->undefs_tail != h) - h->next = h; + if (h->und_next == NULL && info->hash->undefs_tail != h) + h->und_next = h; break; case BIG: @@ -1879,8 +1879,8 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info, case REFC: /* A reference to an indirect symbol. */ - if (h->next == NULL && info->hash->undefs_tail != h) - h->next = h; + if (h->und_next == NULL && info->hash->undefs_tail != h) + h->und_next = h; h = h->u.i.link; cycle = TRUE; break; @@ -1895,10 +1895,10 @@ _bfd_generic_link_add_one_symbol (struct bfd_link_info *info, case CWARN: /* Warn if this symbol has been referenced already, otherwise add a warning. A symbol has been referenced if - the next field is not NULL, or it is the tail of the + the und_next field is not NULL, or it is the tail of the undefined symbol list. The REF case above helps to ensure this. */ - if (h->next != NULL || info->hash->undefs_tail == h) + if (h->und_next != NULL || info->hash->undefs_tail == h) { if (! (*info->callbacks->warning) (info, string, h->root.string, hash_entry_bfd (h), NULL, 0)) diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c index d457aa05f0..ccd82befda 100644 --- a/bfd/xcofflink.c +++ b/bfd/xcofflink.c @@ -1827,7 +1827,7 @@ xcoff_link_add_symbols (abfd, info) section = bfd_und_section_ptr; value = 0; } - else if ((*sym_hash)->root.next != NULL + else if ((*sym_hash)->root.und_next != NULL || info->hash->undefs_tail == &(*sym_hash)->root) { /* This symbol has been referenced. In this diff --git a/include/ChangeLog b/include/ChangeLog index f710f85c77..d7c752be50 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2003-12-03 Alan Modra + + * bfdlink.h (struct bfd_link_hash_entry): Rename "next" to "und_next". + 2003-12-02 Alan Modra * bfdlink.h (struct bfd_link_info): Remove mpc860c0 field. diff --git a/include/bfdlink.h b/include/bfdlink.h index 51bbd5e492..f31046dfd1 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -81,6 +81,7 @@ struct bfd_link_hash_entry { /* Base hash table entry structure. */ struct bfd_hash_entry root; + /* Type of this entry. */ enum bfd_link_hash_type type; @@ -102,7 +103,8 @@ struct bfd_link_hash_entry symbol is undefined and becomes defined, this field will automatically be non-NULL since the symbol will have been on the undefined symbol list. */ - struct bfd_link_hash_entry *next; + struct bfd_link_hash_entry *und_next; + /* A union of information depending upon the type. */ union { diff --git a/ld/ChangeLog b/ld/ChangeLog index e7905a7662..3483b16419 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2003-12-03 Alan Modra + + * emultempl/pe.em (pe_fixup_stdcalls): Update for renamed + bfd_link_hash_entry field "next" -> "und_next". + (pe_find_data_imports): Likewise. + (gld_${EMULATION_NAME}_after_open): Likewise. + * emultempl/sunos.em (before_allocation): Likewise. + 2003-12-02 Nick Clifton * ld.texinfo (Options): --ignore-all is no longer the default diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 7da7349ac5..bc21bc5c7a 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -767,7 +767,7 @@ pe_fixup_stdcalls (void) if (pe_dll_extra_pe_debug) printf ("%s\n", __FUNCTION__); - for (undef = link_info.hash->undefs; undef; undef=undef->next) + for (undef = link_info.hash->undefs; undef; undef=undef->und_next) if (undef->type == bfd_link_hash_undefined) { char* at = strchr (undef->root.string, '@'); @@ -859,7 +859,7 @@ pe_find_data_imports (void) if (link_info.pei386_auto_import == 0) return; - for (undef = link_info.hash->undefs; undef; undef=undef->next) + for (undef = link_info.hash->undefs; undef; undef=undef->und_next) { if (undef->type == bfd_link_hash_undefined) { @@ -939,7 +939,7 @@ gld_${EMULATION_NAME}_after_open (void) printf ("%s()\n", __FUNCTION__); - for (sym = link_info.hash->undefs; sym; sym=sym->next) + for (sym = link_info.hash->undefs; sym; sym=sym->und_next) printf ("-%s\n", sym->root.string); bfd_hash_traverse (&link_info.hash->table, pr_sym, NULL); diff --git a/ld/emultempl/sunos.em b/ld/emultempl/sunos.em index 912d2f3b49..80ce2de643 100644 --- a/ld/emultempl/sunos.em +++ b/ld/emultempl/sunos.em @@ -679,7 +679,7 @@ gld${EMULATION_NAME}_before_allocation (void) { struct bfd_link_hash_entry *h; - for (h = link_info.hash->undefs; h != NULL; h = h->next) + for (h = link_info.hash->undefs; h != NULL; h = h->und_next) { if (h->type == bfd_link_hash_undefined && h->u.undef.abfd != NULL