Add option a new sim-hint  no-nptl-pthread-stackcache.

Activating this hint using --sim-hints=no-nptl-pthread-stackcache
means the glibc nptl stack cache will be disabled.

Disabling this stack/tls cache avoids helgrind false positive race conditions
errors when using __thread variables.

Note: disabling the stack cache is done by a kludge, dependent on
internal knowledge of glibc code, and using libpthread debug info.
So, this kludge might be broken with newer glibc version.
This has been tested on various platforms and various
glibc versions 2.11, 2.16 and 2.18

To check if the disabling works, you can do:
valgrind --tool=helgrind --sim-hints=no-nptl-pthread-stackcache -d -v ./helgrind/tests/tls_threads |& grep kludge

If you see the below 2 lines, then hopefully the stack cache has been disabled.
--12624-- deactivate nptl pthread stackcache via kludge: found symbol stack_cache_actsize at addr 0x3AF178
--12624:1:sched    pthread stack cache size disabling done via kludge




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14313 a5019735-40e9-0310-863c-91ae7b9d1cf9
drd/tests/tls_threads: Add

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14314 a5019735-40e9-0310-863c-91ae7b9d1cf9
helgrind/tests: Update Subversion ignore list

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14315 a5019735-40e9-0310-863c-91ae7b9d1cf9
auxprogs: Update Subversion ignore list

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14316 a5019735-40e9-0310-863c-91ae7b9d1cf9
configure should check for warning flags supported to disable them (#338205).

Configure would check whether gcc supported -Wno... flags. But gcc always
does. It is happy to just not warn about anything. So flip all configure
checks to test for the warning and only when gcc accepts the warning flag
use -Wno-...

Introduces two helper functions to make it easier to add new flag checks.
AC_GCC_WARNING_COND and AC_GCC_WARNING_SUBST_NO.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14319 a5019735-40e9-0310-863c-91ae7b9d1cf9
Kind of a follow-up to r14237.
pre_mem_read_sockaddr: in the case where the caller doesn't
specify any address family (that is, the family is AF_UNSPEC)
don't perform any further checks on the supplied |sa| address
block, since doing so merely gives rise to false uninitialised
value errors.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14320 a5019735-40e9-0310-863c-91ae7b9d1cf9
Remove unused functions CLG_(get_out_file) and CLG_(get_out_directory).
Looks like these were leftovers from early days -- perhaps r7235.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14321 a5019735-40e9-0310-863c-91ae7b9d1cf9
Update in NEWS the gcc release needed to better support Ada tasks termination


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14322 a5019735-40e9-0310-863c-91ae7b9d1cf9
Clean up confusion about VG_(args_the_exename) which was believed to
possibly be NULL in several places. Nowadays, VG_(ii_create_image) will
terminate the process if VG_(args_the_exename) is NULL.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14323 a5019735-40e9-0310-863c-91ae7b9d1cf9
Improve -mpreferred-stack-boundary configure message.

Explicitly say we are checking for -mpreferred-stack-boundary=2.
Only 2 is ever used when it is supported. Some gcc versions/arches
(e.g. GCC 4.8 for x86_64) support -mpreferred-stack-boundary, but
only between 4 and 12. The message that -mpreferred-stack-boundary
wasn't supported was a little confusing. So explicitly say we checked
for -mpreferred-stack-boundary=2.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14324 a5019735-40e9-0310-863c-91ae7b9d1cf9
Check some known PATHs for mpicc in configure.

On some distributions (fedora) mpicc not installed on the default PATH.
Add a search path for finding mpicc by default if it is installed.
The user can still override the used mpicc compiler using --with-mpicc=.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14325 a5019735-40e9-0310-863c-91ae7b9d1cf9
exp-sgcheck/tests/hackedbz2.c mark vex_strlen as noinline

Explicitly set noinline so the test can check it is in the backtrace.
Newer gcc versions happily optimize it away otherwise.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14326 a5019735-40e9-0310-863c-91ae7b9d1cf9
Bug 338445 amd64 vbit-test fails with unknown opcodes used by arm64 VEX.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14327 a5019735-40e9-0310-863c-91ae7b9d1cf9
NEWS 330319 vex amd64->IR: unhandled instruction bytes: 0xF 0x1 0xD5 (xend)

VEX svn r2931

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14328 a5019735-40e9-0310-863c-91ae7b9d1cf9
Follow up to r14313: disable stack cache earlier
glibc is recycling memory for detached threads before a thread
termination => disable the stack cache earlier (i.e. once
a 'non main thread' is seen)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14329 a5019735-40e9-0310-863c-91ae7b9d1cf9
Align header comment with other files

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14330 a5019735-40e9-0310-863c-91ae7b9d1cf9
Tweak gdbserver_tests/hgtls.stdoutB.exp filter_gdb a little for older GDB.

Older GDB (7.2 on i386) don't print out which variable+offset an argument
pointer in a breakpoint function points to. The hgtls test already tests
whether the p pointer/test points to the expected tests array element.
So don't expect gdb to print it also and filter it out with filter_gdb.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14331 a5019735-40e9-0310-863c-91ae7b9d1cf9
Remove benign macro redefinition.
Give current_jccs internal linkage.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14332 a5019735-40e9-0310-863c-91ae7b9d1cf9
Cleanup. Cost array was never called anyway.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14334 a5019735-40e9-0310-863c-91ae7b9d1cf9
mc_LOADV_128_or_256_slow: change a constant from V_BITS8_DEFINED
to V_BITS64_DEFINED so as to be consistent with the rest of the
types in this function.  Since both values are zero it gives no
functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14335 a5019735-40e9-0310-863c-91ae7b9d1cf9