Line 3352... |
Line 3352... |
static bfd_boolean
|
static bfd_boolean
|
xcoff_post_gc_symbol (struct xcoff_link_hash_entry *h, void * p)
|
xcoff_post_gc_symbol (struct xcoff_link_hash_entry *h, void * p)
|
{
|
{
|
struct xcoff_loader_info *ldinfo = (struct xcoff_loader_info *) p;
|
struct xcoff_loader_info *ldinfo = (struct xcoff_loader_info *) p;
|
|
|
if (h->root.type == bfd_link_hash_warning)
|
|
h = (struct xcoff_link_hash_entry *) h->root.u.i.link;
|
|
|
|
/* __rtinit, this symbol has special handling. */
|
/* __rtinit, this symbol has special handling. */
|
if (h->flags & XCOFF_RTINIT)
|
if (h->flags & XCOFF_RTINIT)
|
return TRUE;
|
return TRUE;
|
|
|
/* We don't want to garbage collect symbols which are not defined in
|
/* We don't want to garbage collect symbols which are not defined in
|
Line 5150... |
Line 5147... |
}
|
}
|
|
|
/* Write out a non-XCOFF global symbol. */
|
/* Write out a non-XCOFF global symbol. */
|
|
|
static bfd_boolean
|
static bfd_boolean
|
xcoff_write_global_symbol (struct xcoff_link_hash_entry *h, void * inf)
|
xcoff_write_global_symbol (struct bfd_hash_entry *bh, void * inf)
|
{
|
{
|
|
struct xcoff_link_hash_entry *h = (struct xcoff_link_hash_entry *) bh;
|
struct xcoff_final_link_info *flinfo = (struct xcoff_final_link_info *) inf;
|
struct xcoff_final_link_info *flinfo = (struct xcoff_final_link_info *) inf;
|
bfd *output_bfd;
|
bfd *output_bfd;
|
bfd_byte *outsym;
|
bfd_byte *outsym;
|
struct internal_syment isym;
|
struct internal_syment isym;
|
union internal_auxent aux;
|
union internal_auxent aux;
|
Line 6235... |
Line 6233... |
goto error_return;
|
goto error_return;
|
}
|
}
|
|
|
/* Write out all the global symbols which do not come from XCOFF
|
/* Write out all the global symbols which do not come from XCOFF
|
input files. */
|
input files. */
|
xcoff_link_hash_traverse (xcoff_hash_table (info),
|
bfd_hash_traverse (&info->hash->table, xcoff_write_global_symbol, &flinfo);
|
xcoff_write_global_symbol,
|
|
(void *) &flinfo);
|
|
|
|
if (flinfo.outsyms != NULL)
|
if (flinfo.outsyms != NULL)
|
{
|
{
|
free (flinfo.outsyms);
|
free (flinfo.outsyms);
|
flinfo.outsyms = NULL;
|
flinfo.outsyms = NULL;
|