diff options
author | David Carlton <carlton@bactrian.org> | 2003-05-23 18:40:58 +0000 |
---|---|---|
committer | David Carlton <carlton@bactrian.org> | 2003-05-23 18:40:58 +0000 |
commit | 52ba01a6d0a345b48e6a65ee6669f385466415aa (patch) | |
tree | 9e4d1dabc8e142f81e8b471a310846b814483074 /opcodes | |
parent | d5ba3fe094903763b7462e773b9d7e0291773d6c (diff) | |
download | gdb-52ba01a6d0a345b48e6a65ee6669f385466415aa.zip gdb-52ba01a6d0a345b48e6a65ee6669f385466415aa.tar.gz gdb-52ba01a6d0a345b48e6a65ee6669f385466415aa.tar.bz2 |
2003-05-23 David Carlton <carlton@bactrian.org>
* Merge with mainline; tag is carlton_dictionary-20030523-merge.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 34 | ||||
-rw-r--r-- | opcodes/Makefile.am | 4 | ||||
-rw-r--r-- | opcodes/Makefile.in | 4 | ||||
-rwxr-xr-x | opcodes/configure | 6 | ||||
-rw-r--r-- | opcodes/configure.in | 2 | ||||
-rw-r--r-- | opcodes/disassemble.c | 6 | ||||
-rw-r--r-- | opcodes/i386-dis.c | 2 | ||||
-rw-r--r-- | opcodes/i860-dis.c | 7 | ||||
-rw-r--r-- | opcodes/z8k-dis.c | 30 |
9 files changed, 78 insertions, 17 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 9ff6e84..de8f363 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,37 @@ +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. + (libopcodes_la_DEPENDENCIES): Add libbfd.la. + * Makefile.in: Regenerated. + +2003-05-16 Nick Clifton <nickc@redhat.com> + + * configure.in (ALL_LINGUAS): Add Romanian translation. + * configure: Regenerate. + * po/ro.po: New file: Romanian translation. + +2003-05-12 Dhananjay Deshpande <dhananjayd@kpitcummins.com> + + * disassemble.c (disassembler): Add support for h8300hn and h8300sn. + +2003-05-09 Alan Modra <amodra@bigpond.net.au> + + * i386-dis.c (print_insn): Test intel_syntax against (char) -1 in + case char is unsigned. + +2003-05-01 Christian Groessler <chris@groessler.org> + + * z8k-dis.c (z8k_lookup_instr): Optimize FETCH_DATA calls. + (unpack_instr): Fix representation of segmented addresses. + (intr_name): Added, contains names of the parameters to the EI/DI + instructions. + (unparse_instr): Fix display of EI/DI parameters. + 2003-04-22 Doug Evans <dje@sebabeach.org> * fr30-desc.c,fr30-desc.h,fr30-opc.c,fr30-opc.h: Regenerate. diff --git a/opcodes/Makefile.am b/opcodes/Makefile.am index df20832..6ec05e4 100644 --- a/opcodes/Makefile.am +++ b/opcodes/Makefile.am @@ -282,8 +282,8 @@ disassemble.lo: disassemble.c $(INCDIR)/dis-asm.h $(LIBTOOL) --mode=compile $(COMPILE) -c @archdefs@ $(srcdir)/disassemble.c libopcodes_la_SOURCES = dis-buf.c disassemble.c -libopcodes_la_DEPENDENCIES = $(OFILES) -libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@ +libopcodes_la_DEPENDENCIES = $(OFILES) ../bfd/libbfd.la +libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@ ../bfd/libbfd.la libopcodes_la_LDFLAGS = -release $(VERSION) @WIN32LDFLAGS@ # libtool will build .libs/libopcodes.a. We create libopcodes.a in diff --git a/opcodes/Makefile.in b/opcodes/Makefile.in index 0220191..8c03c17 100644 --- a/opcodes/Makefile.in +++ b/opcodes/Makefile.in @@ -392,8 +392,8 @@ OFILES = @BFD_MACHINES@ INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR) @HDEFINES@ -I$(srcdir)/../intl -I../intl libopcodes_la_SOURCES = dis-buf.c disassemble.c -libopcodes_la_DEPENDENCIES = $(OFILES) -libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@ +libopcodes_la_DEPENDENCIES = $(OFILES) ../bfd/libbfd.la +libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@ ../bfd/libbfd.la libopcodes_la_LDFLAGS = -release $(VERSION) @WIN32LDFLAGS@ # libtool will build .libs/libopcodes.a. We create libopcodes.a in diff --git a/opcodes/configure b/opcodes/configure index be6e1b8..bb07938 100755 --- a/opcodes/configure +++ b/opcodes/configure @@ -33,7 +33,7 @@ ac_help="$ac_help --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer" ac_help="$ac_help - --install-libbfd controls installation of libbfd and related headers" + --enable-install-libbfd controls installation of libbfd and related headers" ac_help="$ac_help --disable-nls do not use Native Language Support" ac_help="$ac_help @@ -1669,7 +1669,7 @@ irix5* | irix6*) # This must be Linux ELF. linux-gnu*) case $host_cpu in - alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* ) + alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* ) lt_cv_deplibs_check_method=pass_all ;; *) # glibc up to 2.1.1 does not perform some relocations on ARM @@ -2650,7 +2650,7 @@ else fi -ALL_LINGUAS="fr sv tr es da de id pt_BR" +ALL_LINGUAS="fr sv tr es da de id pt_BR ro" echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 echo "configure:2656: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. diff --git a/opcodes/configure.in b/opcodes/configure.in index e4014f1..ea64c84 100644 --- a/opcodes/configure.in +++ b/opcodes/configure.in @@ -78,7 +78,7 @@ AC_EXEEXT AC_PROG_CC -ALL_LINGUAS="fr sv tr es da de id pt_BR" +ALL_LINGUAS="fr sv tr es da de id pt_BR ro" CY_GNU_GETTEXT . ${srcdir}/../bfd/configure.host diff --git a/opcodes/disassemble.c b/opcodes/disassemble.c index 1408f39..2d1358e 100644 --- a/opcodes/disassemble.c +++ b/opcodes/disassemble.c @@ -141,9 +141,11 @@ disassembler (abfd) #endif #ifdef ARCH_h8300 case bfd_arch_h8300: - if (bfd_get_mach(abfd) == bfd_mach_h8300h) + if (bfd_get_mach (abfd) == bfd_mach_h8300h + || bfd_get_mach (abfd) == bfd_mach_h8300hn) disassemble = print_insn_h8300h; - else if (bfd_get_mach(abfd) == bfd_mach_h8300s) + else if (bfd_get_mach (abfd) == bfd_mach_h8300s + || bfd_get_mach (abfd) == bfd_mach_h8300sn) disassemble = print_insn_h8300s; else disassemble = print_insn_h8300; diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 79faee6..be78e83 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -1891,7 +1891,7 @@ print_insn (pc, info) mode_64bit = (info->mach == bfd_mach_x86_64_intel_syntax || info->mach == bfd_mach_x86_64); - if (intel_syntax == -1) + if (intel_syntax == (char) -1) intel_syntax = (info->mach == bfd_mach_i386_i386_intel_syntax || info->mach == bfd_mach_x86_64_intel_syntax); diff --git a/opcodes/i860-dis.c b/opcodes/i860-dis.c index ba183ab..69a106d 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); diff --git a/opcodes/z8k-dis.c b/opcodes/z8k-dis.c index 6c19138..69d1792 100644 --- a/opcodes/z8k-dis.c +++ b/opcodes/z8k-dis.c @@ -209,11 +209,13 @@ z8k_lookup_instr (nibbles, info) int nibl_index, tabl_index; int nibl_matched; + int need_fetch = 0; unsigned short instr_nibl; unsigned short tabl_datum, datum_class, datum_value; nibl_matched = 0; tabl_index = 0; + FETCH_DATA (info, 4); while (!nibl_matched && z8k_table[tabl_index].name) { nibl_matched = 1; @@ -222,8 +224,15 @@ z8k_lookup_instr (nibbles, info) nibl_index++) { if ((nibl_index % 4) == 0) - /* Fetch one word at a time. */ - FETCH_DATA (info, nibl_index + 4); + { + /* Fetch data only if it isn't already there. */ + if (nibl_index >= 4 || (nibl_index < 4 && need_fetch)) + FETCH_DATA (info, nibl_index + 4); /* Fetch one word at a time. */ + if (nibl_index < 4) + need_fetch = 0; + else + need_fetch = 1; + } instr_nibl = nibbles[nibl_index]; tabl_datum = z8k_table[tabl_index].byte_info[nibl_index]; @@ -414,14 +423,14 @@ unpack_instr (instr_data, is_segmented, info) FETCH_DATA (info, nibl_count + 8); instr_long = (instr_data->words[nibl_count] << 16) | (instr_data->words[nibl_count + 4]); - instr_data->address = ((instr_word & 0x7f00) << 8) + instr_data->address = ((instr_word & 0x7f00) << 16) + (instr_long & 0xffff); nibl_count += 7; seg_length = 2; } else { - instr_data->address = ((instr_word & 0x7f00) << 8) + instr_data->address = ((instr_word & 0x7f00) << 16) + (instr_word & 0x00ff); nibl_count += 3; } @@ -484,6 +493,13 @@ unpack_instr (instr_data, is_segmented, info) } } +static char *intr_names[] = { + "all", /* 0 */ + "vi", /* 1 */ + "nvi", /* 2 */ + "none" /* 3 */ +}; + static void unparse_instr (instr_data, is_segmented) instr_data_s *instr_data; @@ -536,6 +552,12 @@ unparse_instr (instr_data, is_segmented) strcat (out_str, tmp_str); break; case CLASS_IMM: + if (datum_value == ARG_IMM2) /* True with EI/DI instructions only. */ + { + sprintf (tmp_str, "%s", intr_names[instr_data->interrupts]); + strcat (out_str, tmp_str); + break; + } sprintf (tmp_str, "#0x%0lx", instr_data->immediate); strcat (out_str, tmp_str); break; |