History log of /external/valgrind/drd/drd_thread.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ed39800a83baf5bffbe391f3974eb2af0f415f80 21-Jun-2017 Elliott Hughes <enh@google.com> Upgrade to valgrind 3.13.0 (15 June 2017).

Release 3.13.0 (15 June 2017)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

3.13.0 is a feature release with many improvements and the usual collection of
bug fixes.

This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux,
PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux,
MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android,
X86/Solaris, AMD64/Solaris and AMD64/MacOSX 10.12.

* ==================== CORE CHANGES ===================

* The translation cache size has been increased to keep up with the demands of
large applications. The maximum number of sectors has increased from 24 to
48. The default number of sectors has increased from 16 to 32 on all
targets except Android, where the increase is from 6 to 12.

* The amount of memory that Valgrind can use has been increased from 64GB to
128GB. In particular this means your application can allocate up to about
60GB when running on Memcheck.

* Valgrind's default load address has been changed from 0x3800'0000 to
0x5800'0000, so as to make it possible to load larger executables. This
should make it possible to load executables of size at least 1200MB.

* A massive spaceleak caused by reading compressed debuginfo files has been
fixed. Valgrind should now be entirely usable with gcc-7.0 "-gz" created
debuginfo.

* The C++ demangler has been updated.

* Support for demangling Rust symbols has been added.

* A new representation of stack traces, the "XTree", has been added. An XTree
is a tree of stacktraces with data associated with the stacktraces. This is
used by various tools (Memcheck, Helgrind, Massif) to report on the heap
consumption of your program. Reporting is controlled by the new options
--xtree-memory=none|allocs|full and --xtree-memory-file=<file>.

A report can also be produced on demand using the gdbserver monitor command
'xtmemory [<filename>]>'. The XTree can be output in 2 formats: 'callgrind
format' and 'massif format. The existing visualisers for these formats (e.g.
callgrind_annotate, KCachegrind, ms_print) can be used to visualise and
analyse these reports.

Memcheck can also produce XTree leak reports using the Callgrind file
format. For more details, see the user manual.

* ================== PLATFORM CHANGES =================

* ppc64: support for ISA 3.0B and various fixes for existing 3.0 support

* amd64: fixes for JIT failure problems on long AVX2 code blocks

* amd64 and x86: support for CET prefixes has been added

* arm32: a few missing ARMv8 instructions have been implemented

* arm64, mips64, mips32: an alternative implementation of Load-Linked and
Store-Conditional instructions has been added. This is to deal with
processor implementations that implement the LL/SC specifications strictly
and as a result cause Valgrind to hang in certain situations. The
alternative implementation is automatically enabled at startup, as required.
You can use the option --sim-hints=fallback-llsc to force-enable it if you
want.

* Support for OSX 10.12 has been improved.

* On Linux, clone handling has been improved to honour CLONE_VFORK that
involves a child stack. Note however that CLONE_VFORK | CLONE_VM is handled
like CLONE_VFORK (by removing CLONE_VM), so applications that depend on
CLONE_VM exact semantics will (still) not work.

* The TileGX/Linux port has been removed because it appears to be both unused
and unsupported.

* ==================== TOOL CHANGES ====================

* Memcheck:

- Memcheck should give fewer false positives when running optimised
Clang/LLVM generated code.

- Support for --xtree-memory and 'xtmemory [<filename>]>'.

- New command line options --xtree-leak=no|yes and --xtree-leak-file=<file>
to produce the end of execution leak report in a xtree callgrind format
file.

- New option 'xtleak' in the memcheck leak_check monitor command, to produce
the leak report in an xtree file.

* Massif:

- Support for --xtree-memory and 'xtmemory [<filename>]>'.

- For some workloads (typically, for big applications), Massif memory
consumption and CPU consumption has decreased significantly.

* Helgrind:

- Support for --xtree-memory and 'xtmemory [<filename>]>'.

- addition of client request VALGRIND_HG_GNAT_DEPENDENT_MASTER_JOIN, useful
for Ada gnat compiled applications.

* ==================== OTHER CHANGES ====================

* For Valgrind developers: in an outer/inner setup, the outer Valgrind will
append the inner guest stacktrace to the inner host stacktrace. This helps
to investigate the errors reported by the outer, when they are caused by the
inner guest program (such as an inner regtest). See README_DEVELOPERS for
more info.

* To allow fast detection of callgrind files by desktop environments and file
managers, the format was extended to have an optional first line that
uniquely identifies the format ("# callgrind format"). Callgrind creates
this line now, as does the new xtree functionality.

* File name template arguments (such as --log-file, --xtree-memory-file, ...)
have a new %n format letter that is replaced by a sequence number.

* "--version -v" now shows the SVN revision numbers from which Valgrind was
built.

* ==================== FIXED BUGS ====================

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.

162848 --log-file output isn't split when a program forks
340777 Illegal instruction on mips (ar71xx)
341481 MIPS64: Iop_CmpNE32 triggers false warning on MIPS64 platforms
342040 Valgrind mishandles clone with CLONE_VFORK | CLONE_VM that clones
to a different stack.
344139 x86 stack-seg overrides, needed by the Wine people
344524 store conditional of guest applications always fail - observed on
Octeon3(MIPS)
348616 Wine/valgrind: noted but unhandled ioctl 0x5390 [..] (DVD_READ_STRUCT)
352395 Please provide SVN revision info in --version -v
352767 Wine/valgrind: noted but unhandled ioctl 0x5307 [..] (CDROMSTOP)
356374 Assertion 'DRD_(g_threadinfo)[tid].pt_threadid !=
INVALID_POSIX_THREADID' failed
358213 helgrind/drd bar_bad testcase hangs or crashes with new glibc pthread
barrier implementation
358697 valgrind.h: Some code remains even when defining NVALGRIND
359202 Add musl libc configure/compile
360415 amd64 instructions ADCX and ADOX are not implemented in VEX
== 372828 (vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10)
360429 unhandled ioctl 0x530d with no size/direction hints (CDROMREADMODE1)
362223 assertion failed when .valgrindrc is a directory instead of a file
367543 bt/btc/btr/bts x86/x86_64 instructions are poorly-handled wrt flags
367942 Segfault vgPlain_do_sys_sigaction (m_signals.c:1138)
368507 can't malloc chunks larger than about 34GB
368529 Android arm target link error, missing atexit and pthread_atfork
368863 WARNING: unhandled arm64-linux syscall: 100 (get_robust_list)
368865 WARNING: unhandled arm64-linux syscall: 272 (kcmp)
368868 disInstr(arm64): unhandled instruction 0xD53BE000 = cntfrq_el0 (ARMv8)
368917 WARNING: unhandled arm64-linux syscall: 218 (request_key)
368918 WARNING: unhandled arm64-linux syscall: 127 (sched_rr_get_interval)
368922 WARNING: unhandled arm64-linux syscall: 161 (sethostname)
368924 WARNING: unhandled arm64-linux syscall: 84 (sync_file_range)
368925 WARNING: unhandled arm64-linux syscall: 130 (tkill)
368926 WARNING: unhandled arm64-linux syscall: 97 (unshare)
369459 valgrind on arm64 violates the ARMv8 spec (ldxr/stxr)
370028 Reduce the number of compiler warnings on MIPS platforms
370635 arm64 missing syscall getcpu
371225 Fix order of timer_{gettime,getoverrun,settime} syscalls on arm64
371227 Clean AArch64 syscall table
371412 Rename wrap_sys_shmat to sys_shmat like other wrappers
371471 Valgrind complains about non legit memory leaks on placement new (C++)
371491 handleAddrOverrides() is [incorrect] when ASO prefix is used
371503 disInstr(arm64): unhandled instruction 0xF89F0000
371869 support '%' in symbol Z-encoding
371916 execution tree xtree concept
372120 c++ demangler demangles symbols which are not c++
372185 Support of valgrind on ARMv8 with 32 bit executable
372188 vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10 0x10 0x48 (PCMPxSTRx $0x10)
372195 Power PC, xxsel instruction is not always recognized.
372504 Hanging on exit_group
372600 process loops forever when fatal signals are arriving quickly
372794 LibVEX (arm32 front end): 'Assertion szBlg2 <= 3' failed
373046 Stacks registered by core are never deregistered
373069 memcheck/tests/leak_cpp_interior fails with GCC 5.1+
373086 Implement additional Xen hypercalls
373192 Calling posix_spawn in glibc 2.24 completely broken
373488 Support for fanotify API on ARM64 architecture
== 368864 WARNING: unhandled arm64-linux syscall: 262 (fanotify_init)
373555 Rename BBPTR to GSPTR as it denotes guest state pointer only
373938 const IRExpr arguments for matchIRExpr()
374719 some spelling fixes
374963 increase valgrind's load address to prevent mmap failure
375514 valgrind_get_tls_addr() does not work in case of static TLS
375772 +1 error in get_elf_symbol_info() when computing value of 'hi' address
for ML_(find_rx_mapping)()
375806 Test helgrind/tests/tc22_exit_w_lock fails with glibc 2.24
375839 Temporary storage exhausted, with long sequence of vfmadd231ps insns
== 377159 "vex: the `impossible' happened" still present
== 375150 Assertion 'tres.status == VexTransOK' failed
== 378068 valgrind crashes on AVX2 function in FFmpeg
376142 Segfaults on MIPS Cavium Octeon boards
376279 disInstr(arm64): unhandled instruction 0xD50320FF
376455 Solaris: unhandled syscall lgrpsys(180)
376518 Solaris: unhandled fast trap getlgrp(6)
376611 ppc64 and arm64 don't know about prlimit64 syscall
376729 PPC64, remove R2 from the clobber list
== 371668
376956 syswrap of SNDDRV and DRM_IOCTL_VERSION causing some addresses
to be wrongly marked as addressable
377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with
PIE enabled by default
377376 memcheck/tests/linux/getregset fails with glibc2.24
377427 PPC64, lxv instruction failing on odd destination register
377478 PPC64: ISA 3.0 setup fixes
377698 Missing memory check for futex() uaddr arg for FUTEX_WAKE
and FUTEX_WAKE_BITSET, check only 4 args for FUTEX_WAKE_BITSET,
and 2 args for FUTEX_TRYLOCK_PI
377717 Fix massive space leak when reading compressed debuginfo sections
377891 Update Xen 4.6 domctl wrappers
377930 fcntl syscall wrapper is missing flock structure check
378524 libvexmultiarch_test regression on s390x and ppc64
378535 Valgrind reports INTERNAL ERROR in execve syscall wrapper
378673 Update libiberty demangler
378931 Add ISA 3.0B additional isnstructions, add OV32, CA32 setting support
379039 syscall wrapper for prctl(PR_SET_NAME) must not check more than 16 bytes
379094 Valgrind reports INTERNAL ERROR in rt_sigsuspend syscall wrapper
379371 UNKNOWN task message [id 3444, to mach_task_self(), reply 0x603]
(task_register_dyld_image_infos)
379372 UNKNOWN task message [id 3447, to mach_task_self(), reply 0x603]
(task_register_dyld_shared_cache_image_info)
379390 unhandled syscall: mach:70 (host_create_mach_voucher_trap)
379473 MIPS: add support for rdhwr cycle counter register
379504 remove TileGX/Linux port
379525 Support more x86 nop opcodes
379838 disAMode(x86): not an addr!
379703 PC ISA 3.0 fixes: stxvx, stxv, xscmpexpdp instructions
379890 arm: unhandled instruction: 0xEBAD 0x1B05 (sub.w fp, sp, r5, lsl #4)
379895 clock_gettime does not execute POST syscall wrapper
379925 PPC64, mtffs does not set the FPCC and C bits in the FPSCR correctly
379966 WARNING: unhandled amd64-linux syscall: 313 (finit_module)
380200 xtree generated callgrind files refer to files without directory name
380202 Assertion failure for cache line size (cls == 64) on aarch64.
380397 s390x: __GI_strcspn() replacement needed
n-i-bz Fix pub_tool_basics.h build issue with g++ 4.4.7.

(3.13.0.RC1: 2 June 2017, vex r3386, valgrind r16434)
(3.13.0.RC2: 9 June 2017, vex r3389, valgrind r16443)
(3.13.0: 14 June 2017, vex r3396, valgrind r16446)

Bug: N/A
Test: manual
Change-Id: Id4498a49f462c3689cbcb35c15f96a8c7e3cea17
/external/valgrind/drd/drd_thread.c
b3a1e4bffbdbbf38304f216af405009868f43628 21-Aug-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates, to include 2015. No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15577 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
ea71ffb08eccc0869c5b9421160fef4052e35c23 05-Aug-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix printf format inconsistencies as pointed out by gcc -Wformat-signedness.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15495 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
8eb8bab992e3998c33770b0cdb16059a8b918a06 21-Jul-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Bug 345248 - add support for Solaris OS in valgrind

Authors of this port:
Petr Pavlu setup@dagobah.cz
Ivo Raisr ivosh@ivosh.net
Theo Schlossnagle theo@omniti.com



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15426 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
ad4e979f408239dabbaae955d8ffcb84a51a5c85 05-Jul-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix typos in source code. Patch by Dmitriy (olshevskiy87@bk.ru).
Fixes BZ #349874


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15394 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
1e802b6a8d0d4b7b630d2a1dd9683c7c889b01a3 13-Feb-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add command line flag --max-threads=<integer> to increase the number of
threads that valgrind can handle. No recompile is needed.
Part of fixing BZ #337869.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14932 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
d56b7e2bd0e7b56f99c0e2805e6c1cd57bd31427 20-Jan-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add some parentheses to keep gcc 5 (prerelease) from complaining.
No functional change.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14877 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
f5d8e65f2c61c399420cde0afd70204e0c0f7c4c 12-Sep-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove some unneded checks as identified by IBM's BEAM checker.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14518 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
9cdc08368068d746e42d40c8f3a3dca5db5caee4 09-Aug-2014 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Move VG_(getenv)("DRD_VERIFY_CONFLICT_SET")

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14249 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
7692f169aa556ea177b8e949abff2d3e224580e1 08-Aug-2014 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Clear conflict set after fork (#338115)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14244 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
e4554e13a475ed827aae7b91bb3cb7004cc74f62 08-Aug-2014 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Add command-line option --verify-conflict-set

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14242 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
2bf4bb9d10c2a6d034226a6270c4249d5502325e 10-Mar-2014 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Build fix for ENABLE_DRD_CONSISTENCY_CHECKS

From: Ivo Raisr <ivosh@ivosh.net>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13863 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
d4bab99f83dbc53665c5769c3f6b50ffcd2a9a7d 04-Oct-2013 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Update copyright notice

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13613 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
4df0bfc0614379192c780c944415dc420d9cfe8e 28-Feb-2013 petarj <petarj@a5019735-40e9-0310-863c-91ae7b9d1cf9> mips: adding MIPS64LE support to Valgrind

Necessary changes to Valgrind to support MIPS64LE on Linux.
Minor cleanup/style changes embedded in the patch as well.
The change corresponds to r2687 in VEX.
Patch written by Dejan Jevtic and Petar Jovanovic.

More information about this issue:
https://bugs.kde.org/show_bug.cgi?id=313267


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13292 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
19f91bbaedb4caef8a60ce94b0f507193cc0bc10 10-Nov-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix more Char/HChar mixups. Closing in...


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13119 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
03f8d3fc25f5a45c5826259d1b33b7f310117279 05-Aug-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates to include 2012.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12843 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
5db15403e889d4db339b342bc2a824ef0bfaa654 07-Jun-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge in a port for mips32-linux, by Petar Jovanovic and Dejan Jevtic,
mips-valgrind@rt-rk.com, Bug 270777.

Valgrind: changes to existing files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12616 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
91b7ec3660efe16790bc337190a1c948beaab0a5 25-Jan-2012 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Remove drd/drd_list.h again because of its GPLv2 license.

For more info about Valgrind source code licensing, see also:
[1] Top level README line 51.
[2] http://valgrind.org/docs/manual/manual-intro.html#manual-intro.overview, last paragraph.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12356 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
e278ab506b9a73ef1c17a17077546b2de9a11d7c 24-Jan-2012 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Use macros and inline functions for list manipulation

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12353 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
ae37e6d4c9ca1f400ef4c1636319be60f969b2af 22-Jan-2012 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Source code refactoring - use DRD_(thread_get_vc)() wherever appropriate

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12350 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
c6bf1846c7604390f777f88b63710702686086d9 22-Jan-2012 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Source code refactoring - use DRD_(thread_get_vc)() wherever appropriate

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12349 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
f7a5b3fb7545645c47e3ee5d8fc1d66ea09f679c 11-Dec-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove trailing whitespace

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12293 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
1081fe2314bc72160d8ff503f11a65905cd4e4df 04-Dec-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove emacs modeline and/or local variables from DRD source files

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12279 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
ad994e885caeb5241cbedf4e47e7821cf164f4e7 13-Oct-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd, XML tracing: move newline generation into DRD_(trace_msg)() / change tracing output format slightly.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12146 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
e7086000dc09e5486e42206ad524fefe09f7cc72 11-Oct-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Enable XML output. See also #282949. To do: document the output format.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12137 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
b92ff0fd192dd05700f7d20db00795965e20b5c5 08-Oct-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> DRD, refactoring: Introduce DRD_(trace_msg)()

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12120 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
178b686b4886b7c196df3b5fdd1187113c4e547d 29-Jul-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: drd_thread.c source code cleanup

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11942 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
6d956dc21b6a81f0c67ad18ac61867da0d5922a3 28-Jul-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Delay deletion of memory access information of joined threads in order not
to miss any races caused by these threads.

To do: refine handling of pthread_once() again.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11926 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
ac5b95bcdf94a728d8a603712b371eab26df897d 03-Jul-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Source code cleanup - merge two blocks of tracing code

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11851 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
4b3fdb21a4e07b6f1d1b6753203703d7fdd9a785 03-Jul-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Source code cleanup - change two variables from int to bool and outdent one code block

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11848 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
f5fe4b66b06998f8fa0eaa2bb17eb34eb0e3bbde 03-Jul-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> drd: Add an assert statement

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11847 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
922304f9e9d5df1a20a1bb1d4736263c99272aa4 13-Mar-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Updated modeline and copyright statement in DRD source files.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11642 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
23ef19de837854c360809e59833513360dc1cce2 12-Mar-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> DRD: More source code cleanup (constant propagation).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11631 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
0c0cd77a6ffda2fd1abf4877ef125889c2e07f9e 03-Mar-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> DRD: avoid triggering an assertion failure if a thread is canceled while waiting inside pthread_mutex_lock(). Fixes #267413.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11578 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
9194e93ab737439d653498ee43df4bae7989ad3d 09-Feb-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> DRD: handle fork() in processes with detached threads correctly (see also #255355).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11532 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
5c7e6b69ccaecc32ff43d7f3cb9573f3901d19f0 03-Feb-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> DRD: do not assert() upon fork(). Fixes the DRD part of #255355.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11520 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
876cafda1cd6f0245b81b1dc5a43d84a86f5f59e 10-Oct-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> E-mail address update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11420 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
383d613d286501412f1760c8eaafaeb8c518b344 02-Sep-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added the per-thread property 'on_alt_stack'.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11326 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
f9427fda275ba5db5277557ea752af7b3f4dcc5c 29-Aug-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added command-line option --trace-alloc and disabled --free-is-write by default.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11301 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
9eecbbb9a9cbbd30b903c09a9e04d8efc20bda33 03-May-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates to 2010.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11121 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
31b983d29affe6c30a2283be8824c6d75c74d848 21-Feb-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Removed trailing whitespace in C source and header files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11052 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
dbcec5282836810902ad16b25ea3deb2f69c4ca3 10-Aug-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove unnecessary #includes.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10766 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
b48bde21f5107f74335b88cacee76c556ae22aa7 31-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Report an error message instead of triggering an assertion failure when a non-existing thread ID is passed to pthread_join() or pthread_cancel().

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10674 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
3c9afb10ad9854fd81d20b3a4b4aba3e230ec196 24-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Print an easy-to-understand message in case the client program tries to create more threads than what is currently supported by DRD.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10593 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
dd75cdfe7612f58bdba8e3a16d34ee32eef85980 24-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Replaced code for suppressing the stack memory in use at the time a
thread is being created by code for suppressing the memory allocated
from inside the pthread_create() call. The new implementation should be
a more portable solution for suppressing data races triggered by the
thread-local-storage implementation of a Pthreads library.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10584 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
63c92ea799549976957f5b4d54ede744f762c56f 19-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> DRD no longer prints the thread ID's assigned by the Valgrind core but only those assigned by DRD itself.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10488 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
1e29ebcf5a0d5d29434d112bda3a584b4a3f8066 15-Jul-2009 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge drd/ changes from branches/MESSAGING_TIDYUP r10464.
See trunk r10465 commit message for details.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10466 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
6f1d7165e418f1d8d255b5d4e93a5df3c1e5e659 24-Jun-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Changed default segment merging interval from 64 to 10.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10376 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
f6ec1fe18f1fc1222fb274d7dfd4343c16048fb1 21-Jun-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Combined DRD_(thread_new_segment)() and DRD_(thread_combine_vc_sync)()
into the function DRD_(thread_new_segment_and_combine_vc)() because
before DRD_(thread_combine_vc_sync)() was called the function
DRD_(thread_new_segment)() was always called.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10357 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
e5214666ead5aebb79ad662deacff0a952cba70d 21-Jun-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Made --drd-stats=yes output even more verbose.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10356 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
54803feb0b92e4708d3cee92e7449f802be70197 21-Jun-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Updated code for statistics printed by --drd-stats=yes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10354 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
8f822af9b234e7c553c408eba65a641c4773457f 08-Jun-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> svn merge -r9818:10278 svn://svn.valgrind.org/valgrind/branches/DRDDEV

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10279 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
7627be3e26162e4f59ccfd35eaf31495ddefdf9b 06-Jun-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Consistency improvement: made sure that for all synchronization operations vector clocks are combined after having created a new segment instead of before.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10265 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
d45d99553c15a361bb797d21ec6afb9bad22d2d4 31-May-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> - Added support for most of the ANNOTATE_...() macro's supported by
ThreadSanitizer.
- Modified DRD's error reporting code such that it does no longer let
the Valgrind core print the Valgrind thread ID but that it now prints
the DRD thread ID and name. Updated expected output files where
necessary.
- Modified drd/test/Makefile.am such that the tests using gcc's built-in
functions for atomic memory access such that these are only compiled when
the gcc version in use supports these built-in functions.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10186 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
e7dff2479d4d1e0024f0889c54c4578d427ab0a2 23-Apr-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Made DRD_(thread_set_pthreadid)() idempotent.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9590 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
bedfd237fbdc80d0c917cfcb85a94b5561c92633 26-Mar-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> - Reindented code such that it uses three spaces for indentation instead
of two. The indentation of the DRD source code is now consistent with
the other Valgrind source files.
- Added emacs mode line with indentation settings.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9496 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
0d3bbd3dd4183ee757e4b21953bffd6932f0d75c 12-Mar-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Cleanup.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9384 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
86a87df5949beb1f89ebbed923068faed08d048c 04-Mar-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> - Added more comments.
- Removed DRD_() wrapper from around local functions and variables.
- Removed some obsolete code.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9320 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
d2c5eae561040706a7eb45c0f3988dcd538c8d7e 21-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Changes:
- pthread_barrier_wait() intercept now passes the information to the DRD
tool whether or not this function returned
PTHREAD_BARRIER_SERIAL_THREAD. This information is now displayed when
the command-line option --trace-barrier=yes has been specified.
- Changed the cleanup functions for client objects that are called just
before a thread stops into callback functions.
- Added DRD_(clientobj_delete_thread)().
- Removed DRD_(clientobj_resetiter)(void) and DRD_(clientobj_next)().
- Added test for race conditions between pthread_barrier_wait() and
pthread_barrier_destroy() calls. An error message is now printed if
this condition has been detected.
- Bug fix: pthread_barrier_delete() calls on barriers being waited upon
are now reported.
- Removed DRD_() wrapper from around the name of some static variables and
functions.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9211 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
86562bd89ac23ce795d19c71fabcb9d1c8f956d3 16-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> - Updated copyright statements.
- Improved consistency of source file headers.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9182 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
99edb2960fe8cdbf35ef647115dff708c9a75322 15-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Wrapped DRD_() macro around yet even more function names.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9172 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
dc1ef03a8d13efe24661a89091e66169bf3f1091 15-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Wrapped DRD_() macro around even more function names.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9170 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
62a784c9382fdf7184065ad76ae8d3b905605f21 15-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Wrapped DRD_() macro around thread-related function names.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9168 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
324a23bea57e0bfc27d9442ec00a8eee8294f01a 15-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Wrapped DRD_() macro around global and static variables in drd_thread.[ch].

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9167 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
a8cf765964dc9b9436384469a0a30889b24d1997 15-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Wrapped DRD_() macro around all barrier-related function names.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9165 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
439c55fe48f6b3d0e2622b45d0ad8d8acc383398 15-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added more comments / rearranged function order.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9163 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
62ada3f31afe602f7c9a651530d16b06655400ff 14-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Wrapped DRD_() macro around all segment function names.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9160 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
41b226c0a9c60c7dc10b09b6d71138f1993259d8 14-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Wrapped DRD_() macro around all vector clock function names.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9159 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
1335ecca5095dea85be94095885082b80573df8c 14-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Introduced more DRD_ prefixes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9158 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
09dc13f324a19f1bebf58c7f197a581dc8fb528b 14-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> - Moved several functions and variables from one source file to another.
- Created two new source files: drd_load_store.h and .c.
- Removed the header file drd_track.h.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9153 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
5c3da0136e775700328ea16546fc583cfa86786e 14-Feb-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Relaxed an assert statement: a thread canceled by pthread_cancel() can really exit with synchr_nesting > 0.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9151 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
9b2974ad8c14abb2a0cbcbc66e43f9d97d3deacc 27-Sep-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added more comments.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8637 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
af0691b41efd73639efbeaddf9c6238a77089f77 27-Sep-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added thread_pre_cancel().

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8636 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c
ccf17de11cac09dc387e6cb115fdee0ae6e29e70 04-Jul-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Renamed exp-drd directory into drd. Moved drd from the experimental tool class to the class of regular tools.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8361 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/drd/drd_thread.c