summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2016-10-06 08:08:25 +1030
committerAlan Modra <amodra@gmail.com>2016-10-06 09:36:33 +1030
commit616ec3583b7b6ba0a4e581c426b700b0664a3027 (patch)
tree544e86a910e39c353eaba3cd2ca40595a8278147
parentf389f6fef76d7cf8e8beb7061edff2155c284898 (diff)
Don't use boolean OR in arithmetic expressions
bfd/ * elf32-epiphany.c (epiphany_final_link_relocate): Use bitwise OR in arithmetic expression, not boolean OR. opcodes/ * cr16-dis.c (print_insn_cr16): Don't use boolean OR in arithmetic. * crx-dis.c (print_insn_crx): Likewise.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-epiphany.c5
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/cr16-dis.c2
-rw-r--r--opcodes/crx-dis.c2
5 files changed, 15 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index e54585aac0..7ba9597315 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2016-10-06 Alan Modra <amodra@gmail.com>
+
+ * elf32-epiphany.c (epiphany_final_link_relocate): Use bitwise
+ OR in arithmetic expression, not boolean OR.
+
2016-09-30 Alan Modra <amodra@gmail.com>
* Makefile.am (BFD_H_FILES): Add linker.c and simple.c. Sort
diff --git a/bfd/elf32-epiphany.c b/bfd/elf32-epiphany.c
index 420dc8bb07..6b798b17a5 100644
--- a/bfd/elf32-epiphany.c
+++ b/bfd/elf32-epiphany.c
@@ -420,9 +420,10 @@ epiphany_final_link_relocate (reloc_howto_type * howto,
relocation += rel->r_addend;
if ((unsigned int) relocation > 0x7ff)
return bfd_reloc_outofrange;
+ /* Fall through. */
disp11:
- relocation = ((relocation & 7) << 5)
- || ((relocation & 0x7f8 ) << 13);
+ relocation = (((relocation & 7) << 5)
+ | ((relocation & 0x7f8 ) << 13));
return _bfd_relocate_contents (howto, input_bfd, relocation,
contents + rel->r_offset);
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 20ebe6913b..83f435c3ec 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2016-10-06 Alan Modra <amodra@gmail.com>
+
+ * cr16-dis.c (print_insn_cr16): Don't use boolean OR in arithmetic.
+ * crx-dis.c (print_insn_crx): Likewise.
+
2016-09-30 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/20657
diff --git a/opcodes/cr16-dis.c b/opcodes/cr16-dis.c
index 3c901f965e..1d7054aff3 100644
--- a/opcodes/cr16-dis.c
+++ b/opcodes/cr16-dis.c
@@ -815,7 +815,7 @@ print_insn_cr16 (bfd_vma memaddr, struct disassemble_info *info)
/* Find a matching opcode in table. */
is_decoded = cr16_match_opcode ();
/* If found, print the instruction's mnemonic and arguments. */
- if (is_decoded > 0 && (cr16_words[0] << 16 || cr16_words[1]) != 0)
+ if (is_decoded > 0 && (cr16_words[0] != 0 || cr16_words[1] != 0))
{
if (strneq (instruction->mnemonic, "cinv", 4))
info->fprintf_func (info->stream,"%s", getcinvstring (instruction->mnemonic));
diff --git a/opcodes/crx-dis.c b/opcodes/crx-dis.c
index 2da70edda8..d6b129ed7c 100644
--- a/opcodes/crx-dis.c
+++ b/opcodes/crx-dis.c
@@ -727,7 +727,7 @@ print_insn_crx (bfd_vma memaddr, struct disassemble_info *info)
/* Find a matching opcode in table. */
is_decoded = match_opcode ();
/* If found, print the instruction's mnemonic and arguments. */
- if (is_decoded > 0 && (words[0] << 16 || words[1]) != 0)
+ if (is_decoded > 0 && (words[0] != 0 || words[1] != 0))
{
info->fprintf_func (info->stream, "%s", instruction->mnemonic);
if ((currInsn.nargs = get_number_of_operands ()) != 0)