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)
diff --git a/docs/internals/3_8_BUGSTATUS.txt b/docs/internals/3_8_BUGSTATUS.txt
index 02fd633..898a1e7 100644
--- a/docs/internals/3_8_BUGSTATUS.txt
+++ b/docs/internals/3_8_BUGSTATUS.txt
@@ -24,14 +24,14 @@
(B38=2503) 2476 (305042: Implement 0F 7F encoding of movq reg-reg)
(B38=12940) 12887 (n-i-bz: libmpiwrap.c fixes)
(B38=2504) 2477 (305321: Re-enable 'prefetch m8' and 'prefetchw m8')
-(B38=2505) 2478 (295617: Fix LZCNT and TZCNT properly)
+(B38=2505) 2478 (295808: Fix LZCNT and TZCNT properly)
(B38=2506) 2479 (305199: Implement QDADD and QDSUB)
(B38=2507) 2480 (304867: Implement MOVBE in 32 bit mode)
(B38=12941) 12891 (304980: Fix up range checking in ML_(addLineInfo))
(B38=12942) 12892 (305513: Fix skipping of block forms)
(B38=12943) 12893 (298281: Implement a wrapper for wcslen on Linux)
(B38=12944) 12894 (n-i-bz, exp-sgcheck memcpy)
-(B38=12945) 12897/8 (305690: andle non-zero sem_*wait() return values correctly)
+(B38=12945) 12897/8 (305690: Handle non-zero sem_*wait() return values correctly)
(B38=2508) 2499 (305926: Invalid alignment checks for some AVX instructions)
(B38=12946) 12923 (304980: Guard against negative symbol sizes)
(B38=12948) 12947 (n-i-bz: volatile in stack check, re clang)