summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@codesourcery.com>2006-10-30 19:46:10 +0000
committerKazu Hirata <kazu@codesourcery.com>2006-10-30 19:46:10 +0000
commitc44b066ea275a1a41d3111e1e9ee77fab619ee41 (patch)
treed271597591c5e0a54326f40225235769af03cbd1
parent4d758c08530edc1df3e0c43a5ade8e24798f9a8b (diff)
downloadgdb-c44b066ea275a1a41d3111e1e9ee77fab619ee41.tar.gz
Merge fido bits:
2006-10-25 Kazu Hirata <kazu@codesourcery.com> gprof/ * hist.c, hist.h: Fix formatting. gprof/ * Makefile.in (corefile.o): Depend on hist.h. * corefile.c: Include hist.h. 2006-10-06 Vladimir Prus <vladimir@codesourcery.com> * hist.h (struct histogram) (histograms, num_histograms): New. * hist.c (find_histogram, find_histogram_for_pc) (read_histogram_header): New. (s_lowpc, s_highpc, lowpc, highpc, hist_num_bins) (hist_sample): Remove. (hist_read_rec): Use the above, and handle multiple histogram records with disjoint address ranges. (hist_write_hist): Support several histogram records. (scale_and_align_entries): Adjust for multiple histograms. (hist_assign_samples_1): New. (hist_assign_samples): Use the above. (hist_clip_symbol_address): New. * hist.h (hist_check_address) (hist_clip_symbol_address): Declare. * gmon_io.c (gmon_out_read, gmon_out_write): Adjust handling of legacy format for multiple histogram changes. * corefile.c (find_call): Check for core_text_space and clip symbol address range here. * vax.c (vax_find_call): Don't check for core_text_space, or clip the symbol's address range here. Use hist_check_address to check call's target address. * sparc.c: Likewise. * tahoe.c: Likewise. * i386.c: Likewise. * mips.c: Likewise. Also use core_text_sect->vma as the base address for code accesses, just like other machine-specific routines do. 2006-08-03 Kazu Hirata <kazu@codesourcery.com> * gas/config/tc-m68k.c (archs): Add -mfido as an alias for -mfido_a. 2006-06-23 Kazu Hirata <kazu@codesourcery.com> * gas/config/tc-m68k.c (cpu_of_arch): Replace fido with fido_a. (archs): Likewise. (m68k_ip): Likewise. (select_control_regs): Likewise. (md_show_usage): Replace -mfido with -mfidoa. * include/opcode/m68k.h (fido): Rename to fido_a. * opcodes/m68k-opc.c (m68k_opcodes): Replace fido with fido_a. 2006-06-22 Kazu Hirata <kazu@codesourcery.com> * config.sub: Replace fido with fido. * bfd/config.bfd: Likewise * gas/configure.tgt: Likewise. * gas/config/m68k-parse.h: Likewise. * gas/config/tc-m68k.c: Likewise. * gas/testsuite/gas/m68k/all.exp: Likewise. * gas/testsuite/gas/m68k/fido.d: Rename to fido.d. * gas/testsuite/gas/m68k/fido.s: Rename to fido.s. * include/opcode/m68k.h: Replace fido with fido. * ld/configure.tgt: Likewise. * opcodes/m68k-dis.c: Likewise. * opcodes/m68k-opc.c: Likewise. 2005-08-01 Kazu Hirata <kazu@codesourcery.com> * gas/config/m68k-parse.h (m68k_register): Add CAC and MBB. * gas/config/tc-m68k.c (fido_control_regs): New. (cpu_of_arch): Add fido. (archs): Add an entry for fido. (m68k_ip): Add warnings for uses of tbl[su]{n,}[bwl] on fido. Recognize CAC and MBB. (init_tabl): Add CAC and MBB. (select_control_regs): Choose fido as the current chip when the current architecture is fido or when -mfido is given explicitly. * gas/testsuite/gas/m68k/all.exp: Disable operands, cas, and bitfield on fido-*-*. Run fido on fido-*-*. * gas/testsuite/gas/m68k/fido.d: New. * gas/testsuite/gas/m68k/fido.s: Likewise. * include/opcode/m68k.h: Document new control registers CAC and MBB. * opcodes/m68k-dis.c (print_insn_arg): Add cac and mbb. * opcodes/m68k-opc.c (m68k_opcodes): Add sleep and trapx. 2005-07-22 Kazu Hirata <kazu@codesourcery.com> * gas/config/tc-m68k.c (archs): Add fido as an OR of cpu32 and fido. (md_show_usage): Add -mfido. * include/opcode/m68k.h (fido): New. 2005-07-11 Kazu Hirata <kazu@codesourcery.com> * config.sub: Recognize fido and fido-*. * bfd/config.bfd: Likewise. * gas/configure.tgt: Likewise. * ld/configure.tgt: Likewise.
-rw-r--r--ChangeLog.csl109
-rw-r--r--bfd/config.bfd6
-rwxr-xr-xconfig.sub4
-rw-r--r--include/opcode/m68k.h3
-rw-r--r--opcodes/m68k-dis.c5
-rw-r--r--opcodes/m68k-opc.c4
6 files changed, 127 insertions, 4 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl
index dbe5cc8d220..0a14213f2c6 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -1,3 +1,112 @@
+2006-10-30 Kazu Hirata <kazu@codesourcery.com>
+
+ Merge fido bits:
+ 2006-10-25 Kazu Hirata <kazu@codesourcery.com>
+
+ gprof/
+ * hist.c, hist.h: Fix formatting.
+
+ gprof/
+ * Makefile.in (corefile.o): Depend on hist.h.
+ * corefile.c: Include hist.h.
+
+ 2006-10-06 Vladimir Prus <vladimir@codesourcery.com>
+
+ * hist.h (struct histogram)
+ (histograms, num_histograms): New.
+ * hist.c (find_histogram, find_histogram_for_pc)
+ (read_histogram_header): New.
+ (s_lowpc, s_highpc, lowpc, highpc, hist_num_bins)
+ (hist_sample): Remove.
+ (hist_read_rec): Use the above, and handle multiple
+ histogram records with disjoint address ranges.
+ (hist_write_hist): Support several histogram records.
+ (scale_and_align_entries): Adjust for multiple histograms.
+ (hist_assign_samples_1): New.
+ (hist_assign_samples): Use the above.
+ (hist_clip_symbol_address): New.
+ * hist.h (hist_check_address)
+ (hist_clip_symbol_address): Declare.
+ * gmon_io.c (gmon_out_read, gmon_out_write): Adjust handling
+ of legacy format for multiple histogram changes.
+ * corefile.c (find_call): Check for core_text_space and
+ clip symbol address range here.
+ * vax.c (vax_find_call): Don't check for
+ core_text_space, or clip the symbol's address range here.
+ Use hist_check_address to check call's target address.
+ * sparc.c: Likewise.
+ * tahoe.c: Likewise.
+ * i386.c: Likewise.
+ * mips.c: Likewise. Also use core_text_sect->vma as the base
+ address for code accesses, just like other machine-specific
+ routines do.
+
+ 2006-08-03 Kazu Hirata <kazu@codesourcery.com>
+
+ * gas/config/tc-m68k.c (archs): Add -mfido as an alias for
+ -mfido_a.
+
+ 2006-06-23 Kazu Hirata <kazu@codesourcery.com>
+
+ * gas/config/tc-m68k.c (cpu_of_arch): Replace fido with
+ fido_a.
+ (archs): Likewise.
+ (m68k_ip): Likewise.
+ (select_control_regs): Likewise.
+ (md_show_usage): Replace -mfido with -mfidoa.
+ * include/opcode/m68k.h (fido): Rename to fido_a.
+ * opcodes/m68k-opc.c (m68k_opcodes): Replace fido with fido_a.
+
+ 2006-06-22 Kazu Hirata <kazu@codesourcery.com>
+
+ * config.sub: Replace fido with fido.
+ * bfd/config.bfd: Likewise
+ * gas/configure.tgt: Likewise.
+ * gas/config/m68k-parse.h: Likewise.
+ * gas/config/tc-m68k.c: Likewise.
+ * gas/testsuite/gas/m68k/all.exp: Likewise.
+ * gas/testsuite/gas/m68k/fido.d: Rename to fido.d.
+ * gas/testsuite/gas/m68k/fido.s: Rename to fido.s.
+ * include/opcode/m68k.h: Replace fido with fido.
+ * ld/configure.tgt: Likewise.
+ * opcodes/m68k-dis.c: Likewise.
+ * opcodes/m68k-opc.c: Likewise.
+
+ 2005-08-01 Kazu Hirata <kazu@codesourcery.com>
+
+ * gas/config/m68k-parse.h (m68k_register): Add CAC and MBB.
+ * gas/config/tc-m68k.c (fido_control_regs): New.
+ (cpu_of_arch): Add fido.
+ (archs): Add an entry for fido.
+ (m68k_ip): Add warnings for uses of tbl[su]{n,}[bwl] on
+ fido. Recognize CAC and MBB.
+ (init_tabl): Add CAC and MBB.
+ (select_control_regs): Choose fido as the current chip
+ when the current architecture is fido or when -mfido
+ is given explicitly.
+ * gas/testsuite/gas/m68k/all.exp: Disable operands, cas, and
+ bitfield on fido-*-*. Run fido on fido-*-*.
+ * gas/testsuite/gas/m68k/fido.d: New.
+ * gas/testsuite/gas/m68k/fido.s: Likewise.
+ * include/opcode/m68k.h: Document new control registers CAC
+ and MBB.
+ * opcodes/m68k-dis.c (print_insn_arg): Add cac and mbb.
+ * opcodes/m68k-opc.c (m68k_opcodes): Add sleep and trapx.
+
+ 2005-07-22 Kazu Hirata <kazu@codesourcery.com>
+
+ * gas/config/tc-m68k.c (archs): Add fido as an OR of
+ cpu32 and fido.
+ (md_show_usage): Add -mfido.
+ * include/opcode/m68k.h (fido): New.
+
+ 2005-07-11 Kazu Hirata <kazu@codesourcery.com>
+
+ * config.sub: Recognize fido and fido-*.
+ * bfd/config.bfd: Likewise.
+ * gas/configure.tgt: Likewise.
+ * ld/configure.tgt: Likewise.
+
2006-10-28 Paul Brook <paul@codesourcery.com>
Julian Brown <julian@codesourcery.com>
diff --git a/bfd/config.bfd b/bfd/config.bfd
index a07d77f378e..a2f8cf11bdd 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -78,6 +78,7 @@ c54x*) targ_archs=bfd_tic54x_arch ;;
crisv32) targ_archs=bfd_cris_arch ;;
crx*) targ_archs=bfd_crx_arch ;;
dlx*) targ_archs=bfd_dlx_arch ;;
+fido*) targ_archs=bfd_m68k_arch ;;
hppa*) targ_archs=bfd_hppa_arch ;;
i[3-7]86) targ_archs=bfd_i386_arch ;;
i370) targ_archs=bfd_i370_arch ;;
@@ -365,6 +366,11 @@ case "${targ}" in
targ_defvec=bfd_elf32_d30v_vec
;;
+ fido-*-elf* )
+ targ_defvec=bfd_elf32_m68k_vec
+ targ_selvecs="m68kcoff_vec ieee_vec"
+ ;;
+
fr30-*-elf)
targ_defvec=bfd_elf32_fr30_vec
;;
diff --git a/config.sub b/config.sub
index a4e8a94a335..b2dea75f0e9 100755
--- a/config.sub
+++ b/config.sub
@@ -244,7 +244,7 @@ case $basic_machine in
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
- | fr30 | frv \
+ | fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
@@ -323,7 +323,7 @@ case $basic_machine in
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
diff --git a/include/opcode/m68k.h b/include/opcode/m68k.h
index f8fdf1beb8f..ca0b4d98d4c 100644
--- a/include/opcode/m68k.h
+++ b/include/opcode/m68k.h
@@ -31,7 +31,8 @@
#define m68881 0x040
#define m68851 0x080
#define cpu32 0x100 /* e.g., 68332 */
-#define m68k_mask 0x1ff
+#define fido_a 0x200
+#define m68k_mask 0x3ff
#define mcfmac 0x400 /* ColdFire MAC. */
#define mcfemac 0x800 /* ColdFire EMAC. */
diff --git a/opcodes/m68k-dis.c b/opcodes/m68k-dis.c
index 42fb14582a2..1c4c8c405b3 100644
--- a/opcodes/m68k-dis.c
+++ b/opcodes/m68k-dis.c
@@ -650,7 +650,10 @@ print_insn_arg (const char *d,
/* Should we be calling this psr like we do in case 'Y'? */
{"%mmusr",0x805},
- {"%urp", 0x806}, {"%srp", 0x807}, {"%pcr", 0x808}};
+ {"%urp", 0x806}, {"%srp", 0x807}, {"%pcr", 0x808},
+
+ /* Fido added these. */
+ {"%cac", 0xffe}, {"%mbb", 0xfff}};
val = fetch_arg (buffer, place, 12, info);
for (regno = sizeof names / sizeof names[0] - 1; regno >= 0; regno--)
diff --git a/opcodes/m68k-opc.c b/opcodes/m68k-opc.c
index 601c55a15f6..51811d44db5 100644
--- a/opcodes/m68k-opc.c
+++ b/opcodes/m68k-opc.c
@@ -2031,6 +2031,8 @@ const struct m68k_opcode m68k_opcodes[] =
{"svs", 2, one(0054700), one(0177700), "$s", m68000up },
{"svs", 2, one(0054700), one(0177700), "Ds", mcfisa_a },
+{"sleep", 2, one(0047170), one(0177777), "", fido_a },
+
{"stop", 4, one(0047162), one(0177777), "#w", m68000up | mcfisa_a },
{"strldsr", 4, two(0040347,0043374), two(0177777,0177777), "#w", mcfisa_aa},
@@ -2151,6 +2153,8 @@ TBL("tblunb", "tblunw", "tblunl", 0, 0),
{"trapv", 2, one(0047166), one(0177777), "", m68000up },
+{"trapx", 2, one(0047060), one(0177760), "Ts", fido_a },
+
{"tstb", 2, one(0045000), one(0177700), ";b", m68020up|cpu32|mcfisa_a },
{"tstb", 2, one(0045000), one(0177700), "$b", m68000up },
{"tstw", 2, one(0045100), one(0177700), "*w", m68020up|cpu32|mcfisa_a },