-Release 1.0.1
-~~~~~~~~~~~~~
+This file contains a detailed log of bugs fixed in the stable (1.0.X)
+branch, so you can see the changes from version to version. Also see
+the end of this file, which has a list of the bugs known in, but not
+fixed in, the current release.
+
+
+Release 1.0.2 (6 Sept 02)
+~~~~~~~~~~~~~~~~~~~~~~~~~
+The main emphasis of 1.0.2 is to fix stability problems in the cache
+profiler (cachegrind). We now believe to be as stable as valgrind
+itself, so that if a program runs on valgrind it should also run on
+cachegrind. Hopefully this will mean that 1.0.2 is a more stable base
+for Josef Weidendorfer's kcachegrind visualisation tool and call-graph
+patch. Specific fixes are:
+
+- Do not abort execution if cache simulating entire trees of processes
+ causes conflicts over the logfile cachegrind.out. This will be
+ fixed properly in future stable branches; this fix is a bit of a
+ kludge -- creation of cachegrind.out is skipped if opening it
+ for writing results in an error.
+
+- cachesim: handle FPU insns with 28 and 108 byte data sizes
+ (fsave, frestore, fstenv, fldenv). Pretends they are 16 byte
+ transactions -- a bit of a hack but these should be rare.
+
+- Improve accuracy of cache simulation for REP-prefix instructions.
+ They are now modelled as a single I-cache transaction for the whole
+ thing, regardless of the number of repeats. This seems a plausible
+ model for what most contemporary CPUs do.
+
+- Implement primary opcode 0x10 (ADC Gb,Eb).
+
+- Fix bug causing incorrect warning:
+ valgrind's libpthread.so: libc_internal_tsd_get: dubious key 2
+
+- valgrind's strcmp() implementation (to clients) treated char as
+ signed whereas the libc implementation it replaces treats char as
+ unsigned. Fixed! God knows how anything much ever worked before
+ now.
+
+- Implement ioctl TIOCLINUX.
+
+- Include %defattr(-,root,root) in valgrind.spec.in so that the
+ ownership of the files is correct even if a non-root user builds the
+ RPM package.
+
+
+Release 1.0.1 (27 August 02)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thank you to the hundreds of people who sent feedback, patches and/or
bug reports for version 1.0.0. I have fixed the following bugs
(somewhat over half the total reported):
- Add this file!
-The following bugs were reported in 1.0.0 and are NOT FIXED in 1.0.1,
+
+Bugs known but not fixed in 1.0.2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The following bugs were reported and are NOT FIXED in 1.0.2,
due to one or more of the following: lack of time, technical
difficulty, or the report is really a feature request, in which case
it will not make it into the 1.0.X branch. Anyway, for the record:
- A few inexplicable segfaults.
- Probably a few more; those are the main ones.
+
+- There's some kind of problem with missing debug info (line numbers,
+ especially) with gcc-3.2 generated code. Further info about this
+ would be appreciated.
+
+- I'm getting reports of this assertion failure
+ valgrind: vg_scheduler.c:2270 (do_pthread_mutex_lock):
+ Assertion `vgPlain_is_valid_tid((ThreadId)mutex->__m_owner)' failed.
+
+ One person reported that ...
+ The "bad" thing I did was to use fprintf(stderr) in a child process,
+ right after fork(). The file descriptors stdout and stderr were
+ still open.
+
+ Further info on this would be much appreciated.