aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2007-04-20 13:42:03 +0000
committerAlan Modra <amodra@gmail.com>2007-04-20 13:42:03 +0000
commit931774a953b8d12dc80325af47bdd4860a332818 (patch)
tree6da6bc8c612130ee534fe2186a815c8893d7f207
parentf6da2ec2819291c7217ef895cd28e6f8b2a833a6 (diff)
downloadgdb-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/ChangeLog7
-rw-r--r--gas/config/tc-ppc.c4
-rw-r--r--gas/messages.c3
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