summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2014-11-04 14:41:00 +1030
committerAlan Modra <amodra@gmail.com>2014-11-04 22:40:44 +1030
commit127a8db1ed4fc7903007dc23c6b11f613933f9ef (patch)
tree522833f4eb898ed9b079caaebfe0f25dd497b94c
parent0cdcdbf8dbadc70194d46b4c3400ba8cc2a10fc0 (diff)
downloadbinutils-gdb-127a8db1ed4fc7903007dc23c6b11f613933f9ef.tar.gz
Use frag_now_fix_octets in gas d10v, d30v
obstack_next_free is supposed to return a void* rather than the char* it does currently, so expressions involving pointer arithmetic need a cast. Avoid the issue. * config/tc-d10v.c (find_opcode): Call frag_now_fix_octets rather than equivalent obstack_next_free expression. * config/tc-d30v.c (find_format): Likewise.
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-d10v.c4
-rw-r--r--gas/config/tc-d30v.c6
3 files changed, 9 insertions, 7 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 18ceb94f199..bffcc37dfa2 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2014-11-04 Alan Modra <amodra@gmail.com>
+
+ * config/tc-d10v.c (find_opcode): Call frag_now_fix_octets rather
+ than equivalent obstack_next_free expression.
+ * config/tc-d30v.c (find_format): Likewise.
+
2014-11-03 Nick Clifton <nickc@redhat.com>
* config/tc-msp430.c (msp430_srcoperand): Fix range test for
diff --git a/gas/config/tc-d10v.c b/gas/config/tc-d10v.c
index 8e3d171cd5f..dacfeb7467e 100644
--- a/gas/config/tc-d10v.c
+++ b/gas/config/tc-d10v.c
@@ -1226,9 +1226,7 @@ find_opcode (struct d10v_opcode *opcode, expressionS myops[])
sym_frag = symbol_get_frag (myops[opnum].X_add_symbol);
found_symbol = FALSE;
- current_position =
- obstack_next_free (&frchain_now->frch_obstack)
- - frag_now->fr_literal;
+ current_position = frag_now_fix_octets ();
symbol_position = S_GET_VALUE (myops[opnum].X_add_symbol);
for (f = frchain_now->frch_root; f; f = f->fr_next)
diff --git a/gas/config/tc-d30v.c b/gas/config/tc-d30v.c
index 9076e4125c4..a73f9b1f9e6 100644
--- a/gas/config/tc-d30v.c
+++ b/gas/config/tc-d30v.c
@@ -1242,12 +1242,10 @@ find_format (struct d30v_opcode *opcode,
/* Calculate the current address by running through the
previous frags and adding our current offset. */
- value = 0;
+ value = frag_now_fix_octets ();
for (f = frchain_now->frch_root; f; f = f->fr_next)
value += f->fr_fix + f->fr_offset;
- value = (S_GET_VALUE (myops[j].X_add_symbol) - value
- - (obstack_next_free (&frchain_now->frch_obstack)
- - frag_now->fr_literal));
+ value = S_GET_VALUE (myops[j].X_add_symbol) - value;
if (check_range (value, bits, flags))
match = 0;
}