diff options
author | Tristan Gingold <gingold@adacore.com> | 2011-06-27 10:03:42 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2011-06-27 10:03:42 +0000 |
commit | bb1d425616ac27230436ca1d5aa4158fdfabebbe (patch) | |
tree | 698ccf0a6bcdcea068730b523c2f1847658f06c4 /gas | |
parent | b315ab2151bc2501de3ab6f0075ecc1646c2ae67 (diff) | |
download | binutils-bb1d425616ac27230436ca1d5aa4158fdfabebbe.zip binutils-bb1d425616ac27230436ca1d5aa4158fdfabebbe.tar.gz binutils-bb1d425616ac27230436ca1d5aa4158fdfabebbe.tar.bz2 |
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
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 8 | ||||
-rw-r--r-- | gas/config/obj-evax.c | 5 | ||||
-rw-r--r-- | gas/config/obj-evax.h | 21 |
3 files changed, 20 insertions, 14 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index f57a5bf..465d8ac 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -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 diff --git a/gas/config/obj-evax.c b/gas/config/obj-evax.c index a52b896..b66e2c3 100644 --- a/gas/config/obj-evax.c +++ b/gas/config/obj-evax.c @@ -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; diff --git a/gas/config/obj-evax.h b/gas/config/obj-evax.h index 4964bd4..b7520b7 100644 --- a/gas/config/obj-evax.h +++ b/gas/config/obj-evax.h @@ -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 |