diff options
author | Alan Modra <amodra@gmail.com> | 2007-04-20 13:42:03 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2007-04-20 13:42:03 +0000 |
commit | 931774a953b8d12dc80325af47bdd4860a332818 (patch) | |
tree | 6da6bc8c612130ee534fe2186a815c8893d7f207 | |
parent | f6da2ec2819291c7217ef895cd28e6f8b2a833a6 (diff) | |
download | gdb-931774a953b8d12dc80325af47bdd4860a332818.zip gdb-931774a953b8d12dc80325af47bdd4860a332818.tar.gz gdb-931774a953b8d12dc80325af47bdd4860a332818.tar.bz2 |
* messages.c (as_internal_value_out_of_range): Fix typo in
error message. Return after printing domain error.
* config/tc-ppc.c (ppc_insert_operand): Preserve low zero bits
in max when shifting right.
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 4 | ||||
-rw-r--r-- | gas/messages.c | 3 |
3 files changed, 11 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 3bcaf48..33f9bf64 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,12 @@ 2007-04-20 Alan Modra <amodra@bigpond.net.au> + * messages.c (as_internal_value_out_of_range): Fix typo in + error message. Return after printing domain error. + * config/tc-ppc.c (ppc_insert_operand): Preserve low zero bits + in max when shifting right. + +2007-04-20 Alan Modra <amodra@bigpond.net.au> + * messages.c (as_internal_value_out_of_range): Extend to report errors for values with invalid low bits set. * config/tc-ppc.c (ppc_setup_opcodes): Check powerpc_operands bitm diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index be745ab..5a5cb38 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -1508,8 +1508,8 @@ ppc_insert_operand (insn, operand, val, file, line) if ((operand->flags & PPC_OPERAND_SIGNED) != 0) { if ((operand->flags & PPC_OPERAND_SIGNOPT) == 0) - max >>= 1; - min = ~(max | ((max & -max) - 1)) ; + max = (max >> 1) & -right; + min = ~max & -right; if (!ppc_obj64) { diff --git a/gas/messages.c b/gas/messages.c index 5736bac..c8788dc 100644 --- a/gas/messages.c +++ b/gas/messages.c @@ -464,13 +464,14 @@ as_internal_value_out_of_range (char * prefix, abort (); /* xgettext:c-format */ - err = _("%s out of domain (%d is not a multiple of %d"); + err = _("%s out of domain (%d is not a multiple of %d)"); if (bad) as_bad_where (file, line, err, prefix, (int) val, (int) right); else as_warn_where (file, line, err, prefix, (int) val, (int) right); + return; } if ( val < HEX_MAX_THRESHOLD |