* Unbreak build on macos (and on other platforms) that do not have
HAVE_DLINFO_RTLD_DI_TLS_MODID.
* add the copyright notice in auxprogs/getoff.c
* add more prereq to hgtls.vgtest



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14297 a5019735-40e9-0310-863c-91ae7b9d1cf9
Fix build problems on MacOSX pertaining to r14283.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14298 a5019735-40e9-0310-863c-91ae7b9d1cf9
Add comments in getoff.c to clarify its intended usage.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14299 a5019735-40e9-0310-863c-91ae7b9d1cf9
arm64: enable test cases for
  sshr, ushr, ssra, usra (scalar, imm) 
  srshr, urshr, srsra, ursra (scalar, imm) 
  srshr, urshr, srsra, ursra (vector, imm) 
  sshl, srshl, ushl, urshl (scalar, imm) 
  sshl, srshl, ushl, urshl (vector, vector) 
  ssra, usra (vector, imm) 


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14300 a5019735-40e9-0310-863c-91ae7b9d1cf9
The attached patch cleanups the clo processing
of clo which are (or should be) 'enum set'.

* pub_tool_options.h : add new macrox VG_USET_CLO and VG_USETX_CLO to
  parse an 'enum set' command line option (with or without "all" keyword).

* use VG_USET_CLO for existing enum set clo options:
   memcheck --errors-for-leak-kinds, --show-leak-kinds, --leak-check-heuristics
   coregrind --vgdb-stop-at

* change --sim-hints and --kernel-variants to enum set
  (this allows to detect user typos: currently, a typo in a sim-hint
   or kernel variant is silently ignored. Now, an error will be given
   to the user)

* The 2 new sets (--sim-hints and --kernel-variants) should not make
  use of the 'all' keyword => VG_(parse_enum_set) has a new argument
  to enable/disable the use of the "all" keyword.

* The macros defining an 'all enum' set definition was duplicating
  all enum values (so addition of a new enum value could easily
  give a bug). Removing these macros as they are unused
  (to the exception of the leak-kind set).
  For this set, the 'all macro' has been replaced by an 'all function',
  coded using parse_enum_set parsing the "all" keyword.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14301 a5019735-40e9-0310-863c-91ae7b9d1cf9
Announce in NEWS the change of behaviour (i.e. validity checking)
for the clo options --kernel-variant and --sim-hints



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14302 a5019735-40e9-0310-863c-91ae7b9d1cf9
arm64: enable test cases for
srhadd, urhadd (vector)
suqadd, usqadd (scalar)
suqadd, usqadd (vector)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14303 a5019735-40e9-0310-863c-91ae7b9d1cf9
Remove a few unused macro definitions.
Move exported global variables to the proper section
in the header file.
No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14306 a5019735-40e9-0310-863c-91ae7b9d1cf9
Fix a typo.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14312 a5019735-40e9-0310-863c-91ae7b9d1cf9
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