/* obj-evax.c - EVAX (openVMS/Alpha) object file format.
- Copyright 1996, 1997, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1996-2014 Free Software Foundation, Inc.
Contributed by Klaus Kämpf (kkaempf@progis.de) of
proGIS Software, Aachen, Germany.
Extensively enhanced by Douglas Rupp of AdaCore.
#define OBJ_HEADER "obj-evax.h"
+#include "as.h"
#include "bfd.h"
#include "vms.h"
-#include "as.h"
#include "subsegs.h"
#include "struc-symbol.h"
#include "safe-ctype.h"
{
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;
fixS *fixpentry, *fixppdesc, *fixtail;
fixpentry = fix_new (l->fixp->fx_frag, l->fixp->fx_where, 8,
entry_sym, l->fixp->fx_offset, 0,
BFD_RELOC_64);
- fixppdesc = fix_new (l->fixp->fx_frag, l->fixp->fx_where+8, 8,
+ fixppdesc = fix_new (l->fixp->fx_frag, l->fixp->fx_where + 8, 8,
l->fixp->fx_addsy, l->fixp->fx_offset, 0,
BFD_RELOC_64);
l->fixp->fx_size = 0;
}
else
{
+ /* Assign a linkage index. */
((struct evax_private_udata_struct *)
symbol_get_bfdsym (l->label)->udata.p)->lkindex = linkage_index;