2011-06-27 Tristan Gingold <gingold@adacore.com>

* config/obj-evax.c (evax_frob_file_before_adjust): Add comments.
	Fix style.
	* config/obj-evax.h (struct alpha_linkage_fixups): Remove seg
	field.  Add comments.
	(obj_symbol_type, object_headers, OBJ_SYMFIELD_TYPE): Remove
This commit is contained in:
Tristan Gingold 2011-06-27 10:03:42 +00:00
parent b315ab2151
commit bb1d425616
3 changed files with 20 additions and 14 deletions

View File

@ -1,3 +1,11 @@
2011-06-27 Tristan Gingold <gingold@adacore.com>
* config/obj-evax.c (evax_frob_file_before_adjust): Add comments.
Fix style.
* config/obj-evax.h (struct alpha_linkage_fixups): Remove seg
field. Add comments.
(obj_symbol_type, object_headers, OBJ_SYMFIELD_TYPE): Remove
2011-06-26 Richard Sandiford <rdsandiford@googlemail.com>
* config/tc-mips.c (fix_24k_record_store_info): If the previous

View File

@ -153,6 +153,8 @@ evax_frob_file_before_adjust (void)
{
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;
@ -166,7 +168,7 @@ evax_frob_file_before_adjust (void)
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;
@ -184,6 +186,7 @@ evax_frob_file_before_adjust (void)
}
else
{
/* Assign a linkage index. */
((struct evax_private_udata_struct *)
symbol_get_bfdsym (l->label)->udata.p)->lkindex = linkage_index;

View File

@ -38,11 +38,18 @@
struct fix;
/* Simply linked list of .linkage. */
struct alpha_linkage_fixups
{
/* Next entry. */
struct alpha_linkage_fixups *next;
/* Corresponding fixup. */
struct fix *fixp;
segT seg;
/* Label that designates this entry.
Note that a linkage entry can only be designated by one label.
Also, s_alpha_linkage force the creation of a label. */
symbolS *label;
};
@ -60,20 +67,8 @@ struct alpha_linkage_fixups
/* #define SYMBOLS_NEED_PACKPOINTERS */
/* */
typedef struct
{
void *nothing;
}
obj_symbol_type; /* should be the format's symbol structure */
typedef void *object_headers;
#define OBJ_EMIT_LINENO(a,b,c) /* must be *something*. This no-op's it out. */
/* This field keeps the symbols position in the link section. */
#define OBJ_SYMFIELD_TYPE valueT
#define obj_symbol_new_hook(s) evax_symbol_new_hook (s)
#define obj_frob_symbol(s,p) evax_frob_symbol (s, &p)
#define obj_frob_file_before_adjust evax_frob_file_before_adjust