1 2003-07-09 Michael Snyder <msnyder@redhat.com>
3 * gencode.c (pmuls): Expression is mis-parenthesized.
4 * gencode.c (ppi_gensim): For a conditional ppi insn, if the
5 condition is false, we want to return (not break). A break
6 will take us to the end of the function where registers will
7 be updated, whereas the desired outcome is for nothing to change.
9 2003-07-03 Michael Snyder <msnyder@redhat.com>
11 * gencode.c (movs): Fix a couple of text transpositions.
13 2003-06-27 Michael Snyder <msnyder@redhat.com>
15 * gencode.c (op tab): Some fix-ups of refs and defs.
16 (ocbi, ocbp): Cache not simulated, but may cause memory fault.
17 (gensym_caselist): Add default case to switch statement.
18 (expand_ppi_code): Add default case to switch statement.
19 * gencode.c (op tab): Implement movca.l.
20 * gencode.c (op movsxy_tab): Fix an error in the bit pattern.
21 * gencode.c (gensim_caselist): The movy instructions use
22 registers R6 and R7 (not R4 and R5 like the movx insns).
24 2003-06-27 Michael Snyder <msnyder@redhat.com>
26 * gencode.c (op movsxy_tab): Fix up some copy/paste errors
27 in name: s/REG_x/REG_y/.
29 * gencode.c (op tab): Move misplaced semicolon.
31 2003-02-27 Andrew Cagney <cagney@redhat.com>
33 * interp.c (init_dsp, sim_open, sim_create_inferior): Rename _bfd
36 Fri Oct 11 16:22:28 2002 J"orn Rennecke <joern.rennecke@superh.com>
38 * interp.c (trap): Return int. Take extra parameter for address
39 of the trap instruction. Changed all callers.
40 Add case 33 for profiling.
41 * gencode.c (trapa): Handle trap 33 using the trap function.
42 Add read of vector for generic traps.
44 Wed Jul 17 19:36:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
46 * Makefile.in (interp.o): Depend on $(srcroot)/include/gdb/sim-sh.h.
47 * interp.c: Include "gdb/sim-sh.h".
48 (sim_store_register, sim_fetch_register): Use constants defined there.
50 Tue Jun 18 16:53:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
52 * interp.c (sim_resume): Fix setting of bus error for
55 2002-06-16 Andrew Cagney <ac131313@redhat.com>
57 * configure: Regenerated to track ../common/aclocal.m4 changes.
59 2002-06-08 Andrew Cagney <cagney@redhat.com>
61 * interp.c: Include "gdb/callback.h" and "gdb/remote-sim.h".
63 2001-01-30 Ben Elliston <bje@redhat.com>
65 * interp.c (sim_create_inferior): Record program arguments for
66 later inspection by the trap handler.
67 (count_argc): New function.
68 (prog_argv): Declare static.
70 (trap): Implement argc, argnlen and argn system calls. Do not
71 abort on unknown system calls--simply return -1.
72 * syscall.h (SYS_argc, SYS_argnlen, SYS_argn): Define.
74 2001-01-24 Alexandre Oliva <aoliva@redhat.com>
76 * interp.c (trap): Implement time.
78 2000-10-24 Ben Elliston <bje@redhat.com>
80 * gencode.c (tab): Delimit strings with commas where applicable.
82 Tue May 23 21:39:23 2000 Andrew Cagney <cagney@b1.cygnus.com>
84 * configure: Regenerated to track ../common/aclocal.m4 changes.
86 Mon May 15 22:04:51 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
88 sh-dsp support, simulator speedup by using host byte order:
90 * Makefile.in (interp.o): Depends on ppi.c .
92 * gencode.c (printonmatch, think, genopc): Deleted.
93 (MAX_NR_STUFF): Now 42.
94 (tab): Add SH-DSP CPU instructions.
95 Amalgamate ldc / stc / lds / sts instructions with similar
96 bit patterns. Fix opcodes of stc Rm_BANK,@-<REG_N>.
97 Fix semantics of lds.l @<REG_N>+,MACH (no sign extend).
98 (movsxy_tab): New array.
99 For movs, change MMMM field to GGGG, and mmmm field to MMMM.
100 Added entries for movx, movy and parallel processing insns.
101 (ppi_tab): New array.
102 (qfunc): Stabilize sort.
103 (expand_opcode): Handle [01][01]NN, [01][01]xx and [01][01]yy.
104 Handle 'M', 'G' 's' 'X', 'a', 'Y' and 'A'.
105 (dumptable): Now takes three arguments. Changed all callers.
106 Emit just one contigous jump table.
107 (filltable): Now takes an argument. Changed all callers.
109 (ppi_moves, expand_ppi_code, ppi_filltable, ppi_gensim): New functions.
110 (gensim_caselist): New function, broken out of gensim.
111 Handle opcode fields 'x', 'y', 's', 'M', 'G', 'X', 'a', and 'Y'.
113 (gensim): Handle 'N' in code field and '8' in refs field.
114 Call gensim_caselist - twice.
115 (ppi_index): New static variable.
116 (main): Unsupport default action.
117 Add dsp support for -x / -s option. Add -p option.
118 * interp.c (sh_jump_table, sh_dsp_table, ppi_table): Declare.
119 (saved_state_type): Rearrange to allow amalgamated ldc / stc /
120 lds / sts to work efficiently.
121 (target_dsp): New static variable.
122 (GBR, VBR, SSR, SPC, MACH, MACL): Reflect saved_state_type change.
123 (FPUL, Rn_BANK, SET_Rn_BANK, M, Q, S, T, SR_BL, SR_RB): Likewise.
124 (SR_MD, SR_RC, SET_SR_BIT, GET_SR, SET_RC, GET_FPSCR): Likewise.
125 (RS, RE, MOD, MOD_ME, DSP_R): Likewise.
126 (set_fpscr1): Likewise. Use target_dsp to check for dsp.
127 (MOD_MSi, SIG_BUS_FETCH): Deleted.
128 (CREG, SREG, PR, SR_MASK_DMY, SR_MASK_DMX, SR_DMY): New macros.
129 (SR_DMX, DSR, MOD_DELTA, GET_DSP_GRD): Likewise.
130 (SET_MOD): Reflect saved_state_type change. Set MOD_DELTA instead
131 of MOD_MS, and encode SR_DMY / SR_DMX into high word of MOD_ME.
132 (set_sr): Reflect saved_state_type change. Fix SR_RB handling.
134 (MA, L, TL, TB): Now controlled by ACE_FAST.
135 (SEXT32): Just cast to int.
136 (SIGN32): Fixed to only shift by 31.
137 (CHECK_INSN_PTR): SIGBUS at insn fetch now represented by insn_end 0.
140 (init_dsp): Set target_dsp. When it changes, switch end of
141 sh_jump_table with sh_dsp_table.
142 (sim_resume) Don't declare sh_jump_table0. Use sh_jump_table instead.
143 Don't Declare PR if it's #defined.
144 Fix single-stepping (Was broken in Mar 6 16:59:10 patch).
145 (sim_store_register, sim_read_register): Translate accesses to
146 reflect saved_state_type change.
148 * interp.c (set_sr): Set sr.
149 (SET_RC, MOD, MOD_MS, MOD_ME, SET_MOD, MOD_MS, MOD_ME): New macros.
150 (set_fpscr1): Don't bank-switch fpu registers when simulating sh-dsp.
151 (DSP_R): Fix definition.
152 (sim_resume): Remove outdated SET_SR use.
154 * interp.c (saved_state): New members for struct member asregs:
155 rs, re, insn_end, xram_start, yram_start.
156 (struct loop_bounds): New struct.
157 (SKIP_INSN): New macro.
158 (get_loop_bounds): New function.
159 (endianw): Renamed to global_endianw.
160 (maskw): negated bits.
162 (SR_MASK_RC, SR_RC_INCREMENT, SR_RC, RAISE_EXCEPTION): New macros.
163 (RS, RE, DSP_R, DSP_GRD, A1, A0, X0, X1, Y0, Y1, M0, A1G): Likewise.
164 (M1, A0G, RIAT, PT2H, PH2T, SET_NIP, CHECK_INSN_PTR): Likewise.
165 (SIG_BUS_FETCH): Likewise
166 (raise_exception, riat_fast): New functions.
167 (raise_buserror, sim_stop): Use raise_exception.
168 (PROCESS_SPECIAL_ADDRESS): Use xram_start / yram_start.
169 (BUSERROR, WRITE_BUSERROR, READ_BUSERROR):
170 Reverse sense of mask argument.
171 (FP_OP, set_dr): Use RAISE_EXCEPTION.
172 (wlat_fast, wwat_fast, wbat_fast, rlat_fast, rwat_fast, rbat_fast):
173 Declare. Remove redundant masking.
174 (wwat_fast, rwat_fast): Add argument endianw. Changed callers.
175 (MA): Updated for change pc -> PC.
176 (Delay_Slot): Use RIAT.
178 (trap): Remove argument little_endian. Add argument endianw.
179 Changed all callers. Use raise_exception.
180 (macw): Add argument endainw. Changed all callers.
181 (init_dsp): New function, extended after broken out of init_pointers.
182 (sim_resume): Replace pc with insn_ptr. Replace little_endian with
183 endianw. Replace nia with nip. Reverse sense of maskb / maskw /
184 maskl. Implement logic for zero-overhead loops. Don't try to
185 interpret garbage when getting a SIGBUS at insn fetch.
186 (sim_open): Call init_dsp.
187 * gencode.c (tab): Use SET_NIP instead of nia = . Use PH2T / PT2H /
188 RAISE_EXCEPTION where appropriate.
189 Add extra cycles for brai, braf , bsr, bsrf, jmp, jsr.
191 * interp.c (sim_store_register, sim_fetch_register):
192 Do proper endianness switch.
194 * interp.c (saved_state_type): New members for struct member asregs:
195 xymem_select, xmem, ymem, xmem_offset, ymem_offset.
196 (special_address): Delete.
197 (BUSERROR): Now a two-argument predicate.
198 (PROCESS_SPECIAL_ADDRESS, WRITE_BUSERROR, READ_BUSERROR): New macros.
199 (wlat_little, wwat_little, wbat_any, wlat_big, wwat_big): Delete.
200 (process_wlat_addr, process_wwat_addr): New functions.
201 (process_wbat_addr, process_rlat_addr, process_rwat_addr): Likewise.
202 (process_rbat_addr): Likewise.
203 (wlat_fast, wwat_fast, wbat_fast): Use WRITE_BUSERROR.
204 (rlat_little, rwat_little, rbat_any, rlat_big, rwat_big): Delete.
205 (rlat_fast, rwat_fast, rbat_fast): Use READ_BUSERROR.
206 (RWAT, RLAT, RBAT, WWAT, WLAT, WBAT): Delete SLOW versions.
207 (do_rdat, trap): Delete SLOW code.
208 (SEXT32, SIGN32): New macros.
209 (swap, swap16): Now integer in - integer out. Changed all callers.
210 (strswaplen, strnswap): Delete SLOW versions.
211 (init_pointers): Initialize dsp memory selection (preliminary).
212 (sim_store_register, sim_fetch_register): Use swap instead of
213 big / little endian read / write functions.
215 * interp.c (maskl): Deleted.
216 (endianw, endianb): New variables.
217 (special_address): Now inline.
218 (bp_holder): Put raising of buserror there, rename to:
220 (BUSERROR): Now yields a value. Changed all users.
222 (wlat_fast, wwat_fast, wbat_fast): New functions.
223 (rlat_fast, rwat_fast, rbat_fast): Likewise.
224 (RWAT, RLAT, RBAT, WWAT, WLAT, WBAT): Use new functions.
225 (do_rdat, do_wdat): Likewise. Take maskl argument instead of
226 little_endian one. Changed caller macros.
227 (swap, swap16): Use w[rw]lat_big / w[rw]lat_little directly.
228 (strswaplen, strnswap): New functions.
229 (trap): Use them to fix up endian mismatches;
230 disable SYS_execve and SYS_execv; fix double address translation for
231 SYS_pipe and SYS_stat.
232 (sym_write, sym_read): Add endianness translation.
233 (sym_store_register, sym_fetch_register): Add maskl local variable.
234 (sim_open): Set endianw and endianb.
236 Thu Sep 2 18:15:53 1999 Andrew Cagney <cagney@b1.cygnus.com>
238 * configure: Regenerated to track ../common/aclocal.m4 changes.
240 Wed Aug 25 07:55:23 1999 Brendan Kehoe <brendan@cygnus.com>
242 * gencode.c (fcnvds <DR_N>,FPUL): Rewrite to use a local anonymous
243 union type, instead of casting to an int* then a float*.
244 (fcnvsd FPUL,<DR_N>): Likewise.
245 (flds <FREG_N>,FPUL): Likewise.
246 (fsts FPUL,<FREG_N>): Likewise.
248 1999-05-08 Felix Lee <flee@cygnus.com>
250 * configure: Regenerated to track ../common/aclocal.m4 changes.
252 1999-04-02 Keith Seitz <keiths@cygnus.com>
254 * interp.c (POLL_QUIT_INTERVAL): Define. Used to tweak the
255 frequency at which the poll_quit callback is called.
256 (sim_resume): Use POLL_QUIT_INTERVAL instead of a
259 Thu Sep 10 02:16:39 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
261 * interp.c (saved_state.asregs): Add new member pad_dummy.
262 (sim_store_register, sim_fetch_regsiter): Add 1 to rn for use
263 as index into saved_state.asints.
265 Mon Jun 29 19:35:24 1998 Jason Molenda (crash@bugshack.cygnus.com)
267 * interp.c (sim_open): set endianness based on the ABFD if a -E
268 option is not present and we have an ABFD.
270 Tue Apr 28 18:33:31 1998 Geoffrey Noer <noer@cygnus.com>
272 * configure: Regenerated to track ../common/aclocal.m4 changes.
274 Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
276 * configure: Regenerated to track ../common/aclocal.m4 changes.
279 Sun Apr 26 15:19:48 1998 Tom Tromey <tromey@cygnus.com>
281 * acconfig.h: New file.
282 * configure.in: Reverted change of Apr 24; use sinclude again.
284 Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
286 * configure: Regenerated to track ../common/aclocal.m4 changes.
289 Fri Apr 24 11:18:35 1998 Tom Tromey <tromey@cygnus.com>
291 * configure.in: Don't call sinclude.
293 Sat Apr 4 20:36:25 1998 Andrew Cagney <cagney@b1.cygnus.com>
295 * configure: Regenerated to track ../common/aclocal.m4 changes.
297 Fri Mar 27 16:15:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
299 * configure: Regenerated to track ../common/aclocal.m4 changes.
301 Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
303 * configure: Regenerated to track ../common/aclocal.m4 changes.
305 Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
307 * configure: Regenerated to track ../common/aclocal.m4 changes.
309 Tue Feb 17 12:49:44 1998 Andrew Cagney <cagney@b1.cygnus.com>
311 * interp.c (sim_fetch_register, sim_store_register): Pass in
312 length parameter. Return -1.
314 Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
316 * configure: Regenerated to track ../common/aclocal.m4 changes.
318 Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
320 * configure: Regenerated to track ../common/aclocal.m4 changes.
322 Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
324 * configure: Regenerated to track ../common/aclocal.m4 changes.
326 Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
328 * configure: Regenerated to track ../common/aclocal.m4 changes.
331 Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
333 * configure: Regenerated to track ../common/aclocal.m4 changes.
335 Wed Oct 22 14:43:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
337 * interp.c (sim_load): Pass lma_p and sim_write args to
340 Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
342 * configure: Regenerated to track ../common/aclocal.m4 changes.
344 Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
346 * configure: Regenerated to track ../common/aclocal.m4 changes.
348 Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
350 * configure: Regenerated to track ../common/aclocal.m4 changes.
352 Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
354 * configure: Regenerated to track ../common/aclocal.m4 changes.
356 Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
358 * configure: Regenerated to track ../common/aclocal.m4 changes.
360 Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
362 * configure: Regenerated to track ../common/aclocal.m4 changes.
364 Tue Sep 9 20:52:21 1997 Felix Lee <flee@cygnus.com>
366 * interp.c (sim_resume): poll_quit() at least once per call;
367 otherwise gdb can loop sim_resume() uninterruptably.
369 Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
371 * configure: Regenerated to track ../common/aclocal.m4 changes.
373 Tue Sep 2 13:15:27 1997 Andrew Cagney <cagney@b1.cygnus.com>
375 * gencode.c (tab): Order instructions according to SH3 document.
377 Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
379 * configure: Regenerated to track ../common/aclocal.m4 changes.
382 Tue Aug 26 10:41:55 1997 Andrew Cagney <cagney@b1.cygnus.com>
384 * interp.c (sim_kill): Delete.
385 (sim_create_inferior): Add ABFD argument.
386 (sim_load): Move setting of PC from here.
387 (sim_create_inferior): To here.
389 Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
391 * configure: Regenerated to track ../common/aclocal.m4 changes.
394 Mon Aug 25 16:17:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
396 * interp.c (sim_open): Add ABFD argument.
398 Mon Jun 23 15:49:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
400 * interp.c (get_dr): Avoid SIGFPE by moving integers instead of
404 Mon Jun 23 15:02:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
406 * interp.c (XD, SET_XD): Delete.
407 (XF, SET_XF, XD_TO_XF): Define, move around registers in either
410 * gencode.c (fmov): Update.
412 Sun Jun 22 19:33:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
414 * interp.c (set_fpscr1): From J"orn Rennecke
415 <amylaar@cygnus.co.uk>, Fix typo. Ditto for comment.
417 Tue Aug 12 00:19:11 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
419 * interp.c (special_address): New function.
420 (BUSERROR): Call it. Added parameters bits_written and data.
422 * gencode.c (tab): Fixed ocbwb and pref.
424 Fri Jun 20 22:03:18 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
426 * interp.c (do_wdat, do_wdat): Fix bug in register number calculation.
428 Thu Jun 19 00:28:08 1997 Andrew Cagney <cagney@b1.cygnus.com>
430 * interp.c (sim_create_inferior): Clear registers each time an
433 Mon Jun 16 14:01:55 1997 Andrew Cagney <cagney@b1.cygnus.com>
435 * interp.c (*FP, FP_OP, FP_CMP, FP_UNARY): Provide a hook for
436 when a host doesn't support IEEE FP.
437 (*DP): Provide alternative definition that supports 64bit floating
439 (target_little_endian): Combine little_endian and little_endian_p.
440 (saved_state_type): Make fpscr and sr simple integers.
441 (SET_FPSCR, GET_FPSCR): Use macros to update fpscr register.
442 (set_fpscr1): New function. Handle swapping when PR / FR bits
443 changed. Call via *_FPSCR macro.
444 (SET_SR*, GET_SR*): Use macro's to access the SR bits - avoids
447 * gencode.c (tab): Update.
449 Sun Jun 15 15:22:52 1997 Andrew Cagney <cagney@b1.cygnus.com>
451 * gencode.c (main): Perform basic checks on tab entries.
453 * Makefile.in (gencode): Always compile with -g.
455 Sat Jun 14 13:45:09 1997 Andrew Cagney <cagney@b1.cygnus.com>
457 * gencode.c (gensim): Move ref checking code to before `stuff'.
458 For branches with delay slots refs were not being checked.
460 * interp.c (sim_resume): Use nia to specify the next instruction
461 address instead of overloading pc.
462 (C): Delete definiton - refer to cycles directly.
463 (SEXT12): New macro - sign extend a 12 bit quantity.
464 (Delay_Slot): Rename from SL.
466 * gencode.c (tab): Update/simplify.
468 * gencode.c (gensim): Better formatting of output code.
469 (gensim): Replace 10 with constant MAX_NR_STUFF- define as 15.
470 (tab): Sort alphabetically. Break `stuff' into multiple lines.
472 Fri Jun 13 22:10:13 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
474 * gencode.c (braf, bsrf): Fix branch destination calculation to
475 be in accordance with the documentation.
477 Fri Jun 13 15:33:53 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
479 * interp.c (init_pointers): Fix little endian test.
481 Thu Jun 5 12:56:08 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
483 * interp.c (init_pointers): SH4 hardware is always WORDS_BIT_ENDIAN.
484 * gencode (fmov from/to memory): take endian_mismatch into account
485 for 32 bit moves too.
487 Wed May 28 23:42:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
489 * gencode.c (swap.b): Fix treatment of high word.
491 Wed May 28 23:42:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
494 * interp.c: experimental SH4 support.
495 DFmode moves are probaly broken for target little endian.
497 Tue May 20 10:23:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
499 * interp.c (sim_open): Add callback argument.
500 (sim_set_callbacks): Delete SIM_DESC argument.
502 Wed Apr 30 11:38:08 1997 Doug Evans <dje@canuck.cygnus.com>
504 * Makefile.in (SIM_EXTRA_CLEAN): Define.
505 (clean targets): Delete.
506 (sh-clean): New target.
508 Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
510 * configure: Regenerated to track ../common/aclocal.m4 changes.
512 Wed Apr 23 17:55:22 1997 Doug Evans <dje@canuck.cygnus.com>
514 * tconfig.in: New file.
515 * interp.c (sim_open): Handle missing arg to -E.
517 Tue Apr 22 08:55:35 1997 Stu Grossman (grossman@critters.cygnus.com)
519 * Makefile.in: Add clean targets.
521 Fri Apr 18 18:57:04 1997 Stu Grossman (grossman@critters.cygnus.com)
523 * interp.c: Include float.h and define SIGTRAP if _WIN32.
525 * (trap): Do do SYS_chown for _WIN32.
527 Fri Apr 18 13:33:09 1997 Doug Evans <dje@canuck.cygnus.com>
529 * interp.c (sim_resume): Fix argument to poll_quit.
531 Fri Apr 18 14:14:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
533 * interp.c (sim_stop): New function.
534 (sim_resume): Use poll_quit for polling.
536 Thu Apr 17 03:32:04 1997 Doug Evans <dje@canuck.cygnus.com>
538 * Makefile.in (SIM_OBJS): Add sim-load.o.
539 * interp.c (target_byte_order): Delete.
540 (sim_kind, myname, little_endian_p): New static locals.
541 (init_pointers): Use little_endian_p instead of target_byte_order.
542 (sim_resume): Likewise.
543 (sim_open): Set sim_kind, myname. Set little_endian_p from -E arg.
544 (sim_load): Return SIM_RC. New arg abfd. Call sim_load_file to
545 load file into simulator. Set start address from bfd.
546 (sim_create_inferior): Return SIM_RC. Delete arg start_address.
548 Mon Apr 7 15:45:02 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
550 * configure: Regenerated to track ../common/aclocal.m4 changes.
553 Wed Apr 2 15:06:28 1997 Doug Evans <dje@canuck.cygnus.com>
555 * interp.c (sim_open): New arg `kind'.
557 * configure: Regenerated to track ../common/aclocal.m4 changes.
559 Wed Apr 2 14:34:19 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
561 * configure: Regenerated to track ../common/aclocal.m4 changes.
563 Wed Mar 19 09:34:36 1997 Fred Fish <fnf@cygnus.com>
565 * interp.c (sim_do_command): Check for NULL command or empty
566 string and handle it the same as a "help" command. Use callback
567 to print error message for unrecognized commands. Replace
568 hardcoded tab in literal string with a \t. Other minor code
571 Wed Mar 19 01:14:00 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
573 * configure: Regenerated to track ../common/aclocal.m4 changes.
575 Mon Mar 17 15:10:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
577 * configure: Re-generate.
579 Fri Mar 14 10:34:11 1997 Michael Meissner <meissner@cygnus.com>
581 * configure: Regenerate to track ../common/aclocal.m4 changes.
583 Thu Mar 13 13:00:00 1997 Doug Evans <dje@canuck.cygnus.com>
585 * interp.c (sim_open): New SIM_DESC result. Argument is now
587 (other sim_*): New SIM_DESC argument.
589 Tue Feb 4 13:33:30 1997 Doug Evans <dje@canuck.cygnus.com>
591 * Makefile.in (@COMMON_MAKEFILE_FRAG): Use
592 COMMON_{PRE,POST}_CONFIG_FRAG instead.
593 * configure.in: sinclude ../common/aclocal.m4.
594 * configure: Regenerated.
596 Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com)
598 * configure configure.in Makefile.in: Update to new configure
599 scheme which is more compatible with WinGDB builds.
600 * configure.in: Improve comment on how to run autoconf.
601 * configure: Re-run autoconf to get new ../common/aclocal.m4.
602 * Makefile.in: Use autoconf substitution to install common
605 Wed Nov 20 02:04:32 1996 Doug Evans <dje@canuck.cygnus.com>
607 * Makefile.in: Delete stuff moved to ../common/Make-common.in.
608 (SIM_OBJS,SIM_EXTRA_LIBS): Define.
609 * configure.in: Simplify using macros in ../common/aclocal.m4.
610 Call AC_CHECK_HEADERS(unistd.h).
611 * configure: Regenerated.
612 * config.in: New file.
613 * interp.c: #include "config.h". #include <unistd.h> if present.
614 (trap): Fetch errno value with callback->get_errno.
616 Tue Nov 12 13:34:00 1996 Dawn Perchik <dawn@cygnus.com>
618 * interp.c: Don't include windows polling code if inside simluator.
620 Fri Sep 20 14:57:50 1996 Stan Shebs <shebs@andros.cygnus.com>
622 * interp.c: Minor formatting improvements.
623 (saved_state_type): Add bank registers.
624 (bp_holder): New function, use to break on when debugging BUSERROR.
625 (BUSERROR): Call it if bus error occurs.
627 Wed Jun 26 12:29:22 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
629 * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
630 INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
632 * configure.in (AC_PREREQ): autoconf 2.5 or higher.
633 (AC_PROG_INSTALL): Added.
634 * configure: Rebuilt.
636 Thu May 16 15:44:29 1996 Ian Lance Taylor <ian@cygnus.com>
638 * interp.c (saved_state_type): Add memstalls field.
640 (sim_resume): New local variable memstalls. Add it back in to
641 saved_state at the end of the function.
642 (sim_info): Report memstalls.
643 * gencode.c (tab): Add MA() to the execution string of all
644 instructions which access memory.
646 Wed Feb 21 12:16:41 1996 Ian Lance Taylor <ian@cygnus.com>
648 * configure: Regenerate with autoconf 2.7.
650 Tue Dec 5 16:38:55 1995 Stu Grossman (grossman@cygnus.com)
652 * gencode.c (mac.l): Don't abort GDB if executing mac.l
653 instruction (which is unimplemented). Generate a SIGTRAP (in the
654 simulated target) instead.
656 Mon Dec 4 12:22:24 1995 J.T. Conklin <jtc@rtl.cygnus.com>
658 * gencode.c (tab): Added several sh3 opcodes.
659 (think): Added printonmatch for A_SSR and A_SPC.
660 * interp.c (SSR, SPC): Added definitions.
661 (saved_state_type): Added ssr and spc registers.
663 Wed Nov 29 12:39:27 1995 Jim Wilson <wilson@chestnut.cygnus.com>
665 * gencode.c (tab): In shad/shld definitions, negate R[m] before
666 the and operation instead of after. For shad delete cast. For shld
667 use UR instead of R and delete cast.
669 Fri Nov 17 12:48:55 1995 Jim Wilson <wilson@chestnut.cygnus.com>
671 * gencode.c (tab): Add explicit NaN support for ftrc instruction.
673 Wed Nov 15 11:25:27 1995 Stu Grossman (grossman@cygnus.com)
675 * interp.c: Make target_byte_order be extern to prevent SGI cc from
676 issuing warnings about the use of common symbols.
678 Tue Nov 14 15:19:43 1995 Stu Grossman (grossman@cygnus.com)
680 * gencode.c: jsr, bsr and bsrf actually save pc+4 in pr, and rts
683 Sat Oct 21 13:01:18 1995 Jim Wilson <wilson@chestnut.cygnus.com>
685 * sh/interp.c (sim_stop_reason): Catch SIGQUIT and indicate
687 (sim_get_quit_code): Delete.
689 * gencode.c (gensim): Indicate SIGILL instead of calling abort for
692 Mon Oct 16 18:24:03 1995 Jim Wilson <wilson@chestnut.cygnus.com>
694 * interp.c (saved_state_type): Move FP registers to immediately
697 Tue Oct 10 11:12:15 1995 Fred Fish <fnf@cygnus.com>
699 * Makefile.in (BISON): Remove macro.
701 Fri Oct 6 12:08:18 1995 Jim Wilson <wilson@chestnut.cygnus.com>
703 * interp.c (trap, case SYS_utime): Cast second arg of utime to
704 void * to avoid compiler error.
706 * interp.c (callback): Remove last change. It is initialized by
707 a sim_set_callbacks call.
709 Thu Oct 5 14:13:29 1995 steve chamberlain <sac@slash.cygnus.com>
711 * interp.c (callback): Initialize to default callback.
713 Thu Sep 28 15:26:59 1995 steve chamberlain <sac@slash.cygnus.com>
715 * run.c: Moved to ../common.
716 * interp.c (trap): Use gdb's callback interface.
717 * Makefile.in: Updated.
719 Wed Sep 20 13:35:13 1995 Ian Lance Taylor <ian@cygnus.com>
721 * Makefile.in (maintainer-clean): New synonym for realclean.
723 Wed Sep 20 09:51:50 1995 steve chamberlain <sac@slash.cygnus.com>
725 * run.c (sim_callback_write_stdout): New.
726 * interp.c (trap): Call sim_callback_write_stdout when needed.
728 Mon Sep 18 18:42:27 1995 steve chamberlain <sac@slash.cygnus.com>
730 * interp.c (trap): Remove useless code.
732 Fri Sep 15 19:30:05 1995 steve chamberlain <sac@slash.cygnus.com>
734 * syscall.h: Copy from newlib.
736 Thu Sep 14 19:32:59 1995 Stu Grossman (grossman@cygnus.com)
738 * gencode.c: Back up PC by 2 for breakpoints.
739 * interp.c: Move fp regs beyond pc/pr/etc to avoid confusing GDB,
740 which expect pc to immediatly follow regs[].
742 Fri Sep 8 14:18:13 1995 Ian Lance Taylor <ian@cygnus.com>
744 * configure.in: Define CC_FOR_BUILD. Don't call AC_PROG_INSTALL.
745 * configure: Rebuild.
746 * Makefile.in (INSTALL): Revert to using install.sh.
747 (INSTALL_PROGRAM, INSTALL_DATA): Set to $(INSTALL).
748 (INSTALL_XFORM, INSTALL_XFORM1): Restore.
749 (CC_FOR_BUILD): Restore.
750 (gencode): Build using $(CC_FOR_BUILD).
751 (install): Don't install in $(tooldir).
753 Thu Sep 7 15:02:31 1995 J.T. Conklin <jtc@rtl.cygnus.com>
755 (Try to) Update to new bfd autoconf scheme.
756 * run.c: Don't include sysdep.h.
757 * Makefile.in (INSTALL{,_PROGRAM,_DATA}): Use autoconf computed value.
758 (CC, CFLAGS, AR, RANLIB): Likewise.
759 (HDEFINES, TDEFINES): Define.
760 (CC_FOR_BUILD): Delete.
761 (host_makefile_frag): Delete.
762 (Makefile): Don't depend on frags.
763 * configure.in (sysdep.h): Don't create symlink.
764 (host_makefile_frag, frags): Deleted.
765 (CC, CFLAGS, AR, RANLIB, INSTALL): Compute values.
766 * configure: Regenerated.
768 Thu Aug 31 12:39:07 1995 Jim Wilson <wilson@chestnut.cygnus.com>
770 * interp.c: Include <math.h>.
772 Wed Aug 30 22:05:17 1995 Jeff Law (law@snake.cs.utah.edu)
774 * Makefile.in (run): Link in math library too.
775 * gencode.c (gensim): abort if an unknown opcode is encountered.
776 * interp.c (FPSCR, FPUL): Define.
777 (struct save_state): Add fields for floating point registers,
779 (sim_resume): Add 'F' for accessing floating point registers
780 in the save state structure.
781 * gencode.c: Add sh3e opcodes.
782 (gensym): Define a buffer for int<->fp conversions.
784 Tue Aug 22 14:16:46 1995 J.T. Conklin <jtc@rtl.cygnus.com>
786 * interp.c (trap): Use trap vector 34 for host system interface.
787 * gencode.c: Add 34 to conditional which determines which traps
788 will be handled by simulator.
790 Fri Aug 11 17:59:15 1995 Jim Wilson <wilson@chestnut.cygnus.com>
792 * run.c: Include <signal.h>. Define SIGQUIT if not defined.
793 (main): New variables reason and sigrc. After simulator exits,
794 check to see if it exited because of a signal, and if so, then
795 use the signal number as the return value.
797 Thu Aug 3 10:45:37 1995 Fred Fish <fnf@cygnus.com>
799 * Update all FSF addresses except those in COPYING* files.
801 Tue Jul 18 23:33:10 1995 Fred Fish <fnf@fishbowl>
803 * interp.c (trap): Only use SYS_execv if defined. Might be
804 implemented as execve(arg1,arg2,0), as with Unixware 2.0.
805 (sim_resume): In sbit initializer, cast shifted arg to unsigned
806 to avoid signed integer overflow.
808 Wed Jul 5 14:32:54 1995 J.T. Conklin <jtc@rtl.cygnus.com>
810 * Makefile.in (clean): Remove run, libsim.a.
811 (distclean, mostlyclean, realclean): Remove Makefile and
816 * Makefile.in, configure.in: converted to autoconf.
817 * configure: New file, generated with autconf 2.4.
819 Fri Jun 30 16:51:38 1995 Stan Shebs <shebs@andros.cygnus.com>
821 * interp.c (sim_open): If argument supplied, interpret as
823 (parse_and_set_memory_size): New function.
824 (sim_do_command): New function.
826 Thu Jun 29 10:02:28 1995 Fred Fish <fnf@deneb.cygnus.com>
828 * interp.c (SYS_wait): Define as SYS_wait4 if available and
829 SYS_wait is not already defined (SunOS 4.1.3 for example).
830 (SYS_utime): Define as SYS_utimes if available and
831 SYS_utime is not already defined.
833 Thu Jun 22 17:25:57 1995 Steve Chamberlain <sac@slash.cygnus.com>
835 * interp.c: Don't include sys/times.h or sys/param.h
837 Wed Jun 21 15:03:49 1995 Steve Chamberlain <sac@slash.cygnus.com>
839 * interp.c (SIGBUS, SIGTERM): Define if not.
840 (sim_memory_size): default to 2^19 on PCs.
841 (sim_resume): Poll for quits on win32.
843 Wed May 24 16:22:48 1995 Jim Wilson <wilson@chestnut.cygnus.com>
845 * gencode.c (op_tab): Add SH3 support.
847 Wed May 24 14:07:11 1995 Steve Chamberlain <sac@slash.cygnus.com>
849 * gencode.c (tab): Add bsrf and braf.
851 Mon Apr 24 15:09:49 1995 Jason Molenda (crash@cygnus.com)
853 * configure.in: use ../../bfd/hosts/std-host.h, not
854 ../bfd/hosts/std-host.h (which doesn't exist).
856 Mon Mar 27 10:32:34 1995 J.T. Conklin <jtc@rtl.cygnus.com>
858 * run.c: parse arguments with getopt().
860 Sun Feb 26 15:27:24 1995 Steve Chamberlain <sac@cygnus.com>
862 * configure.in: Use ../../bfd/hosts/std-host.h if specific
865 Mon Jan 23 16:10:58 1995 Torbjorn Granlund <tege@rtl.cygnus.com>
867 * interp.c (macw): Sign extend MACH at bit 10 for non-saturating case.
869 Sun Jan 22 13:55:36 1995 Torbjorn Granlund <tege@rtl.cygnus.com>
871 * gencode.c (op_tab): Make MAC.W call macw, not abort.
872 * interp.c (macw): New function.
875 Sat Jan 21 15:52:30 1995 Torbjorn Granlund <tege@rtl.cygnus.com>
877 * gencode.c (op_tab): New code for ADDV and SUBV.
878 Make MAC.L abort sicne it is not implemented.
880 * interp.c (dmul): Handle the signed case by adjusting after unsigned multiply.
881 Get rid of __GNUC__ conditional.
883 aThu Jan 19 05:50:50 1995 Torbjorn Granlund <tege@rtl.cygnus.com>
885 * gencode.c (op_tab): Also replace NEGC, and try again with SUBC.
886 Change ADDC for symmetry.
888 * gencode.c (op_tab): Replace code for ADDC and SUBC.
890 Mon Jan 9 15:43:53 1995 Stu Grossman (grossman@cygnus.com)
892 * interp.c: Remove def of INLINE. This comes from bfd.h. Also,
893 declare IOMEM before using it.
895 Wed Dec 28 21:25:31 1994 Steve Chamberlain (sac@jonny.cygnus.com)
897 * interp.c (BUSERROR): New macro.
898 ([r|w][bwl]at[little|big]) New functions.
899 (sim_resume): If GO32 check for interrupt every now
900 and again. Decrement PC if SIGBUS seen.
901 * run.c (main): Return result of simulated _exit.
903 Mon Dec 5 21:59:51 1994 Doug Evans <dje@canuck.cygnus.com>
905 * Makefile.in (gencode): Allow build in different directory.
907 Wed Nov 30 17:47:13 1994 Jim Wilson <wilson@chestnut.cygnus.com>
909 * Makefile.in (gencode): Change $< to gencode.c for portability.
911 Wed Nov 23 21:31:55 1994 Steve Chamberlain (sac@jonny.cygnus.com)
913 * interp.c ([wr][bwl]at): New functions.
914 (trap): Cope with both byte modes.
916 Thu Sep 8 17:35:07 1994 Steve Chamberlain (sac@jonny.cygnus.com)
918 * gencode.c (tab): Simulate T bit after a negc insn right.
919 * interp.c (RSBAT): Sign extend the arg.
920 (ACE_FAST): New macro.
921 (sim_resume): Remove obsolete test of sim_timeout.
923 Fri Aug 5 14:12:31 1994 Steve Chamberlain (sac@jonny.cygnus.com)
925 * interp.c (IOMEM): New function, simulates very basic I/O area of
927 (WBAT, RBAT) : Call I/O functions.
928 * gencode.c (tab): Special case trapa #3.
930 Mon Jun 27 18:04:54 1994 Steve Chamberlain (sac@cirdan.cygnus.com)
932 * run.c (main): Specify the file type again.
934 Thu May 26 19:04:37 1994 Steve Chamberlain (sac@thepub.cygnus.com)
936 * interp.c (trap): Fix irix incompatibility.
937 * run.c (main): open without specifying file type.
939 Wed May 18 14:18:53 1994 Doug Evans (dje@canuck.cygnus.com)
941 * interp.c (sim_*): Make result void where there isn't one.
942 (sim_set_pc): Delete.
943 (sim_info): Delete printf_fn arg, all callers changed.
944 Call printf_filtered instead.
945 (sim_close): New function.
946 (sim_load): New function.
947 (sim_create_inferior): Renamed from sim_set_args, all callers changed.
948 * run.c: #include <varargs.h>, "remote-sim.h".
949 (printf_filtered): New function.
951 Wed Apr 27 12:03:48 1994 Steve Chamberlain (sac@cygnus.com)
953 * gencode.c (table): Get direction of some opcodes right.
954 (trapa, rte): Implement fully.
955 * interp.c (trap): Make stat call more portable.
957 Fri Feb 11 21:59:38 1994 Steve Chamberlain (sac@sphagnum.cygnus.com)
959 * gencode.c (main, gendefines): New -d option prints table of defines.
960 * interp.c (trap): Add a load of system calls.
961 (sim_memory_size): Now default to 8Mbyte.
962 (PARANOID): Keep vector of registers with undefined contents.
964 Mon Nov 15 14:37:18 1993 Steve Chamberlain (sac@jonny.cygnus.com)
966 * gencode.c: mova uses aligned addresses
967 * interp.c (trap): Return results in r0.
969 Tue Oct 26 10:38:55 1993 Doug Evans (dje@canuck.cygnus.com)
971 * Makefile.in (CSEARCH): Add -I$(srcdir)/../../gdb
972 * interp.c: #include "remote-sim.h".
973 (sim_resume): int result, new arg `siggnal'.
974 (sim_write): Use SIM_ADDR for type of arg `addr'.
975 (sim_read): Use SIM_ADDR for type of arg `addr'.
976 Use unsigned char * for `buffer'.
977 (sim_store_register): int result.
978 (sim_fetch_register): Ditto.
979 (sim_stop_reason): Renamed from sim_stop_signal. New arg `reason'.
980 (sim_set_pc): int result, use SIM_ADDR for type of arg `x'.
981 (sim_info): int result, new args `verbose', `printf_fn'.
982 (sim_kill): int result.
983 (sim_open): int result, new arg `name'.
984 * run.c: #include <stdio.h>
985 (main): Update call to sim_info.
987 Sat Oct 23 15:09:29 1993 Doug Evans (dje@canuck.cygnus.com)
989 * interp.c (sim_stop_signal): Result is now enum sim_stop.
991 Fri Oct 8 10:47:09 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
993 * gencode.c (table): Becomes unsigned.
994 * interp.c (trap): Get right breakpoint SIGnum. (sim_write,
995 sim_read): Return number of bytes copied. (sim_store_register):
996 Value passed by reference. (sim_kill, sim_open, sim_set_args): New functions.
998 Tue Sep 7 16:24:13 1993 Stan Shebs (shebs@rtl.cygnus.com)
1000 * interp.c (sim_info): Fix small typo in printf string.
1002 Thu Aug 5 11:37:48 1993 Stan Shebs (shebs@rtl.cygnus.com)
1004 * interp.c (sim_resume): Set memory after pointers inited.
1006 Mon Aug 2 14:13:22 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
1008 * interp.c (get_now): Use time system call.
1009 * Makefile.in: install correctly.
1011 Tue Jul 6 10:30:46 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
1013 * run.c (main), interp.c (sim_set_timeout): Remove timeout
1016 Thu Jun 24 13:29:57 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com)
1018 * Makefile.in: don't run indent everytime; also add a space in the
1021 Thu Jun 17 18:30:42 1993 Steve Chamberlain (sac@phydeaux.cygnus.com)
1023 * gencode.c: Fix some opcodes.
1024 * interp.c: Support for profiling and portability fixes.
1025 * run.c (main): Get profiling args.
1027 Wed May 5 13:17:22 1993 Steve Chamberlain (sac@cygnus.com)
1029 * gencode.c (tab): Lint for sgi compiler
1030 * interp.c: Lint for sgi compiler.
1032 Mon May 3 15:25:33 1993 Steve Chamberlain (sac@thepub.cygnus.com)
1034 * run.c (main): Support for resizing simulated RAM.
1035 * Makefile.in: Support for broken makes.
1036 * interp.c, gencode.c: Lint.
1038 Mon Apr 26 18:01:10 1993 Steve Chamberlain (sac@thepub.cygnus.com)