aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2011-06-27 10:03:42 +0000
committerTristan Gingold <gingold@adacore.com>2011-06-27 10:03:42 +0000
commitbb1d425616ac27230436ca1d5aa4158fdfabebbe (patch)
tree698ccf0a6bcdcea068730b523c2f1847658f06c4 /gas
parentb315ab2151bc2501de3ab6f0075ecc1646c2ae67 (diff)
downloadbinutils-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/ChangeLog8
-rw-r--r--gas/config/obj-evax.c5
-rw-r--r--gas/config/obj-evax.h21
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