Memory corruption problems - hw-event list wasn't correct
authorAndrew Cagney <cagney@redhat.com>
Thu, 4 Jun 1998 06:33:02 +0000 (06:33 +0000)
committerAndrew Cagney <cagney@redhat.com>
Thu, 4 Jun 1998 06:33:02 +0000 (06:33 +0000)
unlinking/freeing events.  Couldn't handle the removal of a hw-event
that just been scheduled.

sim/common/ChangeLog
sim/common/Make-common.in

index f60a1c8..50176e8 100644 (file)
@@ -1,3 +1,25 @@
+Thu Jun  4 13:53:54 1998  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * hw-events.c (create_hw_event, delete_hw_event): Delete.
+       (hw_event_queue_schedule, hw_event_queue_deschedule,
+       bounce_hw_event): Fix hw-event memory corruptions found by Joyce
+       Janczyn.
+
+       * hw-alloc.h (HW_NZALLOC): Define.
+
+       * Make-common.in (test-hw-events): Add target for testing the
+       hw-event code.
+
+Mon May 25 21:11:26 1998  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * Make-common.in (SIM_COMMON_HW_OBJS): Add hw-handles.o and
+       hw-instances.o.
+       hw-handles.c, hw-instances.c, hw-handles.h, hw-instances.h: New
+       files.
+       * hw-main.h: Include hw-handles.h, hw-instances.h.
+       * hw-base.h ({create,delete}_hw_{handles,instances}_data): Declare
+       * hw-base.c (hw_create, hw_delete): Call same.
+       
 Mon May 25 18:55:35 1998  Andrew Cagney  <cagney@b1.cygnus.com>
 
        * dv-core.c: Include hw-main.h and sim-main.h.
index b92486c..4d950b8 100644 (file)
@@ -143,11 +143,13 @@ SIM_EXTRA_CLEAN =
 
 SIM_COMMON_HW_OBJS = \
        hw-alloc.o \
+       hw-base.o \
        hw-device.o \
        hw-events.o \
+       hw-handles.o \
+       hw-instances.o \
        hw-ports.o \
        hw-properties.o \
-       hw-base.o \
        hw-tree.o \
        sim-hw.o \
 
@@ -319,8 +321,8 @@ hw-alloc_h = $(srccom)/hw-alloc.h
 hw-base_h = $(srccom)/hw-base.h
 hw-device_h = $(srccom)/hw-device.h
 hw-events_h = $(srccom)/hw-events.h
-hw-handles_h = #$(srccom)/hw-handles.h
-hw-instances_h = #$(srccom)/hw-instances.h
+hw-handles_h = $(srccom)/hw-handles.h
+hw-instances_h = $(srccom)/hw-instances.h
 hw-ports_h = $(srccom)/hw-ports.h
 hw-properties_h = $(srccom)/hw-properties.h
 hw-tree_h = $(srccom)/hw-tree.h
@@ -488,6 +490,10 @@ hw-device.o: $(srccom)/hw-device.c $(hw_main_headers)
 hw-events.o: $(srccom)/hw-events.c $(hw_main_headers) $(sim_main_headers)
        $(CC) -c $(srccom)/hw-events.c $(ALL_CFLAGS)
 
+test-hw-events: $(srccom)/hw-events.c libsim.a
+       $(CC) $(ALL_CFLAGS) -DMAIN -o test-hw-events$(EXEEXT) \
+               $(srccom)/hw-events.c libsim.a $(EXTRA_LIBS)
+
 hw-instances.o: $(srccom)/hw-instances.c $(hw_main_headers)
        $(CC) -c $(srccom)/hw-instances.c $(ALL_CFLAGS)