diff options
author | Alan Modra <amodra@gmail.com> | 2014-11-04 14:41:00 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2014-11-04 22:40:44 +1030 |
commit | 127a8db1ed4fc7903007dc23c6b11f613933f9ef (patch) | |
tree | 522833f4eb898ed9b079caaebfe0f25dd497b94c /gas | |
parent | 0cdcdbf8dbadc70194d46b4c3400ba8cc2a10fc0 (diff) | |
download | gdb-127a8db1ed4fc7903007dc23c6b11f613933f9ef.zip gdb-127a8db1ed4fc7903007dc23c6b11f613933f9ef.tar.gz gdb-127a8db1ed4fc7903007dc23c6b11f613933f9ef.tar.bz2 |
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.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-d10v.c | 4 | ||||
-rw-r--r-- | gas/config/tc-d30v.c | 6 |
3 files changed, 9 insertions, 7 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 18ceb94..bffcc37 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 8e3d171..dacfeb7 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 9076e41..a73f9b1 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; } |