Fix doco on enable-sim-inline.
[platform/upstream/binutils.git] / sim / common / ChangeLog
index e859b9a..2c0b780 100644 (file)
@@ -1,3 +1,426 @@
+Wed Aug 27 18:13:22 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+       * config.in: Ditto.
+
+Wed Aug 27 18:11:30 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * aclocal.m4 (enable-sim-warnings): Remove comment stating
+       that option does not apply to certain files.
+
+Wed Aug 27 15:13:04 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * sim-bits.h (LSBIT8, LSBIT16, LSBIT32, LSBIT64, LSBIT, MSBIT8,
+       MSBIT16, MSBIT32, MSBIT64, MSBIT): New macros - single bit as
+       offset from MSB/LSB.
+
+       * sim-endian.h (A1_8, A2_8, A4_8, A1_4, A2_4, A1_2): New macro,
+       access address of sub word quantity of a hosts 16, 32, 64 bit word
+       type.
+       (V1_2, V1_4, V2_4, V1_8, V2_8, V4_8): Ditto for values.
+       (U8_1, U8_2, U8_4, U4_1, U4_2, U2_1): Ditto for set of values.
+       (V2_H1, V2_L1, V4_H2, V4_L2, V8_L4, V8_H4): Given N byte argument,
+       return N*2 byte value with argument in Hi/Lo word.  Renamed from
+       V1_H2, V1_L2, V2_H4, V2_L4, V4_H8, V4_L8.
+       
+       * sim-alu.h (ALU32_HAD_OVERFLOW): Use 64 bit mask not 32bit.
+       (ALU16_HAD_CARRY, ALU32_HAD_CARRY, ALU16_HAD_OVERFLOW): Use MSBIT
+       so that bit offset is explicit.
+
+Wed Aug 27 11:55:35 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * sim-utils.c (sim_analyze_program): Add prog_name argument.
+       Update STATE_PROG_BFD when needed with a dup'd copy of the
+       program.
+
+       * sim-config.c (sim_config): Delete ABFD argument, use
+       STATE_PROG_BFD directly.
+
+Tue Aug 26 12:55:26 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * run.c (main): Pass the open ABFD to sim_create_inferior.
+       
+       * nrun.c (main): Determine prog_bfd.  Pass to sim_create_inferior
+       and sim_load.
+       (bfd.h): Include.
+       
+       * sim-hload.c (sim_load): New file. Implement generic sim_load for
+       hardware only simulator targets.
+
+       * Make-common.in (sim-hload.o): Add rule.
+
+Wed Aug 27 09:51:42 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * configure: Regenerated to track ../common/aclocal.m4 changes.
+       * config.in: Ditto.
+
+Mon Aug 25 12:11:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * 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  <dje@canuck.cygnus.com>
+
+       * 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  <dje@canuck.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * nrun.c (main): Verify the structure returned before using it.
+
+Wed Jun  4 11:44:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b2.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * sim-engine.h: Update below so that it is using an enumerated
+       type.
+
+Thu May 22 09:12:16 1997  Gavin Koch  <gavin@cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b2.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * sim-fpu.c (is_ufpu_number): Comment out - currently unused.
+
+Mon May 19 11:23:03 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * callback.c (os_open): Type of arg flags is int.
+
+Fri May 16 22:26:43 1997  Michael Meissner  <meissner@cygnus.com>
+
+       * 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  <manson@charmed.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
+
+       * 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  <cagney@b1.cygnus.com>
 
        * sim-core.c (sim_core_find_mapping): Call engine_error not