Update for 3.8.1.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12993 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/NEWS b/NEWS
index d000c57..bc7c8d4 100644
--- a/NEWS
+++ b/NEWS
@@ -22,44 +22,74 @@
 
 v = verified fixed in 3_8_BRANCH
 m = merged into 3_8_BRANCH
+[390] = fixed in trunk (for 3.9.0)
+[381] = fixed in trunk and in 3_8_BRANCH, for 3.8.1
+[382] = fixed in trunk and needs to be made available for 3.8.2 too
 
-219156    [380] handle statically linked malloc and/or other malloc libs
 252955    [390] Impossible to compile with ccache
-254088    [380] Valgrind should know about UD2 instruction
 274695    [390] s390x: Support "compare to/from logical" instructions (z196)
 275800    [390] s390x: Add support for the ecag instruction (part 1)
-284004 mv [381] == 301281
-289584 m  [381] Unhandled instruction: 0xF 0x29 0xE5 (MOVAPS)
-295808 m  [381] amd64->IR: 0xF3 0xF 0xBC 0xC0 (TZCNT)
-298281 mv [381] wcslen causes false(?) uninitialised value warnings
-301280    [380] == 254088
-301281 mv [381] valgrind hangs on OS X when the process calls system()
-301902    [380] == 254088
-304346    [380] == 219156
-304754    [380] NEWS blows TeX's little mind
-304867 m  [381] implement MOVBE instruction in x86 mode
-304980 m  [381] Assertion 'lo <= hi' failed in vgModuleLocal_find_rx_mapping
-305042 m  [381] amd64: implement 0F 7F encoding of movq between two registers
-305199 m  [381] ARM: implement QDADD and QDSUB
-305321 m  [381] amd64->IR: 0xF 0xD 0xC (prefetchw)
-305513 m  [381] killed by fatal signal: SIGSEGV
-305690 m  [381] DRD reporting invalid semaphore when sem_trywait returns
-                EAGAIN or sem_timedwait returns ETIMEDOUT
-305926 m  [381] Invalid alignment checks for some AVX instructions
 305948    [390] ppc64: code generation for ShlD64 / ShrD64 asserts
 306054    [390] s390x: Condition code computation for convert-to-int/logical
-306310    [390] 3.8.0 release tarball missing some files
-n-i-bz m  [381] shmat of a segment > 4Gb does not work 
-n-i-bz m  [381] simulate_control_c script wrong USR1 sig# on mips
-n-i-bz m  [381] vgdb ptrace calls wrong on mips [...]
-n-i-bz m  [381] Fixes for more MPI false positives
-n-i-bz m  [381] exp-sgcheck's memcpy causes programs to segfault
-n-i-bz m  [381] volatile in stack check, re clang
-n-i-bz m  [381] Incorrect undef'dness prop for Iop_DPBtoBCD and Iop_BCDtoDPB
-306297    [381] disInstr(thumb): unhandled instruction 0xE883 0x000C
-306664    [381] vex amd64->IR: 0x66 0xF 0x3A 0x62 0xD1 0x46 0x66 0xF
-304035    [381] disInstr(arm): unhandled instruction 0xE1023053
-306612    [381] RHEL 6 glibc-2.X default suppressions need /lib*/libc-*patterns
+
+
+
+Release 3.8.1 (19 September 2012)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.8.1 is a bug fix release.  It fixes some assertion failures in 3.8.0
+that occur moderately frequently in real use cases, adds support for
+some missing instructions on ARM, and fixes a deadlock condition on
+MacOSX.  If you package or deliver 3.8.0 for others to use, you might
+want to consider upgrading to 3.8.1 instead.
+
+The following bugs have been fixed or resolved.  Note that "n-i-bz"
+stands for "not in bugzilla" -- that is, a bug that was reported to us
+but never got a bugzilla entry.  We encourage you to file bugs in
+bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
+than mailing the developers (or mailing lists) directly -- bugs that
+are not entered into bugzilla tend to get forgotten about or ignored.
+
+To see details of a given bug, visit
+  https://bugs.kde.org/show_bug.cgi?id=XXXXXX
+where XXXXXX is the bug number as listed below.
+
+284004  == 301281
+289584  Unhandled instruction: 0xF 0x29 0xE5 (MOVAPS)
+295808  amd64->IR: 0xF3 0xF 0xBC 0xC0 (TZCNT)
+298281  wcslen causes false(?) uninitialised value warnings
+301281  valgrind hangs on OS X when the process calls system()
+304035  disInstr(arm): unhandled instruction 0xE1023053
+304867  implement MOVBE instruction in x86 mode
+304980  Assertion 'lo <= hi' failed in vgModuleLocal_find_rx_mapping
+305042  amd64: implement 0F 7F encoding of movq between two registers
+305199  ARM: implement QDADD and QDSUB
+305321  amd64->IR: 0xF 0xD 0xC (prefetchw)
+305513  killed by fatal signal: SIGSEGV
+305690  DRD reporting invalid semaphore when sem_trywait fails
+305926  Invalid alignment checks for some AVX instructions
+306297  disInstr(thumb): unhandled instruction 0xE883 0x000C
+306310  3.8.0 release tarball missing some files
+306612  RHEL 6 glibc-2.X default suppressions need /lib*/libc-*patterns
+306664  vex amd64->IR: 0x66 0xF 0x3A 0x62 0xD1 0x46 0x66 0xF
+n-i-bz  shmat of a segment > 4Gb does not work 
+n-i-bz  simulate_control_c script wrong USR1 signal number on mips
+n-i-bz  vgdb ptrace calls wrong on mips [...]
+n-i-bz  Fixes for more MPI false positives
+n-i-bz  exp-sgcheck's memcpy causes programs to segfault
+n-i-bz  OSX build w/ clang: asserts at startup
+n-i-bz  Incorrect undef'dness prop for Iop_DPBtoBCD and Iop_BCDtoDPB
+n-i-bz  fix a couple of union tag-vs-field mixups
+n-i-bz  OSX: use __NR_poll_nocancel rather than __NR_poll
+
+The following bugs were fixed in 3.8.0 but not listed in this NEWS
+file at the time:
+
+254088  Valgrind should know about UD2 instruction
+301280  == 254088
+301902  == 254088
+304754  NEWS blows TeX's little mind
+
+(3.8.1: 19 September 2012, vex rXXXX, valgrind rXXXXX)