Wed Aug 27 09:51:42 1997 Andrew Cagney * sim-utils.c (sim_copy_argv): Rewrite to match malloc strategy used by copyargv and freeargv. * sim-options.c (sim_parse_args): Save a copy of PROG-ARGS in STATE_PROG_ARGV, not just a pointer. Mon Aug 25 17:50:22 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Mon Aug 25 12:11:06 1997 Andrew Cagney * aclocal.m4 (sim-endian): Add second argument to SIM_AC_OPTION_ENDIAN. First is hardwired endian, second is default endian when not hardwired. * sim-config.h (WITH_DEFAULT_TARGET_BYTE_ORDER): New macro, if all else failes value for target byte order. * sim-config.c (sim_config): Add abfd arguments. Set STATE_PROG_BFD accordingly. Determine prefered_target_byte_order from same. (sim_config): Return SIM_RC, don't abort. (bfd.h): Include. * run.c (main): Update call to sim_open - add ABFD argument. * nrun.c (main): Add NULL ABFD argument. Thu Aug 14 12:48:57 1997 Doug Evans * callback.c (os_poll_quit): Make static. Call sim_cb_eprintf, not p->eprintf. (sim_cb_printf, sim_cb_eprintf): New functions. * sim-utils.h (sim_cb_printf, sim_cb_eprintf): Declare. * sim-basics.h (zalloc,zfree,sim_add_commas,SIM_ELAPSED_TIME, sim_elapsed_time_get,sim_elapsed_time_since): Move decls to sim-utils.h. #include sim-utils.h. * sim-utils.h: Above decls moved here. (sim_analyze_program,sim_load_file): Use `struct _bfd', not `bfd'. * sim-watch.c (action_watchpoint): Fix thinkos. Thu Jul 24 08:48:05 1997 Stu Grossman (grossman@critters.cygnus.com) * sim-types.h: Fix defs of 64 bit data types for MSVC. Tue Jul 22 10:35:37 1997 Doug Evans * sim-n-core.h (sim_core_write_unaligned_N): Add missing break to FORCED_ALIGNMENT case. Thu Jun 5 13:48:37 1997 Andrew Cagney * callback.c (target_to_host_open): Handle hosts with O_BINARY. Thu Jun 5 08:47:10 1997 Jeffrey A Law (law@cygnus.com) * Make-common.in (libsim.a): Fix typo. Thu Jun 5 13:48:37 1997 Andrew Cagney * nrun.c (main): Verify the structure returned before using it. Wed Jun 4 11:44:06 1997 Andrew Cagney * sim-config.h (WITH_ENGINE): Enable the sim-engine module by default. * sim-engine.c (sim_engine_install): New function. Install the engine init functions. (sim_engine_init): [Re]initialize the simulator engine. * sim-module.c: Add sim_engine to list of modules that always install. Tue Jun 3 04:52:04 1997 Andrew Cagney * sim-watch.c (schedule_watchpoint): Use sim_unschedule_watchpoint to remove the old watchpoint, not delete_watchpoint. (watch_option_handler): Action the correct watchpoint, not just cycles. Wed May 28 14:47:41 1997 Andrew Cagney * sim-n-core.h (sim_core_write_aligned_N): For 8byte reads, output both low and high word. (sim_core_write_aligned_N): Ditto. * sim-trace.c (set_trace_options): Delete code explicitly setting core->trace. * sim-options.c (sim_print_help): Call the list commands if not a standalone simulator. (sim_print_help): Advise that some options may not be applicable. * sim-trace.c (set_trace_options): Assume core present. * sim-events.c (sim_events_schedule_after_signal): Overflow signal buffer when full not almost full. Tue May 27 14:32:00 1997 Andrew Cagney * sim-events.c (sim_events_process): Don't blat the event queue when processing watchpoints. * sim-watch.h: Make arg unsigned long - stop sign extension. * sim-events.c (sim_watch_valid): rewrite so debugable. * sim-config.h (WITH_XOR_ENDIAN): Default to zero. * sim-watch.c (schedule_watchpoint): Add is_within option so that inequality test is possible. (handle_watchpoint): Re-pass is_within arg. (watch_option_handler): When `!' prefix to pc-watchpoint arg pass 0 to schedule_watchpoint's is_within arg. (sim_watchpoint_init): Re-pass is_within arg. * sim-options.c (sim_print_help): Add is_command argument. Don't include -- prefix when called from the command line interpreter. * sim-watch.c (schedule_watchpoint): Pass true is_within argument. * sim-events.c (sim_events_watch_sim): Add is_within argument, zero indicates that the test should be reversed. (sim_events_watch_core): Ditto. (WATCH_CORE): Compare range against is_within. (WATCH_SIM): Ditto. Tue May 27 12:48:03 1997 Andrew Cagney * sim-events.c (WATCH_CORE): Pass NULL cpu argument to sim_core_read_buffer. Check nr-bytes transfered. * sim-core.h (sim_core_common): Define a new struct that contains the common data. to sd and cpu structures. * sim-core.c (sim_core_attach): Update. (sim_core_init): Update. Remember to copy initialized data to each cpu. (sim_core_find_mapping): Ditto. * sim-core.c (sim_core_read_buffer): Add cpu argument. (sim_core_write_buffer): Ditto. * sim-n-core.h (sim_core_read_unaligned_N): When mis-aligned transfer use xor version of read buffer. (sim_core_write_unaligned_N): Ditto for write. * sim-core.c (sim_core_xor_read_buffer): New function implement xor-endian data read breaking transfer up into xor-endian sized blocks. (sim_core_xor_write_buffer): Ditto for write. (reverse_n): Reverse order of arbitrary number of bytes in buffer - needed for xor-endian transfers. Fri May 23 14:24:31 1997 Andrew Cagney * sim-inline.h: Review description. * sim-core.h, sim-core.c: Reduce number of functions being inlined to just those involved in data transfers and configuration. * sim-xcat.h (XSTRING): New macro, map macro definition onto string. * sim-n-core.h (sim_core_read_aligned_N): Use. (sim_core_read_unaligned_N): Ditto. (sim_core_read_unaligned_N): Ditto.. (sim_core_write_unaligned_N): Ditto. * sim-core.h: Add xor endian bitmap to main structure. * sim-n-core.h (sim_core_write_aligned_N): Add suport for xor endian. (sim_core_read_aligned_N): Ditto. * sim-core.c (sim_core_set_xor_endian): New function. (sim_core_attach): Don't overwrite the per-cpu xor map when cloning the global core. Fri May 23 10:53:13 1997 Andrew Cagney * sim-engine.h: Update below so that it is using an enumerated type. Thu May 22 09:12:16 1997 Gavin Koch * sim-engine.c (sim_engine_restart): * sim-resume.c (sim_resume): Change longjmp param/setjmp return value used for simulator restart from 0 to 2. Wed May 21 08:47:30 1997 Andrew Cagney * cgen-scache.c (scache_option_handler): Add is_command arg. * sim-model.c (model_option_handler): Add is_command argument. * sim-profile.c (profile_option_handler): Add is_command arg. * sim-events.c (sim_watch_valid): Use ub64, lb64 when 64bit value involved. * sim-module.c (sim_module_add_init_fn): Call init fn in the same order that they are registered. * sim-options.h (OPTION_HANDLER): Add argument to differentiate between option and command line processing. * sim-options.c: Include stdlib.h, ctype.h. * Make-common.in (sim-watch.o): Add rule. (sim_main_headers): Assume sim-assert.h included. (sim-*.o): Simplify make rule. * sim-module.c: Add sim_watch_install to module list. Tue May 20 14:15:23 1997 Andrew Cagney * sim-base.h (STATE_LOADED_P): New predicate. Set once everything has been loaded. * sim-trace.c (trace_install): Check magic. Include sim-assert.h. * sim-events.c (sim_events_install): Ditto. * sim-core.c (sim_core_install): Ditto. * sim-model.c (model_install): Ditto. * sim-options.c (standard_install): Ditto. * sim-profile.c (profile_install): Ditto. * sim-reason.c (sim_stop_reason): Ditto. * sim-run.c (sim_engine_run): Ditto. * sim-utils.c (sim_analyze_program): Ditto. * sim-module.c (modules): Make profile_install and trace_install optional. * sim-base.h (STATE_MEM_BASE): Define for flat memory systems. * sim-options.c (standard_option_handler): Set the byte order. * sim-events.c (sim_events_process): Allow multi tick processing. (sim_events_tickn): New function - multi cycle tick. * sim-events.h (sim_events_tickn, sim_events_timewarp): Add prototypes. Under development. (sim_events): Replace processing with nr_ticks_to_process. Tue May 20 09:39:22 1997 Andrew Cagney * nrun.c (main): Pass callbacks to sim_open instead of using sim_set_callbacks. * run.c (main): Ditto. Mon May 19 12:07:22 1997 Andrew Cagney * sim-events.c (sim_events_zalloc): Signal save memory allocator - stop tk interrupting malloc calls. (sim_events_zalloc): Converse. * Make-common.in (sim_main_headers): Add sim-events.h. * sim-events.c (sim_events_schedule_after_signal): Change return type to void - signal events are strictly internal. (sim_events_init): Allocate a finite buffer for signal events. (sim_events_schedule_after_signal): Enter signal events into the signal buffer. * sim-engine.c (sim_engine_halt): Check SIM_DESC magic. (sim_engine_restart): Ditto. (sim_engine_abort): Ditto. * sim-stop.c (sim_stop): Ditto. (control_c_simulation): Ditto. * sim-resume.c (sim_resume): Ditto. (has_stepped): Ditto. * sim-abort.c (sim_engine_abort): Ditto. * sim-basics.h (transfer_type): New type. * sim-core.c (sim_core_signal): New function. Print core signal information. (sim_core_find_mapping): Add transfer argument. * sim-n-core.h (sim_core_{write,write}_unaligned_N): Call SIM_CORE_SIGNAL if a recoverable abort. * sim-core.c (sim_core_find_mapping): Ditto. Fri May 16 15:13:21 1997 Andrew Cagney * sim-core.c (sim_core_find_mapping): Replace calls to sim_io_error to more resiliant sim_engine_abort. * sim-n-core.h (sim_core_read_unaligned_N): Ditto. (sim_core_write_unaligned_N): Ditto. Tue May 13 13:50:06 1997 Andrew Cagney * sim-module.c: Add sim_events_install to list. * sim-events.c (sim_events_install, sim_events_uninstall): Clonse from sim_core_*. (sim_events_init): Now returns SIG_RC. * sim-run.c: New file. Generic sim_engine_run. * sim-reason.c: New file. Generic sim_stop_reason. * sim-stop.c: New file. Generic sim_stop. * sim-resume.c: New file. Generic sim_resume. * Make-common.in (sim-engine.o): Add rule. (sim-run.o, sim-reason.o, sim-stop.o, sim-resume.o): Ditto. * sim-engine.h, sim-engine.c: New file. Provide generic implementation of sim_engine_halt, sim_engine_error. et.al. * sim-base.h (sim_state_base): Add member halt. (sim-engine.h): Include. * sim-events.h (sim_event_handler): Always pass SIM_DESC to event handlers. * sim-events.c (sim_events_poll): Update event handler. Tue May 13 09:57:49 1997 Andrew Cagney * sim-events.h, sim-events.c (sim_events_watch_clock): New function. (sim_events_watch_sim): New function. (sim_events_watch_core): New function. (sim_watch_valid): New function. (sim_events_preprocess): New function. (sim_events_process): Process the watchpoints as well as the timer queue. (sim_events_tick): Check WORK_PENDING instead of the hold queue. (sim_events_deschedule): Check all the queues when removing an event. (sim_events_init): Ditto for cleaning. Mon May 19 12:07:22 1997 Andrew Cagney * sim-fpu.c (is_ufpu_number): Comment out - currently unused. Mon May 19 11:23:03 1997 Andrew Cagney * callback.c (os_open): Type of arg flags is int. Fri May 16 22:26:43 1997 Michael Meissner * sim-fpu.c (sim_fpu_is_{eq,ne,lt,le,gt,ge}): Compare Infinities just like normal numbers as per IEEE rules. Wed May 14 21:20:38 1997 Bob Manson * callback.c (os_close): Mark the descriptor as being available if the close succeeded. (os_open): Pass 0644 as the mode of the file being created. Thu May 15 10:58:52 1997 Andrew Cagney * sim-fpu.c (pack_fpu, unpack_fpu): New functions - decode a float. * sim-inline.c (SIM_INLINE_C): Rename from _SIM_INLINE_C_. * sim-lnline.h: Update. * sim-fpu.h, sim-fpu.c (sim_fpu_[iu]{32,64}to): New int2fp conversion functions. (sim_fpu_to{32,64}[iu]): New fp2int functions. * sim-fpu.h, sim-fpu.c (sim_fpu_is_{lt,le,eq,ne,ge,gt}): New fp compare functions. Replacing. (sim_fpu_cmp): This. Delete. Mon May 12 14:49:05 1997 Andrew Cagney * sim-core.c (sim_core_find_mapping): Call engine_error not sim_io_error when possible. Mon May 12 08:55:07 1997 Andrew Cagney * sim-endian.h (V1_H2): Add macro's to insert a word into a high/low double word. * sim-trace.h: Remove definition of attribute - defined in sim_basics.h. Mon May 12 08:55:07 1997 Andrew Cagney * sim-options.h (struct OPTION): Add doc_opt as the documenting name of the option - or family of options. * sim-options.c (sim_args_command): Match command `a-b c' with option `--a-b-c' from option table. Thu May 8 12:40:07 1997 Andrew Cagney * sim-options.c (sim_print_help): For optional arguments, wrap them in []. * sim-trace.c (set_trace_options): New function, handle optional argument and multiple assignment. (trace_option_handler): Update. * sim-trace.c (trace_option_handler): Trace branch and not fpu when branch tracing selected. Wed May 7 15:19:58 1997 Andrew Cagney * sim-trace.c (trace_one_insn): Make a va-args function. * sim-trace.c (trace_vprintf): New function, va-arg version of trace_printf. Tue May 6 16:38:16 1997 Doug Evans * sim-trace.c (trace_uninstall): Don't close a file twice. * sim-profile.c (profile_uninstall): Likewise. Tue May 6 06:14:01 1997 Mike Meissner * sim-trace.c (toplevel): Include bfd.h. (trace_options): Note that --trace-linenum also turns on --trace-insn. Add --trace-{branch,semantics}. (trace_option_handler): If --trace-linenum, also turn on --trace-insn. Add --trace-branch support. If --trace-semantics, turn on ALU, FPU, branch, and memory tracing. (trace_one_insn): New function to trace an instruction. Support --trace-linenum. (OPTION_TRACE_*): Use an enum, rather than lots of defines. * sim-trace.h (TRACE_{SEMANTICS,BRANCH}_IDX): Add new macros. (MAX_TRACE_VALUES): Use 32, not 12 by default. (TRACE_branch): Add new mask. (TRACE_*_P): Define all possible trace_p macros. (trace_one_insn): Declare function. Mon May 5 14:08:34 1997 Mike Meissner * sim-trace.h (__attribute__): Define as nothing if not GNU C or GNU C doesn't support __attributes__. ({trace,debug}_printf): Add attribute's so -Wformat can check the format strings. Mon May 5 11:16:12 1997 Andrew Cagney * sim-config.h (FORCED_ALIGNMENT): New alignment option - addresses are masked forcing them to be correctly aligned. (WITH_ALIGNMENT): Make NONSTRICT_ALIGNMENT the default. * sim-config.c (config_alignment_to_a): Update. * sim-core.h (sim_cpu_core): New data type contains cpu specific core data. * sim-base.h (CPU_CORE): Add cpu specific core data to cpu base type. * sim-core.c (sim_core_attach): Add CPU argument. Ready for processor specific core maps. (sim_core_map_attach): Copy the core map data to each of the processor specific core data structures. * sim-core.c (sim_core_find_mapping): Update. * sim-n-core.h (sim_core_read_N, sim_core_write_N): Rename. (sim_core_write_aligned_N, sim_core_write_aligned_N): New names. (sim_core_write_unaligned_N, sim_core_write_unaligned_N): New alternatives that handle unaligned addresses. (sim_core_{read,write}_{,un}aligned_N): Drop SIM_DESC arg, replace with just CPU arg. * cgen-utils.c (sim_disassemble_insn): Update. Mon May 5 13:19:16 1997 Andrew Cagney * sim-trace.h (TRACE_FPU_IDX): Add Floating-point specific tracing. * sim-fpu.h, sim-fpu.c: New files - prototype for generic target fpu support. * sim-inline.h, sim-inline.c: Add support for SIM_FPU. Fri May 2 17:59:42 1997 Andrew Cagney * sim-core.c (sim_core_map_to_str): New function ascii equivalent to map type. * sim-n-core.h (sim_core_read_N, sim_core_write_N): Use in trace statement. Fri May 2 17:28:02 1997 Andrew Cagney * cgen-trace.c: Prepend additional trace_printf argument. * cgen-utils.c (sim_disassemble_insn): Add additional core arguments. Fri May 2 11:40:23 1997 Andrew Cagney * nrun.c (main): Catch/report errorenous simulator states. * sim-module.c: #include "libiberty.h" so that xmalloc is defined. * sim-trace.c: #include string.h/strings.h so that memset is defined. * sim-utils.c: Ditto. * sim-profile.c: Ditto. And stdlib.h. (print_bar): Only define when used by instruction or memory profiler. * sim-options.c (standard_option_handler): Make ul more local. * sim-load.c (sim_load_file): Make the name constant. (sim_load_file): Passify gcc. * sim-utils.h: New file, pre-declare utilites in corresponding .c file. * sim-utils.c, sim-load.c: Include sim-utils.h. * sim-base.h (sim_cpu): Pre define here so available to all. * sim-core.h (DECLARE_SIM_CORE_WRITE_N, DECLARE_SIM_CORE_READ_N): Restore the sim_cpu and instruction_address arguments so that full information is available to the abort function. * sim-core.c (sim_core_find_mapping, sim_core_write_buffer): Ditto. * sim-n-core.h (sim_core_write_N, sim_core_read_N): Update. * sim-trace.h, sim-trace.c (trace_option_handler): Add interim tracing support for sim-events and sim-core. (trace_option_handler): Convert #if to if where possible so always compiled/checked by C compiler. * sim-n-core.h (sim_core_write_N, sim_core_read_N): Update. * sim-base.h: Adjust comment documenting how to define the cpu structure. (sim_state_base): Add sim_core and sim_events to simulator base object. * sim-trace.h, sim-trace.c (trace_printf): Add SIM_DESC argument. * sim-core.c (sim_core_init, sim_core_attach, sim_core_find_mapping): Update. * sim-events.c (ETRACE, sim_events_init, sim_events_time, update_time_from_event, insert_sim_event, sim_events_schedule_after_signal, sim_events_deschedule, sim_events_tick): Ditto. * sim-basics.h (sim-module.h, sim-trace.h, sim-profile.h, sim-model.h): Move #includes from here. * sim-base.h: To here. (sim-core.h, sim-events.h, sim-io.h): Include also Wed Apr 30 15:37:54 1997 Andrew Cagney * callback.c (default_callback): Missing initialisers. Thu May 1 10:40:47 1997 Doug Evans * sim-utils.c (sim_add_commas): New function. * sim-basics.h (sim_add_commas): Add prototype. * cgen-scache.c (scache_print_profile): Print commas in numbers. * sim-profile.c (COMMAS): New macro. (print_*): Use it to print commas in numbers. * configure: Regenerated. * cgen-sim.h (sim_signal_type): Add SIM_SIGINT. (cgen_state): New member run_fast_p. (cgen_init): Add prototype. (sim_disassemble_insn): New arg `cpu'. * cgen-trace.c (trace_insn): Update call to sim_disassemble_insn. * cgen-utils.c (cgen_init): New function. (sim_disassemble_insn): New arg `cpu'. Rewrite fetching of insn. * genmloop.sh: Call engine_halt if loop exits. * Makefile.in (sim-options_h): Define. (sim-{module,options,trace,profile,utils}.o): Clean up dependencies. (sim-model.o): Add new rule. (cgen-{scache,trace,utils}.o): Add new rules. * aclocal.m4 (SIM_AC_OPTION_{SCACHE,DEFAULT_MODEL}): Add. * cgen-scache.c (scache_print_profile): Change `sd' arg to `cpu'. Indent output by 2 spaces. * cgen-scache.h (scache_print_profile): Update. * cgen-trace.c (trace_insn_fini): Indent output by 2 spaces. Use trace_printf, not fprintf. (trace_extract): Use trace_printf, not cgen_trace_printf. * genmloop.sh (!FAST case): Increment `insn_count'. * sim-base.h (sim_state_base): Only include scache_size if WITH_SCACHE. (sim_cpu_base): Rename member `sd' to `state' to be consistent with access macro's name. * sim-core.c (sim_core_init): Use EXTERN_SIM_CORE to define it. Change return type to SIM_RC. (sim_core_{install,uninstall}): New functions. * sim-core.h (sim_core_{install,uninstall}): Declare. (sim_core_init): Use EXTERN_SIM_CORE to define it. Change return type to SIM_RC. * sim-model.h (models,machs,model_install): Declare. * sim-module.c (modules): Add scache_install, model_install. (sim_post_argv_init): Set cpu->state backlinks. * sim-options.c (standard_options): Delete --simcache-size,--max-insns. (standard_option_handler): Likewise. * sim-profile.c (PROFILE_{HISTOGRAM,LABEL}_WIDTH): Move to sim-profile.h. (*): Assume ANSI C. (profile_options): Delete --profile-simcache. (profile_option_handler): Likewise. (profile_print_insn): Change `sd' arg to `cpu'. Indent output 2 spaces. (profile_print_{memory,model}): Likewise. (profile_print_simcache): Delete. (profile_print_speed): New function. (profile_print): Rewrite. * sim-profile.h (PROFILE_scache): Renamed from PROFILE_simcache. (WITH_PROFILE_SCACHE_P): Renamed from WITH_PROFILE_SIMCACHE_P. (PROFILE_DATA): Delete members simcache_{hits,misses}. (PROFILE_COUNT_SIMCACHE_{HIT,MISS}): Delete. (PROFILE_{CALLBACK,CPU_CALLBACK}): New types. (profile_print): Update prototype. Wed Apr 30 11:34:14 1997 Doug Evans * cgen-scache.[ch], cgen-sim.h: New files. * cgen-trace.[ch], cgen-types.h, cgen-utils.c, genmloop.sh: New files. * sim-model.c: New file. * Make-common.in (clean targets): Undo patch of Apr. 22. Fri Apr 25 15:28:32 1997 Mike Meissner * sim-n-bits.h (signed): If we have a standard compiler, undef signed, so that signedN is defined correctly. Thu Apr 24 00:00:07 1997 Doug Evans * sim-module.h, sim-model.h, sim-profile.h: New files. * sim-module.c, sim-profile.c: New files. * Make-common.in (SIM_PROFILE): Define (CONFIG_CFLAGS): Add $(SIM_PROFILE). (sim_main_headers): Add sim-module.h, sim-model.h, sim-profile.h. (sim_module.o,sim-profile.o): Add rules for. * aclocal.m4 (--enable-sim-trace): Allow symbolic arguments. (--enable-sim-profile): Add. * configure: Regenerated. * sim-base.h (sim_state_base): New members init_list, uninstall_list, model. Move trace and profile support to sim-{trace,profile}.h. New members trace_data, profile_data. * sim-basics.h: #include sim-module.h, sim-model.h, sim-profile.h. * sim-config.h: Provide default definition of WITH_PROFILE. (WITH_TRACE): Change default to -1. (MAX_NR_PROCESSORS): Always define. * sim-options.c: Move trace and profile support to sim-{trace,profile}.h. (sim_pre_argv_init): Moved to sim-model.c. (standard_install): New function. * sim-options.h (sim_pre_argv_init): Move decl to sim-model.c. (standard_install): Declare. * sim-trace.c: Tracing option handling moved here from sim-options.c. (trace_install, trace_uninstall): New functions. (trace_printf): Update reference to TRACE_FILE. * sim-trace.h (TRACE_FOO_IDX): Moved here from sim-base.h. (TRACE_foo): Bit masks for symbolic arguments to --enable-sim-trace. (WITH_TRACE_FOO_P): Define. (trace_install): Declare. (TRACE_DATA): New struct. Wed Apr 23 17:23:15 1997 Doug Evans * run.c: Undo last exec_bfd patch. (main): Only pass -E ifdef SIM_HAVE_BIENDIAN. Wed Apr 23 17:54:27 1997 Mike Meissner * run.c (exec_bfd): Add back in. (main): Set exec_bfd. Tue Apr 22 14:43:46 1997 Doug Evans * sim-load.c (sim_load_file): #include for NULL. Wed Apr 23 02:55:54 1997 Andrew Cagney * sim-events.c (insert_sim_event): Call sim_io_error instead of less well defined engine_error. * sim-core.c: Ditto. Tue Apr 22 08:48:16 1997 Stu Grossman (grossman@critters.cygnus.com) * Make-common.in: Change clean targets to use :: so that other Makefiles can have their own clean targets. * sim-load.c (xprintf eprintf): Use ANSI_PROTOTYPES instead of __STDC__ to control use of stdarg vs. varargs syntax. Some systems can't use __STDC__, but require stdarg. Fri Apr 18 11:14:43 1997 Doug Evans * sim-options.c (standard_options): Add --endian. (standard_option_handler): Likewise. * nrun.c: #include . (main, cntrl_c): Wrap calls to sim_resume in a SIGINT handler that calls sim_stop (). Fri Apr 18 13:11:36 1997 Andrew Cagney * run.c (main, cntrl_c): Wrap calls to sim_resume in a SIGINT handler that calls sim_stop (). Simulators may still be establishing their own handler. * sim-events.c (sim_events_poll): Rename from sim_events_at_large_int. Poll IO. * sim-io.c (sim_io_poll_quit): New function - pass on a polling request. * callback.c (os_poll_quit): New function poll for quit signal where needed. (default_callback): Include magic number. Thu Apr 17 02:25:11 1997 Doug Evans * aclocal.m4: Check for headers time.h, sys/time.h, sys/resource.h. Check for functions getrusage, time. * sim-basics.h (SIM_ELAPSED_TIME): New typedef. (sim_elapsed_time_get, sim_elapsed_time_since): Add prototypes. * sim-utils.c: #include time.h, sys/time.h, sys/resource.h if able. (sim_elapsed_time_get, sim_elapsed_time_since): New functions. * sim-utils.c (sim_copy_argv, sim_analyze_program): New functions. * sim-options.c, sim-options.h: New files. * sim-config.h (WITH_DEBUG): Provide default value of zero. * Make-common.in (nrun.o): Add rules for. * nrun.c: New file. * run.c (main): Check return value of sim_open. * Make-common.in (sim-options.o, sim-load.o, sim-trace.o): Add rules. (sim_main_headers): Add sim-trace.h. * run.c (exec_bfd, target_byte_order): Delete. (main): Pass -E to sim_open. Delete code to load sections, call sim_load instead. Check return code of sim_create_inferior. * sim-base.h (CURRENT_STATE): Define. (sim_state_base): Make typedef. New members options, prog_argv, prog_bfd, text_{section,start,end}, start_addr, simcache_size, mem_size, memory [+ corresponding access macros]. (sim_cpu_base): New typedef. * sim-trace.h: New file. * sim-trace.c: New file. * sim-basics.h: #include it. * sim-load.c: New file. Tue Apr 15 15:10:13 1997 Ian Lance Taylor * Make-common.in (INSTALL): Set to @INSTALL@. (INSTALL_XFORM, INSTALL_XFORM1): Remove. (install-common): Depend upon installdirs. Use $(program_transform_name) directly, rather than using $(INSTALL_XFORM). (installdirs): New target. * Makefile.in (INSTALL): Set to @INSTALL@. (INSTALL_XFORM, INSTALL_XFORM1): Remove. (install-man): Depend upon installdirs. Use $(program_transform_name) directly, rather than using $(INSTALL_XFORM). (installdirs): New target. Tue Apr 15 15:08:12 1997 Andrew Cagney * sim-assert.h (SIM_ASSERT, ASSERT): Allow these macros to be overriden. Wed Apr 9 16:06:44 1997 Andrew Cagney * sim-basics.h: Only bring in config.h and tconfig.h if HAVE_CONFIG_H. Mon Apr 7 11:39:45 1997 Andrew Cagney * sim-config.h (WITH_TARGET_WORD_MSB): New Macro. Define the bit numbering convention of the target. * sim-config.c (print_sim_config): Print WITH_TARGET_WORD_BITSIZE and WITH_TARGET_WORD_MSB. (sim_config): When possible, check for consistency with bitsize and msb. * sim-bits.h: Allow MSB to be other than zero. * sim-bits.c: Ditto. * sim-n-bits.h: Ditto. * sim-bits.h (MSMASK*): New macros - converce to LSMASK*. * sim-n-bits.h (MSMASKEDn): Ditto. Mon Apr 14 16:29:21 1997 Ian Lance Taylor * Makefile.in (INSTALL): Change install.sh to install-sh. Mon Apr 7 10:46:38 1997 Doug Evans * sim-base.h (sim_state_base): Move `magic' to end of struct. Mon Apr 7 15:53:21 1997 Andrew Cagney * run.c (main): Check that a program to run was specified. Mon Apr 7 15:45:02 1997 Andrew Cagney * aclocal.m4 (AC_TYPE_SIGNAL): Add check. * configure: Regenerated to track ../common/aclocal.m4 changes. * config.in: Ditto. Wed Apr 2 15:06:28 1997 Doug Evans * sim-endian.h: Move host {LITTLE,BIG}_ENDIAN support from here, * sim-config.h: To here. * Make-common.in (SIM_EXTRA_DEPS): New config var. (sim_main_headers): Define. (sim-*.o): Depend on $(SIM_EXTRA_DEPS). (BUILT_SRC_FROM_COMMON): Move here from ../d30v/Makefile.in. (clean): Use it. (sim-utils.o): Add rule for. * sim-utils.o: New file. * sim-basics.h: #include sim-base.h. (zalloc): Make argument unsigned long. * sim-base.h: New file. * sim-inline.h (SIM_IO support): Delete. * sim-io.h: Delete inline support. * sim-io.c: Likewise. sim-state.h renamed to sim-main.h. * sim-config.c: sim-state.h renamed to sim-main.h. * sim-core.c: Likewise. * sim-events.c: Likewise. * run.c (main): Pass SIM_OPEN_STANDALONE to sim_open. * aclocal.m4: Check for stdlib.h, string.h, strings.h, unistd.h. (sim-debug): Allow arguments. Define WITH_DEBUG in addition to -DDEBUG. * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Apr 2 14:34:19 1997 Andrew Cagney * configure: Regenerated to track ../common/aclocal.m4 changes. Wed Apr 2 11:08:11 1997 Andrew Cagney * sim-config.h (WITH_ALIGNMENT, WITH_FLOATING_POINT, WITH_XOR_ENDIAN, WITH_SMP, WITH_RESERVED_BITS): Assume that these are defined by the configure. * aclocal.m4 (sim-stdio): Add option stdio from ../ppc configure. * aclocal.m4 (floating-point, xor-endian, alignment, smp, reserved-bits): Always define. * sim-config.h, sim-config.c (sim_config): New function - and new file - co-ordinate the setting/checking of the common simulator configuration options. * Make-common.in (sim-config.o): Add rule. Fri Mar 28 15:32:00 1997 Mike Meissner * callback.c (os_{,e}vprintf_filtered): Change stdarg type to va_list from void *, since va_list might not be a pointer type. Mon Mar 24 15:27:12 1997 Andrew Cagney * sim-n-endian.h (offset_N): Correct assertion - word and sub word in wrong order. (offset_N): Correct computation of LE offset. * sim-io.c (sim_io_error): Include a new line when reporting errors. * sim-assert.h (SIM_FILTER_PATH): Out by one when locating last `/'. Thu Mar 20 22:31:06 1997 Jeffrey A Law (law@cygnus.com) * run.c: Include alloca-conf.h. * callback.c (os_evprintf_filtered): Fix typo. Fri Mar 21 13:36:20 1997 Andrew Cagney * run.c (string.h, strings.h, stdlib.h): Include. * sim-events.c (sim_events_tick): Recent cleanup failed to return 0 when nothing pending. * run.c (sim_size, sim_trace): Plicate GCC - these two functions will soon be going away. (getopt): Plicate GCC. * sim-endian.c (sim-io.h): Plicate GCC. * sim-bits.c (sim-io.h): Ditto. * sim-n-bits.h (ROTn): Ditto. * sim-io.c (sim_io_error): Correct check for NULL. * sim-assert.h (SIM_FILTER_PATH): Separate out the code filtering the __FILE__. * sim-events.c: Use SIM_FILTER_PATH to filter out the filename path. Wed Mar 19 01:12:06 1997 Andrew Cagney * aclocal.m4 (SIM_AC_OPTION_*: Move so that they are outside of SIM_AC_COMMON - SIM_AC_COMMON was gobling arguments. Tue Mar 18 20:48:12 1997 Andrew Cagney * sim-alu.h: Include sim-xcat.h. Tue Mar 18 13:58:18 1997 Andrew Cagney * Make-common.in (sim-bits.c, sim-core.c, sim-endian.c, sim-events.c, sim-inline.c, sim-io.c): Define rules for building these. * sim-events.c (sim_events_at_large_int): New function. Just schedules an event every large-int ticks. (sim_events_init): Call. (sim_events_tick, sim_events_process): Move async handing to sim_events_process. Move timer decrement so that it occures after events have been processed. * sim-basics.h (struct _engine): Remove declaration. * sim-events.h, sim-events.c: Rename type to sim_events. Prefix everything with same. Rename global struct to SIM_DESC. * sim-core.h, sim-core.c, sim-n-core.c: Ditto for sim_core. * sim-io.h, sim-io.c: Ditto. * sim-assert.h: New file. Optional assertion checking macros. * sim-io.c (sim_io_error): Make just this function tolerant to null pointers. * sim-xcat.h: New file. Define concatenate macros. * sim-basics.h (XCONCAT*): Move to sim-xcat.h. * sim-n-core.h, sim-n-bits.h, sim-n-endian.h: Explicitly include concat macros. Tue Mar 18 12:44:55 1997 Andrew Cagney * sim-bits.h (LSMASK): New macro. Create mask of LS bits. Mon Mar 17 18:10:05 1997 Andrew Cagney * sim-inline.h: Add definitions for sim-types. (ALL_BY_MODULE): New macro, encapsulate full inlining by the module. Mon Mar 17 15:38:27 1997 Andrew Cagney * sim-events.h: Remove defunct reference to callback struct. Mon Mar 17 15:10:07 1997 Andrew Cagney * configure: Re-generate. Mon Mar 17 15:04:47 1997 Andrew Cagney * Make-common.in (CSEARCH): Do not include the gdb directory in the search path. Mon Mar 17 13:16:26 1997 Andrew Cagney * Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE, SIM_WARNING): Drop, requiring the simulator specific Makefile.in to explicitly incorporate these. * aclocal.m4 (--enable-sim-alignment); New option. Strongly specify the alignment restrictions of the target architecture - without this option all alignment restrictions are accomodated. (--enable-sim-assert): New option. Conditionally compile in assertion statements. (--enable-sim-float): New option. Strongly specify the target's floating point support. (--enable-sim-hardware): New option. Specify the hardware devices included in the simulation. (--enable-sim-packages): New option. Specify the hardware packages included in the simulation. (--enable-sim-regparm): New option. Specify that parameters be passed in registers instead of on the stack. (--enable-sim-reserved-bits): New option. Specify that reserved bits within an instruction are are correctly set. (--enable-sim-smp): New option. Specify the level of SMP support to be included in the simulator. (--enable-sim-stdcall): New option. Specify an alternative function call convention. (--enable-sim-xor-endian): New option. Configure xor-endian support used by some targets to implement bi-endian support. Fri Mar 14 19:51:21 1997 Andrew Cagney * aclocal.m4 (--enable-sim-hostendian): New option. Allow the host endianness to be overridden. (--enable-sim-endian): Allow the target platform's byte order to be overridden. (--enable-sim-inline): Control the inlining of common components. (--enable-sim-bswap): For compatibility, also define WITH_BSWAP. (--enable-sim-warnings): Enable additional GCC compiler checks. * Make-common.in (SIM_ENDIAN, SIM_HOSTENDIAN, SIM_INLINE, SIM_WARNINGS): Add. * sim-n-core.h, sim-n-bits.h, sim-n-endian.h: Rename from sim-*-n.h so that the names are uniq on dos machines * sim-core.c, sim-bits.c, sim-endian.c: Update. Thu Mar 13 12:32:42 1997 Doug Evans * run.c: #include "libiberty.h". (main): New locals sd,no_args,sim_argv. Run buildargv on -a option. Pass argv to sim_open, argv[0] is program name. Update call to sim_set_callbacks. Record result of sim_open, pass to other sim_foo routines. Thu Mar 13 10:24:05 1997 Michael Meissner * callback.c (os_printf_filtered): Do not call exit(1) or print a final newline. Thu Mar 6 15:50:28 1997 Andrew Cagney * callback.c: Add os_flush_stdout and vprintf_filtered callbacks. Route stdout through buffered IO. * callback.c: Add os_flush_stderr, os_write_stderr, os_evprintf_filtered functions to route error output through stderr. * sim-io.h, sim-io.c (sim_io_flush_stderr, sim_io_flush_stdout): Correct return type - should be void. Fri Mar 7 20:14:37 1997 Andrew Cagney * sim-basics.h: Clean up. Many macro's moved to sim-inline.h. * sim-config.h: Ditto. For some options - eg WITH_DEVICES - do not provide a default value as undefined indicates disable code. Thu Mar 6 15:50:28 1997 Andrew Cagney * sim-core.h, sim-core-n.h, sim-core.c: Borrow code from ppc directory. * sim-events.h, sim-events.c: Ditto. * sim-io.h, sim-io.c: Ditto. Tue Mar 4 09:35:56 1997 Andrew Cagney * sim-alu.h (ALU_SUB_CA, ALU*_SUB_CA): New alu operation. * sim-bits.h, sim-bits-n.h, sim-bits.c (LSMASKED*): New macro's extract the tail or least signifiant bits from an integer of the specified size. * sim-bits.h, sim-bits.c: Clean up conditionally compiled #if WITH_TARGET_BITSIZE so that the compilation will fail when an unsupported bitsize value is defined. (INSERTED*): Convert to functions. (EXTRACTED*): Ditto. (SIGN_EXTEND, SEXT): Change to more terse name. Tue Mar 4 09:35:56 1997 Andrew Cagney * sim-inline.h: Allow explicit control over which .c files will be included by their header. * sim-inline.h: Allow explicit control over which .c files use the alternative - REGPARM - parameter passing mechanism. * sim-inline.h, sim-inline.c: Don't attempt to include any of icache.c, idecode.c, semantics.c or support.c. Those names are not generally applicable. Thu Feb 27 10:17:23 1997 Andrew Cagney * sim-bits.c, sim-bits-n.h (new): Split sim-bits.c into two parts in a fashion similar to sim-endian-n. * sim-endian.h: (H_word, L_word, AL_*, VL_*): Extend to include both value and address macro's. Tue Feb 25 18:51:57 1997 Andrew Cagney * sim-alu.h (ALU16_BEGIN, ALU16_SET, ...): Fill in. * sim-endian.h (L_word, H_word): Replace MS2W_4, LS2W_4 with more generic L_word, H_word macro's. Thu Feb 20 18:36:55 1997 Andrew Cagney * sim-basics.h: Borrow code from ppc directory. * sim-bits.c: Ditto. * sim-bits.h: Ditto. * sim-config.h: Ditto. * sim-endian-n.h: Ditto. * sim-endian.c: Ditto. * sim-endian.h: Ditto. * sim-inline.c: Ditto. * sim-inline.h: Ditto. * sim-types.h: Ditto. Wed Feb 19 12:40:50 1997 Andrew Cagney * sim-alu.h (ALU_SET16, ALU_SET32, ALU_SET64, etc): Make available all the ALU size alternatives and then auto-configure a default. * sim-alu.h: Copy ppc/idecode_expression.h. Mon Feb 17 10:44:18 1997 Andrew Cagney * bits.h, bits.c (SIGN_EXTEND32, SIGN_EXTEND64): New functions, sign extend a bit within a value. * sim-endian.h, sim-endian-n.h (offset_N): New functions - return a pointer into the middle of a host word. * sim-endian.h (MS2W_4, LS2W_4): Use this function. Tue Feb 11 13:46:49 1997 Michael Meissner * callback.c: If HAVE_CONFIG_H is defined, include config.h from autoconf. If HAVE_UNISTD_H is defined, include unistd.h to get appropriate definitions of read, write, etc. Add prototype for system. Tue Feb 4 13:24:44 1997 Doug Evans * Makefile.in (libcommon.a): Delete. (callback.o,targ-map.o): Delete, moved to Make-common.in. (gentmap,targ-vals.h,targ-map.c): Likewise. (run-autoconf): Delete. * aclocal.m4 (SIM_AC_OUTPUT): Redo creation of Makefile. (common makefile fragment): Moved back into ... * Make-common.in: Resurrect. * configure.in (AC_LINK_FILES): Delete, unnecessary now. * configure: Regenerated. Fri Jan 31 07:16:49 1997 Doug Evans * aclocal.m4 (SIM_AC_COMMON): Move COMMON_MAKEFILE_FRAG from here. (SIM_AC_OUTPUT): To here. Fri Jan 24 10:37:17 1997 Stu Grossman (grossman@critters.cygnus.com) * aclocal.m4 (COMMON_MAKEFILE_FRAG): Quote a couple of $'s in comments and single quotes. Fixes a problem found on hpux. Thu Jan 23 13:35:03 1997 Stu Grossman (grossman@critters.cygnus.com) * aclocal.m4: Remove Make-common.in from dependencies. * (distclean): Remove targ-vals.def. * aclocal.m4 (SIM_AC_COMMON): Move contents of Make-common.in into here. Makes insertion into makefiles easier. Also, change the way that callback.o, gentmap, targ-vals.h, targ-map.c, targ-map.o, and run are built. They are now built in the individual simulator directories, taking sources from ../common as necessary. This replaces the merging of libcommon.a into linsim.a, which was problematic for the WinGDB build process. * run.c: Include config.h from . instead of ../common. * Make-common.in: Remove. It's no longer necessary. Mon Dec 16 15:02:33 1996 Ian Lance Taylor * Make-common.in (ALL_CLAGS): Put CFLAGS at the end. (.c.o): Put $(ALL_CFLAGS) before the file being compiled. Wed Dec 11 11:30:58 1996 Jim Wilson * run.c (main): Set target_byte_order before call to sim_open. Sun Dec 8 18:22:06 1996 Doug Evans * callback.c: #include (os_error): New function. (default_callback): Add os_error. Mon Nov 25 19:44:35 1996 Doug Evans * Make-common.in (Makefile): Set CONFIG_HEADERS="". * aclocal.m4: Mark the fact that --enable-sim-bswap isn't host specific. (SIM_AC_OUTPUT): Don't build Makefile if CONFIG_FILES="". Wed Nov 20 01:11:04 1996 Doug Evans * run.c: #include ../common/config.h, tconfig.h. (myname): New static global. (main): Recognize new options -a, -c. Also recognize -h if h8/300. Only process -c ifdef SIM_HAVE_SIMCACHE. Only process -p/-s ifdef SIM_HAVE_PROFILE. Parse program name from argv[0] and use in error messages. Pass sim_args to sim_open. Pass prog_args to sim_create_inferior. Add support for incomplete h8/300 termination indicators. (usage): Make more verbose. * aclocal.m4,config.in,tconfig.in,configure.in,configure: New files. * Makefile.in,Make-common.in,callback.c: New files. * nltvals.def,gentmap.c,gentvals.sh: New files. Tue Nov 12 13:34:00 1996 Dawn Perchik * run.c: Include stdarg.h if __STDC__. Tue Oct 15 11:16:31 1996 Jeffrey A Law (law@cygnus.com) * run.c (main): Don't print out anything if the signal number is zero (ie no signal). Tue Oct 15 11:20:44 1996 Michael Meissner * run.c (main): Print out if the program raised a signal. Wed Sep 18 09:52:14 1996 Michael Meissner * run.c (exec_bfd): Rename from sim_bfd, to use the gdb name. (main): Ditto. Tue Sep 17 11:04:50 1996 James G. Smith * run.c (main): Explicitly cast malloc() parameter. Thu Sep 12 11:27:21 1996 Michael Meissner * run.c (sim_bfd): New global to hold the bfd pointer for the executable. (main): Initialize sim_bfd. Fri Dec 15 16:27:49 1995 Ian Lance Taylor * run.c (main): Use new bfd_big_endian macro. Wed Nov 8 15:49:49 1995 James G. Smith * run.c (main): Removed SH specific comments, so source is generic. Also updated to only load relevant sections. Moved sim_open() to after callback attach (to match GDB). * run.1: Removed SH specific comments. Sat Oct 21 12:31:01 1995 Jim Wilson * run.c (main): Always return sigrc at end. Tue Oct 10 12:03:13 1995 J.T. Conklin * run.c (main): Print error diagnostic and exit if bfd_openr() or bfd_check_format() fails. Thu Sep 28 15:40:36 1995 steve chamberlain * run.c, run.1: From sh directory.