Line 123... |
Line 123... |
/* ??? Equates have been resolved at this point so their
|
/* ??? Equates have been resolved at this point so their
|
expression is O_constant; but they previously were
|
expression is O_constant; but they previously were
|
O_symbol and we hope the equated symbol is still there. */
|
O_symbol and we hope the equated symbol is still there. */
|
sym = symbol_get_value_expression (sym)->X_add_symbol;
|
sym = symbol_get_value_expression (sym)->X_add_symbol;
|
if (sym == NULL)
|
if (sym == NULL)
|
abort ();
|
{
|
|
as_bad (_("no entry symbol for global function '%s'"), symname);
|
|
return;
|
|
}
|
symbol = symbol_get_bfdsym (sym);
|
symbol = symbol_get_bfdsym (sym);
|
udata->enbsym
|
udata->enbsym
|
= ((struct evax_private_udata_struct *)symbol->udata.p)->enbsym;
|
= ((struct evax_private_udata_struct *)symbol->udata.p)->enbsym;
|
}
|
}
|
}
|
}
|
Line 148... |
Line 151... |
/* Handle .linkage fixups. */
|
/* Handle .linkage fixups. */
|
for (l = alpha_linkage_fixup_root; l != NULL; l = l->next)
|
for (l = alpha_linkage_fixup_root; l != NULL; l = l->next)
|
{
|
{
|
if (S_GET_SEGMENT (l->fixp->fx_addsy) == alpha_link_section)
|
if (S_GET_SEGMENT (l->fixp->fx_addsy) == alpha_link_section)
|
{
|
{
|
|
/* The symbol is defined in the file. The linkage entry decays to
|
|
two relocs. */
|
symbolS * entry_sym;
|
symbolS * entry_sym;
|
fixS *fixpentry, *fixppdesc, *fixtail;
|
fixS *fixpentry, *fixppdesc, *fixtail;
|
|
|
fixtail = seginfo->fix_tail;
|
fixtail = seginfo->fix_tail;
|
|
|
Line 179... |
Line 184... |
seginfo->fix_tail = fixtail;
|
seginfo->fix_tail = fixtail;
|
}
|
}
|
}
|
}
|
else
|
else
|
{
|
{
|
|
/* Assign a linkage index. */
|
((struct evax_private_udata_struct *)
|
((struct evax_private_udata_struct *)
|
symbol_get_bfdsym (l->label)->udata.p)->lkindex = linkage_index;
|
symbol_get_bfdsym (l->label)->udata.p)->lkindex = linkage_index;
|
|
|
l->fixp->fx_addnumber = linkage_index;
|
l->fixp->fx_addnumber = linkage_index;
|
|
|