summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Eckhardt <jle@rice.edu>2003-05-18 21:24:33 +0000
committerJason Eckhardt <jle@rice.edu>2003-05-18 21:24:33 +0000
commit974d71613000a8d400da1f594809fd25dd1c5bc8 (patch)
tree9f00e5059a62d7070ab1d39cd05e9ba4931b3433
parent6db472b71aee7c3b14d14467af773090636b0e53 (diff)
downloadgdb-974d71613000a8d400da1f594809fd25dd1c5bc8.tar.gz
2003-05-18 Jason Eckhardt <jle@rice.edu>
gas: * config/tc-i860.c (i860_process_insn): Initialize fc after each opcode mismatch. include/opcode: * i860.h (form, pform): Add missing .dd suffix. opcodes: * i860-dis.c (print_insn_i860): Instruction shrd has a dual bit, print it. bfd: * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elf32-i860.c2
-rw-r--r--include/opcode/ChangeLog4
-rw-r--r--include/opcode/i860.h4
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/i860-dis.c7
6 files changed, 21 insertions, 5 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index b5a6a899b81..646cdd5559b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+2003-05-18 Jason Eckhardt <jle@rice.edu>
+
+ * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
+
2003-05-17 Andreas Schwab <schwab@suse.de>
* elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
diff --git a/bfd/elf32-i860.c b/bfd/elf32-i860.c
index 7a132c6d696..74112f1389f 100644
--- a/bfd/elf32-i860.c
+++ b/bfd/elf32-i860.c
@@ -803,7 +803,7 @@ elf32_i860_relocate_highadj (input_bfd, rel, contents, value)
insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
value += rel->r_addend;
- value += (value & 0x8000) << 1;
+ value += 0x8000;
value = ((value >> 16) & 0xffff);
insn = (insn & 0xffff0000) | value;
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 0c666ec246d..9aff27425b5 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,7 @@
+2003-05-18 Jason Eckhardt <jle@rice.edu>
+
+ * i860.h (form, pform): Add missing .dd suffix.
+
2003-05-13 Stephane Carrez <stcarrez@nerim.fr>
* m68hc11.h (M68HC12_BANK_VIRT): Define to 0x010000
diff --git a/include/opcode/i860.h b/include/opcode/i860.h
index 2d6ea19abea..4e95b101d3a 100644
--- a/include/opcode/i860.h
+++ b/include/opcode/i860.h
@@ -478,8 +478,8 @@ static const struct i860_opcode i860_opcodes[] =
{ "pfaddp", 0x48000450, 0xb40001af, "e,f,g", 0 }, /* pfaddp fsrc1,fsrc2,fdest */
{ "faddz", 0x480001d1, 0xb400042e, "e,f,g", 0 }, /* faddz fsrc1,fsrc2,fdest */
{ "pfaddz", 0x480005d1, 0xb400002e, "e,f,g", 0 }, /* pfaddz fsrc1,fsrc2,fdest */
-{ "form", 0x480001da, 0xb4000425, "e,g", 0 }, /* form fsrc1,fdest */
-{ "pform", 0x480005da, 0xb4000025, "e,g", 0 }, /* pform fsrc1,fdest */
+{ "form.dd", 0x480001da, 0xb4000425, "e,g", 0 }, /* form fsrc1,fdest */
+{ "pform.dd", 0x480005da, 0xb4000025, "e,g", 0 }, /* pform fsrc1,fdest */
/* Floating point pseudo-instructions. */
{ "fmov.ss", 0x48000049, 0xb7e005b6, "e,g", 0 }, /* fiadd.ss fsrc1,f0,fdest */
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index c30e25a6312..de8f363dac5 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2003-05-18 Jason Eckhardt <jle@rice.edu>
+
+ * i860-dis.c (print_insn_i860): Instruction shrd has a dual bit,
+ print it.
+
2003-05-17 Andreas Jaeger <aj@suse.de>
* Makefile.am (libopcodes_la_LIBADD): Add libbfd.la.
diff --git a/opcodes/i860-dis.c b/opcodes/i860-dis.c
index ba183ab3f70..69a106d41ca 100644
--- a/opcodes/i860-dis.c
+++ b/opcodes/i860-dis.c
@@ -138,8 +138,11 @@ print_insn_i860 (memaddr, info)
const char *s;
int val;
- /* If this a flop and its dual bit is set, prefix with 'd.'. */
- if ((insn & 0xfc000000) == 0x48000000 && (insn & 0x200))
+ /* If this a flop (or a shrd) and its dual bit is set,
+ prefix with 'd.'. */
+ if (((insn & 0xfc000000) == 0x48000000
+ || (insn & 0xfc000000) == 0xb0000000)
+ && (insn & 0x200))
(*info->fprintf_func) (info->stream, "d.%s\t", opcode->name);
else
(*info->fprintf_func) (info->stream, "%s\t", opcode->name);