
Created Mon Sep 8 13:22:16 CEST 2014.  All new bugs after this point
go in here.

==================

Bugs that didn't make 3.10.0, that might be considered for 3.10.1

335618  mov.w rN, pc/sp (ARM32)

327427  ifunc crash when symbols are discarded
330321  debuginfo readers complain about DT_AT_signature

330147  libmpiwrap PMPI_Get_count
326487  child of debugged process exits without becoming zombie
338781  OSX: unable to read debug info

arm64 critical regtest fails:
  getregset.stderr.out   sys 117, ptrace
  proc-auxv no auxv?
  memcheck/tests/linux/stack_changes asserts
  sigaltstack.stderr.out segfaults -- host seems broken too
     recursive signal delivery (!)

==================

Commits on the trunk that should be considered for merging to 3.10.1
(write here :-)

(mjw comments from 30 Sept 2014)

  there are some mips fixes that might be interesting, but I don't
  have a mips setup atm.

  There were patches for the PTRACE_GETSIGINFO issue, which would be
  nice to get thing to build out of the box on some older setups

  silly, but ugly: Add missing ]] to terminate CDATA. (r14561).

  r14559 maybe (Fix wrong checking of ARG2 of getrlimit).

  Nice to have (but ask Philippe) #339156/r14556. 

  Maybe r14549 (DRD/arm, ask Bart?). 

  ppc/ stfdpx #339020/r14545

  The lxvw4x would be nice, but I think the fix is not correct yet
  (see endian issue I reported today)

  Bug 339182 Vex r2960

  Bug 339336 Vex r2957

  Check Vex r2953 (are those real bugs or just cleanup?)

  (consider): backwards-compatibility-special-sequence-on-ppc32
  https://bugs.kde.org/show_bug.cgi?id=278808#c6

==================

New bugs reported in 3.10.0

338731  ppc testsuite does not build in case compiler does not
        support -maltivec

249435  Analyzing wine programs with callgrind triggers a crash

211529  valgrind doesn't show proper call stacks for programs compiled
        by newer versions of visual c++

339020  ppc64:  memcheck/tests/ppc64/power_ISA2_05 failing in nightly build

339156  gdbsrv not called for fatal signal

339160  Running signal handler with alternate stack allocated on current 
        stack crashes callgrind

339163  Valgrind 3.10.0 fails to mmap() hugepages because it requests
        4K alignment

339182  POWER AvSplat ought to load destination vector register
        with 16/16 bytes stored prior.

339215  Valgrind 3.10.0 contain 2013 in copyrights notice

339218  AVX2 binaries compiled with the Intel compiler fail to
        run under Valgrind 3.10.0

339288  support Cavium Octeon MIPS specific BBIT*32 instructions

339330  Feature request: Add support for C++11's std::atomic

339336  PPC64 store quad instruction (stq) is not supposed to
        change the address register contents

339405  Adds ability to invoke a script in order to determine a
        log-file name for a child being forked

339416  unhandled instruction bytes 0xC5 0xF1 0xEF 0xC9

339424  Full support of KVM ioctl

339433  power lxvw4x instruction uses 4 32 byte loads

339499  memcheck does not always detect access beyond mmaped page

339537  two threads hang in pthread_spin_lock and pthread_spin_unlock

339542  Experiences with compiling valgrind with ICC

339563  The DVB demux DMX_STOP ioctl doesn't have a wrapper

339566  valgrind reports memory leaks at glibc's getdelim()

339596  vex amd64->IR: 0x8F 0xE8 0x78 0xCD 0xC1 0x4 0xC5 0xF9

339605  vgpreload_helgrind-arm-linux.so is not liked to libc.so 
        and can't find sched_yield, pthread_self and so on

339636  Use fxsave64 and fxrstor64 mnemonics instead of rex64 prefix

339645  linux_dirent has no place in syswrap-generic.c

339677  L3 cache size is not supported

339706  [PATCH] add TIOCSIG annotation on linux

339721  assertion failed in m_debuginfo/readdwarf3.c when parsing
        .debug_info for memcheck/tests/dw4

339744  warning: evaluate_Dwarf3_Expr: unhandled DW_OP_ 0xf2

339745  Valgrind crash when check Marmalade app

339755  Valgrind on Mac 10.9 should suppress setenv() mem leak

339762  missing replacement alias for glibc __strchr_sse42, __strcpy_sse2,
        __strcpy_ssse3

339778  Linux/TileGx platform support to Valgrind

339780  [PATCH] Valgrind on Mac 10.9 should suppress pthread_rwlock_init()

339789] [PATCH] Fix none/tests/execve test on Mac OS X 10.9

339808] [PATCH] Fix none/tests/rlimit64_nofile test on Mac OS X 10.9

339820  vex amd64->IR: 0x66 0xF 0x3A 0x63 0xA 0x42 0x74 0x9
        (pcmpistrix  $0x42, (%rdx), %xmm1)

339861  Remove Elf32_Nhdr definition for Android

339862  v6intThumb.c does not compile when -pie options is specified

339945  XXX Patch: replace #if !defined (VGPV_*_linux_android) with
        #ifndef AT_FPUCW  (probably WONTFIX)

340021  sgcheck tool does not work properly on ARM
        == 296166

340252  OS X Yosemite
340320  replacement malloc command line options (--trace-malloc
        and --alignment) are invisible

340392  Incorrect "Conditional jump..." message

340446  disInstr(arm): unhandled instruction: 0xEEA00B88
        Probably fixed already; queried reporter

340469  vex amd64->IR: unhandled instruction bytes: 0x66 0xA7
        Segment overrides, probable WONTFIX

Thu Oct 30 14:47:49 CET 2014
