
n-i-bz  = not in bugzilla
pending = is scheduled to be fixed (or at least considered) on this branch
wontfix = will not fix on this branch
many    = fix composed of many commits
sse3fix = fixed by the SSE3 commits
[W]     = waiting for feedback from bug reporter

PRI: 32  = fix this for 3.2.2
     Vfd = fix has been verified on 3.2.X branch
     s93 = possible SuSE 9.3 amd64 assembler bug

Add regtest for #149519.


n-i-bz  r6783/6784 x86_linux_REDIR_FOR_index() broken (Fri Jul 27)

n-i-bz  vx1794     priv/guest-amd64/toIR.c:2512 (dis_op2_E_G): Assertion
                   `0' failed.  (Michael Abshoff, users@, Sat Aug 11)

n-i-bz  vx1786,r6791  x86 INT insn (29 June) (INT (0xCD) 0x40 - 0x43)

n-i-bz  r7195      Add sys_utimensat system call for Linux x86 platform

 79844  fixed      Helgrind complains about race condition which does not exist

82871   fixed      Massif output function names too short
89061   fixed      Massif: ms_main.c:485 (get_XCon): Assertion `xpt->max_chi...
92615   fixed      Write output from Massif at crash
95483   fixed      massif feature request: include peak allocation in report

112163  fixed      MASSIF crashed with signal 7 (SIGBUS) after running 2 days

119404  r7175      problems running setuid executables (partial fix)

121629  fixed      add instruction-counting mode for timing

124478  glibc-fix  memcheck reports uninitialized bytes on
                   timer_create() while it should not

127371  fixed      java vm giving unhandled instruction bytes: 
                   0x26 0x2E 0x64 0x65

128359  glibc-fix  Please suppress the uninitialized bytes report 
                   on getifaddrs() (glibc 2.3.3)

129937  fixed      ==150380

129576  fixed      Massif loses track of memory, incorrect graphs

132132  fixed      massif --format=html output does not do html entity escaping

132950  wontfix    Heap alloc/usage summary

133962  vx1792     unhandled instruction bytes: 0xF2 0x4C 0xF 0x10

134990  fixed      use -fno-stack-protector if possible

136382  ==134990

137396  fixed :-)  I would really like helgrind to work again...
137714  vx1787     x86/amd64->IR: 0x66 0xF 0xF7 0xC6 (maskmovq, maskmovdq)

141631  fixed      Massif: percentages don't add up correctly
142706  fixed      massif numbers don't seem to add up
143062  fixed      massif crashes on app exit with signal 8 SIGFPE
144453  fixed      (get_XCon): Assertion 'xpt->max_children != 0' failed.

145559  r7168      valgrind aborts when malloc_stats is called
145609  r7191      valgrind aborts all runs with 'repeated section!'
145622  r7183      --db-attach broken again on x86-64
145837  fixed      ==149519
145887  r7193      PPC32: getitimer() system call is not supported (patch)

146252  fixed      ==150678
146456  fixed      (update_XCon): Assertion 'xpt->curr_space >= -space_delta'...
146701  fixed      ==134990
146781  r7169      Adding support for private futexes

147325  r7170      valgrind internal error on syscall (SYS_io_destroy, 0)
147498  vx1795     amd64->IR: 0xF0 0xF 0xB0 0xF (lock cmpxchg %cl,(%rdi))
147628  vx1796     SALC opcode 0xd6 unimplemented
147825  r6793      crash on amd64-linux with gcc 4.2 and glibc 2.6 (CFI)

148096             VALGRIND_MALLOCLIKE_BLOCK not working correctly?
148174  r6855      Incorrect type of freed_list_volume causes
                      assertion with large memory allocations
148254  marginal   crash writing global var on ppc64 from instrumentation fn
148363  marginal   amd64->IR: 0x65 0x4C 0x8B 0x1C (mov %gs:0x10,%r11)
148447  vx1776     x86_64 : new NOP codes: 66 66 66 66 2e 0f 1f
148742  cantrepro  Leak-check fails assert on exit
148984  invalid    unhandled instruction bytes: 0xF3 0xDD 0x6 0xF3

149182  vx1784/5   PPC Trap instructions not implemented in valgrind
149838  marginal   x86->IR: 0xF 0xAE 0xD 0xE0 (FXRSTOR ?)
149504  fixed      Assertion hit on alloc_xpt->curr_space >= -space_delta
149519  r6813/4    ppc32: V aborts with SIGSEGV on execution of a signal handler
149878  marginal   add (proper) check for calloc integer overflow
149892  fixed      ==137714

150044  r7171      SEGV during stack deregister
150045  fixable??  Valgrind doesn't recognize pthread stack as a stack
                   when context switching
150380  r7191      dwarf/gcc interoperation (dwarf3 read problems)
150408  fixed      ==148447
150678  vx1798     priv/guest-amd64/toIR.c:3741 (dis_Grp5): Assertion
                   `sz == 4' failed when running Mono on x86_64
150681             Check definedness of client request arguments

151209  r7028      V unable to execute programs for users with UID > 2^16
151570  cantrepro  Bogus "Conditional jump ..." error with bit field (3.1.1)
151886  PRIO       Suppression entry Memcheck:Param ignored
151908  stalled    --db-attach unimplemented on ppc64
151935  bogus      --db-command= not parsed properly in .valgrindrc
151938  r7192      help on --db-command= misleading

152022  r7147      subw $0x28, %%sp causes assertion failure in memcheck
152357  vx1799     inb and outb not recognized in 64-bit mode
152501  vx1800     vex x86->IR: 0x27 0x66 0x89 0x45 (daa) 
152818  vx1801     vex x86->IR: 0xF3 0xAC 0xFC 0x9C (rep lodsb)


---------- Bugs reported after (in) 3.2.3 --------------------------

//// possibly fix these for a 3.2.4 ?

TRUNK   32BRANCH  PRI   BUG#   WHAT

r6566    r6710     32 n-i-bz   AT_FDCWD support for openat()

r6575    r6693     32 n-i-bz   walk_type: unhandled base type 0xe PACKED
r6692    r6694     32 n-i-bz   libmpiwrap.c: {REAL,INTEGER}{4,8}, 2INT

pending  pending      140939   --track-fds reports leakage of
                               stdout/in/err and doesn't respect -q

pending  pending      141366   Add sys_vserver support to valgrind (w/ patch)

pending  pending      140522   valgrind 3.2.2 libmpiwrap: MPI_STATUS_IGNORE
                               and MPI_STATUSES_IGNORE not supported
                               and makes a valid MPI program crash.

vx1735   vx1750    32 141790   Missing amd64 x87 insns (FCOM, FCOMPP)
vx1761   vx1762    32 n-i-bz   Missing amd64 x87 insns (FCOMP)

r6608    r6723     32 n-i-bz   intercept for __memmove_chk

r6593    r6711     32 139363   callgrind: fix --collect-systime=yes
                               with "no instrumentation" mode

r6601    r6712     32 n-i-bz   callgrind: Fix threads display
                               of "callgrind_control -s"

r6734    r6740     32 n-i-nz   Callgrind: improve documentation

r6622    r6713     32 n-i-bz   .eh_frame crud for m_trampoline.S fns

r6630    pending      n-i-bz   add additional ptrace reason codes

r6631    pending      142186   add I2C ioctl support
r6830    r6831        n-i-bz   division by zero in massif verbose output

r7028    pending      151209   valgrind unable to execute programs for users with UID > 2^16   

XXX Ashley logfile qualifiers in coredumps patch

r6612    r6718     32 142228   RedHat8: complaint of elf_dynamic_do_rela
r6646    r6718     32 142229   RedHat8: unexpected "write(buf) points
                               to uninitialised byte(s)" (partial fix)

vx1736   vx1751    32 133984   int3 (x86) support
vx1741   vx1751    32 133984   int3 (amd64) support

r6599    r6714     32 n-i-bz   Correctly handle DW_CFA_def_cfa_sf

vx1737   vx1752    32 n-i-bz   x86->IR: 26 2E 64 65 90 %es:%cs:%fs:%gs:nop

vx1739   vx1753    32 n-i-bz   ppc64 iselWordExpr_AMode fix

r6641    r6715     32 n-i-bz   handle sys_ioprio_set on amd64-linux

vx1740   vx1754    32 n-i-bz   handle REX.W fsqrt

r6721    r6724     32 144112   undefined reference to __stack_chk_fail 

possible false errors on amd64 cmpq/jae, cmpq/jbe

r6649    r6716     32 n-i-bz   64-bit allocation counts?

r6665    r6666        142488   ~/.valgrindrc is loaded twice if CWD==HOME

r6656    r6717        n-i-bz   Clarify the "out of memory" message.

6655/6657 SSE3 feature tests for regtests

vx1742/3 vx1755  32   143079,142279
                               fix some asserts in x86/amd64 front ends

vx1748   vx1757  32   143354   return nodecode instead of panic or 
                               assert failures
== 142279 
== 143079


142104  pinsrw and pmovmskb with 64-bit regs

r6668    r6669        142197   Tool-prefixed options like
                               --massif:alloc-fn=foo are broken

r6671    r6672        142491   Maximise use of alloc_fns array

vx1747   vx1756    32 143817   Unused bitfield pad bits confuse memcheck
                   XXXX check that x86/amd64 backends can deal with Shl8

vx1749   vx1758    32 143907   sahf/lahf on amd64

r6728    r6279     32 n-i-bz   ppc-linux startup stack overflow fix


XXX increase #segs and #segnames from 5000/1000 ?

vx1759,r6722
         vx1760,r6725 n-i-bz   gcc-4.2 build fixes

XXX 143924: --db-attach=yes and --trace-children=yes

r6745    r6743     32 n-i-bz   Documentation overhaul

r6746/7/8  pending    n-i-bz   Improve callgrind documentation

r6749    pending      n-i-bz   callgrind_annotate: Fix a warning

r6751    pending      n-i-bz   callgrind: fix build with srcdir != builddir

r6744/53 r6762     32 n-i-bz   valgrind: glibc 2.6 support

r6756    r6755     32 n-i-bz   handle MPI_DOUBLE_PRECISION

r6758    r6760     32 n-i-bz   handle a whole bunch of MPI2 types

r6861    pending      149963   fix behavior with callgrind runs of another user

//// maybe do not fix in 3.2 branch

64 bit DWARF in unwind (r6610) (definitely merge (??))

get rid of kludge_then_addDiCfSI (r6611; do not merge)

r6630    pending   ??          ptrace extra reason codes 
r6631    pending   ?? 142186   dd support for some I2C ioctls.

r6706    pending   no n-i-bz   memcheck: wrap getenv/setenv/putenv

Christoph Bartoschek m_hashtable.c fixes, dev@, 11 July
Christoph Bartoschek Superblock slowness test case, users@, 11 July

3.2.4 criteria: FC7 runs, SuSE 10.3a? runs, gcc-4.2 works OK


------- Bugs reported and fixed in 3.2.3 ------

TRUNK   32BRANCH  PRI   BUG#   WHAT

vx1731   vx1732    32 n-i-bz   vex: the `impossible' happened:
                               eqIRConst (users, 25 Jan 07)
                               [Regression from 3.2.1]
r6553,6  r6558     32 n-i-bz   DirkM __stpcpy_chk intercept


---------- Bugs reported prior to, and not fixed in, 3.2.3 ---------

TRUNK   32BRANCH  PRI   BUG#   WHAT

pending  pending      124478   memcheck reports uninitialized bytes on 
                               timer_create()

pending  pending      128359   Please suppress the uninitialized bytes
                               report on getifaddrs() (glibc 2.3.3)

pending  wontfix      133154   crash when using client requests to 
                               register/deregister stack

pending  pending      133327   support for voicetronix ioctl (w/patch)

pending  pending      133679   Callgrind does not write path names to 
                               sources with dwarf debug info
                               (dirnames)

pending  pending  s93 133962   amd64->IR: 0xF2 0x4C 0xF 0x10 (rex64X ...)

pending  pending  s93 135023   amd64->IR: 0x49 0xDD 0x86 0xE0 
                               (rex64Z fldl 0xe0(%r14))

pending  pending  s93 136529   Unhandled instruction error for legal
                               instruction

Signal race condition (users list, 13 June, Johannes Berg)

Unrecognised instruction at address 0x70198EC2 (users, 19 July, Bennee)

pending  pending      133984   unhandled instruction bytes: 
                               0xCC 0x89 0xEC 0x31 (int3)

pending  pending      134138   Stale default library used after reconfiguring

pending  pending      134219   Launcher defaults to ppc32-linux even
                               with --enable-only64bit

pending  pending      134316   Callgrind does not distinguish between
                               parent and child

XXX: check status of Core2 cpuid code

pending  pending      135026   incorrect complaint that shm_nattch is 
                               uninitialized

pending  pending      135264   ppc->IR: dcbzl instruction missing

pending  pending      136401   off-by-one in ESP checking

pending  pending      n-i-bz   amd64 INCW-CondZ (André Wöbbeking, 
                               users, Oct 19) (== Espindola #1)

pending  pending      137830   crash upon delivery of SIGALRM (NPTL)
                               (can't reproduce)

pending  pending      138019   valgrind memcheck crashes with SIGSEGV

pending  pending      139076   valgrind VT_GETSTATE error

pending  pending      138702   amd64->IR: 0xF0 0xF 0xC0 0x90
                               (lock xadd %dl,0xb5(%rax))

v6632    pending      139300   support linux key management system calls

------- Bugs reported and fixed in 3.2.2 ------

TRUNK   32BRANCH  PRI   BUG#   WHAT

vx1709   vx1710   Vfd 129390   ppc?->IR: some kind of VMX prefetch (dstt)
vx1722   vx1724   Vfd 129968   amd64->IR: 0xF 0xAE 0x0 (fxsave)
                      ==134319
r6242?   r6438    Vfd 133054   'make install' fails with syntax errors
                      ==118903
r6481    r6480    Vfd 132998   startup fails in when running on UML
                               (/proc/self/map start==end problem)
r6439    r6440    Vfd 134207   pkg-config output contains @VG_PLATFORM@
vx1660   vx1690   32  n-i-bz   %eflags rule for SUBL-CondNLE
v6084    v6421    Vfd 134727   valgrind exits with "Value too large
                               for defined data type"
vx1667   vx1691   Vfd n-i-bz   ppc32/64: support mcrfs
v6211    v6422    Vfd n-i-bz   Cachegrind: Update cache parameter detection
vx1672   vx1692   Vfd 135012   x86->IR: 0xD7 0x8A 0xE0 0xD0 (xlat)
                      ==125959
vx1673/4 vx1693   Vfd 126147   x86->IR: 0xF2 0xA5 0xF 0x77 (repne
                               movsw) w/test
vx1676   vx1694/6 Vfd 136650   amd64->IR: 0xC2 0x8 0x0
vx1679   vx1695   Vfd 135421   x86->IR: unhandled Grp5(R) case 6 [ok]
vx1675   vx1697   32  n-i-bz   x86 COPY-CondP (Espindola #2, dev, Nov 1)
vx1677   vx1704   Vfd n-i-bz   IR comments
vx1678   vx1698   Vfd n-i-bz   jcxz (x86) (users, 8 Nov)
r6341    r6424    Vfd n-i-bz   ExeContext hashing fix
r6356    r6425    Vfd n-i-bz   Dwarf CFI 0:24 0:32 0:48 0:7 (Nov 8)
r6365    r6423    Vfd n-i-bz   Drepper: obscure Cachegrind simulation bug
r6367    r6423    Vfd n-i-bz   Same fix as r6365, but for Callgrind simulation.
r6371    r6426    Vfd n-i-bz   libmpiwrap.c: fix handling of MPI_LONG_DOUBLE
r6374    r6427    Vfd n-i-bz   make User errors suppressible (XXX: DOCS!)
r6377/8  r6428    Vfd 136844   corrupted malloc line when using 
                    ==138507   --gen-suppressions=yes
vx1686   vx1701   Vfd n-i-bz   Reg-alloc speedups
r6382/3  r6429    Vfd n-i-bz   Fix confusing leak-checker flag hints
r6384    r6385    Vfd n-i-bz   Support recent autoswamp versions
r6291    r6430    Vfd n-i-bz   ppc32/64 dispatcher speedups
vx1670/1 vx1699   Vfd n-i-bz   ppc64 fe rld/rlw improvements
vx1669   vx1700   Vfd n-i-bz   ppc64 be imm64 improvement (hdefs.c only)
r6459/60
         r6457/8/61
                  Vfd 136300   support 64K pages on ppc64-linux
                      == 139124
r6404/5  r6431    Vfd n-i-bz   fix ppc insn set tests for gcc >= 4.1
vx1711   vx1712   Vfd 137493   x86->IR: recent binutils no-ops
vx1702/r6441
         vx1703/r6442
                  Vfd 137714   x86->IR: 0x66 0xF 0xF7 0xC6 (maskmovdqu)
r6444    r6445    Vfd 138424   "failed in UME with error 22"
                                (at least produce a better error msg)
                      == 138856
r6410    r6432    Vfd 138627   Enhancement of prctl ioctl
r6411    r6433    Vfd 138896   usb ioctl handling
                      == 136059  
vx1705   vx1706   Vfd 139050   ppc32->IR: mfspr 268/269 instructions 
                               not handled
vx1707/r6447
         vx1708/r6448
                  Vfd n-i-bz   ppc32->IR: lvxl/stvxl
r6462/3  r6464/5  32  n-i-bz   glibc-2.5 support
r6469    r6470    32  n-i-bz   memcheck: provide replacement for mempcpy
r6479    r6498    32  n-i-bz   memcheck: replace bcmp in ld.so
vx1716/r6475
         vx1717/r6476
                  32  n-i-bz   Use 'ifndef' in VEX's Makefile correctly
r6473    r6474    32  n-i-bz   Supps for MVL 4.0.1 on ppc32-linux
r6477    r6478    32  n-i-bz   libmpiwrap.c: Fixes for MPICH
r6495    r6497    32  n-i-bz   More robust handling of hinted client mmaps
r6526    r6528    32  139776   Invalid read in unaligned memcpy with 
                               Intel compiler v9
r6502    r6503    32  n-i-bz   Generate valid XML even for very long
                               fn names
r6514    r6515    32  n-i-bz   Don't prompt about suppressions for unshown
                               reachable leaks (tests/nanoleak2.c)
r6505    r6504    32  n-i-bz   ifort 9.1 on amd64 suppression
vx1725   vx1727   32  139910   amd64 rcl is not supported
r6510    r6513    32  n-i-bz   unwinder: DW_CFA_undefined
r6509    r6512    32  n-i-bz   fix stack unwinding w/ icc9 generated
                               code on amd64
vx1728   vx1729   32  n-i-bz   fix false uninit-value errs in icc9
                               generated FP code
r6523    r6527    32  n-i-bz   reduce extraneous frames in libmpiwrap.c
r6530    r6531    32  n-i-bz   support pselect6 on amd64-linux


------- Bugs reported and fixed in 3.2.1 ------

SSE3 commits: vx1635,1636, v5997

TRUNK   32BRANCH  PRI   BUG#   WHAT

v5974    v6013        n-i-bz   Expanding brk() into last available page asserts
                               and VT_* ioctls
v5973    v6014        n-i-bz   ppc64-linux stack RZ fast-case snafu
v5978    v6015        n-i-bz   'c' in --gen-supps=yes doesn't work
v5986    v6016        n-i-bz   VG_N_SEGMENTS too low (users, 28 June)
v6030    v6031        n-i-bz   VG_N_SEGNAMES too low (Stu Robinson)
sse3fix  vx1646   Vfd 106852   x86->IR: fisttp (SSE3)
v5968    v6017        117172   FUTEX_WAKE does not use uaddr2
v5970    v6018        124039   Lacks support for VKI_[GP]IO_UNIMAP*
vx1639   vx1649   Vfd 127521   amd64->IR: 0xF0 0x48 0xF 0xC7 (cmpxchg8b)
vx1632/v5987      Vfd
         vx1643/v6032 128917   amd64->IR: 0x66 0xF 0xF6 0xC4 (psadbw,SSE2)
v5988    v6019        129246   JJ: ppc32/ppc64 syscalls, w/ patch
sse3fix  vx1646   Vfd 129358   x86->IR: fisttpl (SSE3)
v6003,4  v6025    Vfd 129866   cachegrind/callgrind causes executable to die
v5979    v6021        130020   Can't stat .so/.exe error while reading symbols
wontfix  wontfix      130358   Inconsistent 80-bit floats on x86
v5983    v6022        130388   Valgrind aborts when process calls malloc_trim()
v5989    v6020        130638   PATCH: ppc32 missing system calls
vx1633   vx1644       130785   amd64->IR: unhandled instruction "pushfq"
vx1634   vx1645       131481:  (HINT_NOP) vex x86->IR: 0xF 0x1F 0x0 0xF
                      131298   ==131481
vx1638   vx1648   Vfd 132146   Programs with long sequences of bswap[l,q]s
vx1655   vx1657   Vfd 132918   vex amd64->IR: 0xD9 0xF8 (fprem)
vx1652,3 vx1654   Vfd 132813   Assertion at priv/guest-x86/toIR.c:652 fails
v6040    v6041        133051   'cfsi->len > 0 && cfsi->len < 2000000' failed
v6036    v6037        132722   valgrind header files are not standard C
v5990    v6023        n-i-bz   Livelocks entire machine (users list,
                               17 June, Timothy B. Terriberry)
v5991,4,6 v6024       n-i-bz   Graydon leak checking fix
v5992,6006 wontfix    n-i-bz   Graydon mempool trim patch
v6001    v6026        n-i-bz   Alex Bennee mmap problem (9 Aug)
v5999    v6027        n-i-bz   BartV: Don't print more lines of a
                               stack-trace than were obtained.
v6010    v6028        n-i-bz   ppc32 SuSE 10.1 redir
v6011    v6029        n-i-bz   amd64 padding suppressions
vx1637   vx1647       n-i-bz   amd64 insn printing fix.
vx1640,1 vx1650       n-i-bz   ppc cmp reg,reg fix
vx1642   vx1651       n-i-bz   x86/amd64 iropt e/rflag reduction rules
v6051    v6048        n-i-bz   SuSE 10.1 (ppc32) minor fixes
vx1656   vx1658   Vfd 133678   amd64->IR: 0x48 0xF 0xC5 0xC0 (pextrw?)
v6049    v6054    Vfd 133694   aspacem assertion: aspacem_minAddr <= holeStart
v6043    v6055        n-i-bz   callgrind: fix warning about malformed
                               creator line 
v6044    v6056        n-i-bz   callgrind: fix annotate script for data 
                               produced with --dump-instr=yes
v6045,   v6057        n-i-bz   callgrind: fix failed assertion when
 v6053                         toggling instrumentation mode
v6064    v6067        n-i-bz   callgrind_annotate: fix warnings with
                               "--collect-jumps=yes"
v6059    v6060        n-i-bz   docs path hardwired (Dennis Lubert)
v6068    v6066        n-i-bz   Yet another X padding suppression
