aboutsummaryrefslogtreecommitdiff
path: root/bfd/linker.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1994-02-26 05:37:41 +0000
committerIan Lance Taylor <ian@airs.com>1994-02-26 05:37:41 +0000
commitecff0ffe9c207d9b5a5f7f60d16cf31139bf4548 (patch)
treeb80bfe8c62201ca10f518d8b3551550a1714803e /bfd/linker.c
parent850584adbe22dbc786693b3c43c29517d6a5a15e (diff)
downloadgdb-ecff0ffe9c207d9b5a5f7f60d16cf31139bf4548.zip
gdb-ecff0ffe9c207d9b5a5f7f60d16cf31139bf4548.tar.gz
gdb-ecff0ffe9c207d9b5a5f7f60d16cf31139bf4548.tar.bz2
* linker.c (_bfd_generic_link_write_global_symbol): Add missing
break in switch.
Diffstat (limited to 'bfd/linker.c')
-rw-r--r--bfd/linker.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/bfd/linker.c b/bfd/linker.c
index d63fe99..612190e 100644
--- a/bfd/linker.c
+++ b/bfd/linker.c
@@ -809,15 +809,19 @@ _bfd_generic_link_add_archive_symbols (abfd, info, checkfn)
for (arsym = arsyms, indx = 0; arsym < arsym_end; arsym++, indx++)
{
struct archive_hash_entry *arh;
- struct archive_list *l;
+ struct archive_list *l, **pp;
arh = archive_hash_lookup (&arsym_hash, arsym->name, true, false);
if (arh == (struct archive_hash_entry *) NULL)
return false;
l = (struct archive_list *) alloca (sizeof (struct archive_list));
- l->next = arh->defs;
- arh->defs = l;
l->indx = indx;
+ for (pp = &arh->defs;
+ *pp != (struct archive_list *) NULL;
+ pp = &(*pp)->next)
+ ;
+ *pp = l;
+ l->next = NULL;
}
pass = 1;
@@ -1854,6 +1858,7 @@ _bfd_generic_link_write_global_symbol (h, data)
sym->section = &bfd_und_section;
sym->value = 0;
sym->flags |= BSF_WEAK;
+ break;
case bfd_link_hash_defined:
sym->section = h->root.u.def.section;
sym->value = h->root.u.def.value;