History log of /external/valgrind/coregrind/m_options.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
29dd9e62b241efb2c406ed658720e0dd2e68897d 31-Aug-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Change the default setting for --dsymutil from =no to =yes, since
in practice it needs to be permanently enabled on OS X. No change
on other platforms.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15603 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
18d27dd1be2426ec685978efb71bd5dfbe7f80b9 31-Aug-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Revisit r15601 (Change the --smc-check default value to =all-non-file.)
to restrict the change to those architectures that do provide automatic
D-I coherence (x86, amd64, s390x). This commit restores the default
value for all other architectures back to its pre r15601 state, so as not
to burden those architectures unnecessarily with =all-non-file.

Also, this rewrites the relevant manual section.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15602 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
6d9a33803c50c3bd2593169130382facfbd17521 31-Aug-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Change the --smc-check default value to =all-non-file.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15601 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.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/coregrind/m_options.c
b9749a5a1fcf2ce8dc4a145f6037821f2a4c1252 24-Jul-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove command line options --db-attach and --db-command which were
deprecated in 3.10.0


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15445 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.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/coregrind/m_options.c
d0720e4a624bdfe7ce2494d690e7a88f986b93c1 12-Mar-2015 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement command line option --valgrind-stacksize=<number>

This allows to decrease memory usage when using many threads,
if no big stacksize is needed by Valgrind.
If needed (e.g. for demangling big c++ symbols), the V stacksize
can be increased.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15004 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.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/coregrind/m_options.c
8d47a61e503b69ffbc783717f5faf09d0bbc4723 05-Feb-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Allow the user to specify precise-exception behaviour for translations
made from file-backed mappings (AOT code, basically) that is different
from the default behaviour as specified by --vex-iropt-register-updates.

New flag is --px-file-backed=, with the same possible args as
--vex-iropt-register-updates has.

Add a new flag --px-default, which is a short alias for
--vex-iropt-register-updates.

Add one line of stats output when --stats=yes, showing counts of how
many translations have been made under each of the 4 different PX
optimisation settings.

No user-visible change if you don't use the new flags.

Relies on VEX API change in r3084.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14906 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
f34ee4e2fec720d392fe8db5b7de57884174654c 29-Nov-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix up the error processing in VG_(expand_file_name). E.g. giving
--log-file= on the command line results in the following error:

valgrind: --log-file: filename is emptyBad option: --log-file=
...

Relatedly, fix the 1st argument to VG_(expand_file_name) in coredump-elf.c.
This should not contain additional verbiage as it is assumed to be an option
name which us used to construct an error message containing
option_name=file_name

As an aside, this logic in coredump-elf.c seems odd:
If VG_(clo_log_fname_expanded) is not NULL, then it has already been
expanded in main_process_cmd_line_options. Expanding it again would only
make a difference, if the original logfile name contained an environment
variable whose value contained %q{whatever} thereby referring to a yet
another environment variable. That seems strange.
But I'm not touching it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14794 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
7b3d3565c1559b88c67f629bd6613c8b1a89691b 12-Nov-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement Option --error-markers=<begin>,<end>

* This option can be used to mark the begin/end of errors in textual
output mode, to facilitate searching/extracting errors in output files
mixing valgrind errors with program output.

* Use the new option in various existing regtests to test the various
possible usage.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14714 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
26ed419d60369d0545510eba0832566e24452e1e 04-Nov-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Adds initial support for AArch64 (arm64) on Android. Small programs
(/system/bin/ls, /system/bin/date) run. Still to do:

* enable more malloc/free intercepts

* enable wrappers for ashmem and binder syscalls

* check to see if any special ioctl support is required for ARM Mali GPUs



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14690 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
67f7c0384ad9a590a8c8a9737074168f897e1678 23-Oct-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Darwin only: add a filter mechanism that aims to remove pointless
memory-map resync operations. Without the filter, such operations
come to dominate the running time of complex apps with thousands of
memory segments (eg Firefox) and it becomes unusably slow. With
the filter in place, the huge performance loss is mostly avoided.

Has no meaning and no effect on non-Darwin targets. Controlled by
flag --resync-filter=no|yes|verbose [yes]. Filter is currently only
set up for Mac OS X 10.9 (Mavericks) 64 bit and will not produce
any performance benefit on any other configuration.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14661 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
518850bf0da07ed3e2244e307268ae0fd80e93a8 23-Oct-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Constify coregrind.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14656 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
82a50bd59653018dd78f6898af6206e6ed4762fb 15-Oct-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove unused variable VG_(clo_require_text_symbol).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14633 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
7931627282eede4440f3f329b657c3ec68371e8a 07-Oct-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge revisions 14372 and 14607 from the BUF_REMOVAL branch to trunk.
This change makes VG_(clo_suppressions), VG_(clo_fullpath_after),
and VG_(clo_req_tsyms) XArrays. They used to be arrays of fixed size.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14609 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
29d82f6e5ff3af28950ef6071d231b9633f82a49 27-Sep-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge 14206,14207,14261,14577,14578 from BUF_REMOVAL branch to trunk.
This changes VG_(record_startup_wd) to dynamically allocate a large
enough buffer for the directory name. As the dynamic memory manager has
started up a while ago, this is quite safe. Also rewrite VG_(get_startup_wd)
to simply return the directory name. No more messing with copying it
around. Adapt call sites.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14579 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
e2800c958044937e72eefa371c10ae47ac40e089 15-Sep-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> coregrind files shall use vg_assert not tl_assert.
Tool files shall use tl_assert not vg_assert.
Fix code accordingly.
Adapted check_headers_and_includes to make sure the code
stays clean in that respect.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14542 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
57d534d331f7a4ad56e401511a9bca3128c2d671 06-Sep-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Do not modify a character string that could be a readonly
string literal.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14485 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
ec905f7ed1659f2251045114c785659fbb11ea88 17-Aug-2014 philippe <philippe@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
/external/valgrind/coregrind/m_options.c
2c68e3eff3850e2d466774d152231e628107a28f 22-Jun-2014 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> core: Add command-line option --defaultsupp

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14080 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
a0a73939b0398b6608fd6dbde49820ce6530d12c 15-Jun-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> This patch implements the support needed for stacktraces
showing inlined function calls.
See 278972 valgrind stacktraces and suppression do not handle inlined function call debuginfo

Reading the inlined dwarf call info is activated using the new clo
--read-inline-info=yes
Default is currently no but an objective is to optimise the performance
and memory in order to possibly set it on by default.
(see below discussion about performances).

Basically, the patch provides the following pieces:
1. Implement a new dwarf3 reader that reads the inlined call info
2. Some performance improvements done for this new parser, and
on some common code between the new parser and the var info parser.
3. Use the parsed inlined info to produce stacktrace showing inlined calls
4. Use the parsed inlined info in the suppression matching and suppression generation
5. and of course, some reg tests

1. new dwarf3 reader:
---------------------
Two options were possible: add the reading of the inlined info
in the current var info dwarf reader, or add a 2nd reader.
The 2nd approach was preferred, for the following reasons:
The var info reader is slow, memory hungry and quite complex.
Having a separate parsing phase for the inlined information
is simpler/faster when just reading the inlined info.
Possibly, a single parser would be faster when using both
--read-var-info=yes and --read-inline-info=yes.
However, var-info being extremely memory/cpu hungry, it is unlikely
to be used often, and having a separate parsing for inlined info
does in any case make not much difference.
(--read-var-info=yes is also now less interesting thanks to commit
r13991, which provides a fast and low memory "reasonable" location
for an address).

The inlined info parser reads the dwarf info to make calls
to priv_storage.h ML_(addInlInfo).

2. performance optimisations
----------------------------
* the abbrev cache has been improved in revision r14035.
* The new parser skips the non interesting DIEs
(the var-info parser has no logic to skip uninteresting DIEs).
* Some other minor perf optimisation here and there.
In total now, on a big executable, 15 seconds CPU are needed to
create the inlined info (on my slow x86 pentium).

With regards to memory, the dinfo arena:
with inlined info: 172281856/121085952 max/curr mmap'd
without : 157892608/106721280 max/curr mmap'd,
So, basically, inlined information costs about 15Mb of memory for
my big executable (compared to first version of the patch, this is
already using less memory, thanks to the strpool deduppoolalloc.
The needed memory can probably be decreased somewhat more.

3. produce better stack traces
------------------------------
VG_(describe_IP) has a new argument InlIPCursor *iipc which allows
to describe inlined function calls by doing repetitive calls
to describe_IP. See pub_tool_debuginfo.h for a description.

4. suppression generation and matching
--------------------------------------
* suppression generation now also uses an InlIPCursor *iipc
to generate a line for each inlined fn call.

* suppression matching: to allow suppression matching to
match one IP to several function calls in a suppression entry,
the 'inputCompleter' object (that allows to lazily generate
function or object names for a stacktrace when matching
an error with a suppression) has been generalised a little bit
more to also lazily generate the input sequence.
VG_(generic_match) has been updated so as to be more generic
with respect to the input completer : when providing an
input completer, VG_(generic_match) does not need anymore
to produce/compute any input itself : this is all delegated
to the input completer.

5. various regtests
-------------------
to test stack traces with inlined calls, and suppressions
of (some of) these errors using inlined fn calls matching.


Work still to do:
-----------------
* improve parsing performance
* improve the memory overhead.
* handling the directory name for files of the inlined function calls is not yet done.
(probably implies to refactor some code)
* see if m_errormgr.c *offsets arrays cannot be managed via xarray



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14036 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
c07369bc8be6f6a26adfdbe391be7fe64a211829 17-May-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable vgdb ptrace invoker for aarch64.

This only works in non-bi arch mode. If ever aarch64+arm
are compiled bi-arch, then some more work is needed to have
a 64 bits vgdb able to ptrace invoke a 32 bits valgrind.

Note also that PTRACE_GETREGSET is defined on other platforms
(e.g. ppc64 fedora 18 defines it), but it is not used on
these platforms, as again, PTRACE_GETREGSET implies some
work for bi-arch to work properly.
So, on all platforms except arm64, we use PTRACE_GETREGS
or PTRACE_PEEKUSER.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13981 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
d898bf0e1479ec87e86e2e875a6dc9040ee22e11 17-May-2014 mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9> Revert "Tools should explain why an option is bad when using fmsg_bad_option."

This reverts valgrind svn r13975. This was a work in progress, still being
discussed in bug #334802. It should not yet been pushed.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13978 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
1f2f9a1352a089b8409af2073e5f41c89e9ecb47 17-May-2014 mjw <mjw@a5019735-40e9-0310-863c-91ae7b9d1cf9> Tools should explain why an option is bad when using fmsg_bad_option.

Add an explanation of why an option was bad to fmsg_bad_option calls that
were just using "" as argument. Fixes bug #334802.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13975 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
180a7500bf2464d5b16cddb5618b91fb3f095998 20-Apr-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> - The option "--vgdb-stop-at=event1,event2,..." allows the user
to ask GDB server to stop before program execution, at the end
of the program execution and on Valgrind internal errors.

- A new monitor command "v.set hostvisibility" that allows GDB server
to provide access to Valgrind internal host status/memory.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13900 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
3e172748981d06fff6b14aaebbabcca898553e98 19-Feb-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix BZ #327212. Check for absolute path name at the end of
expand_file_name -- not at the beginning.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13816 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
f0c1250e324f6684757c6a15545366447ef1d64f 12-Jan-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for ARMv8 AArch64 (the 64 bit ARM instruction set).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13770 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
cffe2a55d903655761ccc6025a23b823bee10170 11-Jan-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> add --vgdb-prefix arg to callgrind_control
If valgrind is started with --vgdb-prefix arg, then callgrind_control
cannot find and control this valgrind.
So, add an (optional) argument to callgrind_control,
and have callgrind tool report the needed vgdb prefix argument
if the user supplied this arg.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13769 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
9c6b05db45362b1afb981aa8298ab12ab4027b1a 27-Dec-2013 dejanj <dejanj@a5019735-40e9-0310-863c-91ae7b9d1cf9> mips32: Adding mips32/Android support to Valgrind.

Necessary changes to Valgrind to support mips32 on Android.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13767 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
0f157ddb404bcde7815a1c5bf2d7e41c114f3d73 18-Oct-2013 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates (20XY-2012 ==> 20XY-2013)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13658 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
49984eadbda78d8edea43f7839f4651a04ca419a 18-Oct-2013 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> arm-linux only: make unwinding by stack scanning (a nasty hack)
be controllable from the command line. Fixes (kind of) #289578.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13657 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
5d616dfbb8439dfd51a40ddf1dba970938baa1eb 02-Jul-2013 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge r13421:HEAD from branches/DISRV. This merges the debuginfo-server
stuff into the trunk.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13440 a5019735-40e9-0310-863c-91ae7b9d1cf9
46207652a0c99a2c8b0f05eafce3ca3ec533c121 20-Jan-2013 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement --merge-recursive-frames + provide VALGRIND_MONITOR_COMMAND client req.

In a big applications, some recursive algorithms have created
hundreds of thousands of stacktraces, taking a lot of memory.

Option --merge-recursive-frames=<number> tells Valgrind to
detect and merge (collapse) recursive calls when recording stack traces.
The value is changeable using the monitor command
'v.set merge-recursive-frames'.

Also, this provides a new client request: VALGRIND_MONITOR_COMMAND
allowing to execute a gdbsrv monitor command from the client
program.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13246 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
17c5e2e3a2f48970063ea43a9abee3e11c72cb04 28-Dec-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Improvements to the built-in profiling infrastructure:

--profile-flags=00000000 now prints summary statistics, one line per
profiled block, but with no translation details. Previously it had
no effect.

--profile-interval=<number> is a new flag that causes the profile data
to be dumped and zeroed every <number> event checks. This makes it
possible to get profile data without waiting for runs to end, and to
get profile data which depends on the current workload etc. If
--profile-interval=0 or is unset, the profile is printed only once, at
the end of the run, as before.

--profile-flags=XXXXXXXX (for at least one nonzero X) prints the
summary lines both at the start and end of the profile, so you don't
have to scroll back up to the top to see the summary.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13213 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
71826f77dbaefb6a9c694d9711aa649ed0980cc7 06-Dec-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix a const issue in r13154.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13165 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
c30cd9bdc3c13c79a2e0281302b115c3d220bc9d 06-Dec-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make diagnostics for SIGILL more controllable (Valgrind part).
Fixes #309425. (Mark Wielaard, mjw@redhat.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13164 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
8b6573dd1f5b4ab512a6e70ce23eecd82733aae1 05-Dec-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add a new command line flag, --extra-debuginfo-path=path, that allows
specification of an extra directory in which to look for debuginfo
objects. Fixes #310792. (Alex Chiang, achiang@canonical.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13154 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.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/coregrind/m_options.c
cfea784f4432d0ec79e9360ad324b820faada649 20-Oct-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add a FIXME


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13064 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.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/coregrind/m_options.c
5d5dd8e6b7ff782fc89f5b96cecf04839742882b 05-Aug-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> 301265 - add x86 support to Android build

Patch by Dragos Tatulea.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12835 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
d99c26a4bc18fd3b17c4626c9c1fbd1583388660 01-Aug-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement --redzone-size and --core-redzone-size

* For tools replacing the malloc library (e.g. Memcheck, Helgrind, ...),
the option --redzone-size=<number> allows to control the padding
blocks (redzones) added before and after each client allocated block.
Smaller redzones decrease the memory needed by Valgrind. Bigger
redzones increase the chance to detect blocks overrun or underrun.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12807 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
29e022d85378cd303e00c1ec7a8dd60aaed9145a 02-Jul-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add command line flag --trace-notabove which I've found handy.
There are 4 cases now:
(1) Neither --trace-notbelow nor --trace-notabove are given
No superblocks are traced (same behaviour as before)
(2) --trace-notbelow=YY is given
Superblocks in interval [YY ... ] are traced. (same behaviour as before)
(3) --trace-notabove=XX is given
Superblocks in interval [0 ... XX] are traced.
(4) Both --trace-notbelow=YY and --trace-notabove=XX are given
Superblocks in the interval [XX..YY] are traced


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12701 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
1e470b5ec96bdd4fb46750d4e2e596e194af56fe 11-May-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> fix 219156 support static malloc or alternate malloc lib (e.g. tcmalloc) with new option --soname-synonyms

* pub_tool_redir.h : define the prefix to be used for "soname synonym"
place holder
* vg_replace_malloc.c : define synonym place holder for malloc related
functions
* m_redir.c : when detecting a soname synonym place holder redir spec, search
in clo_soname_synonyms if there is a synonym pattern.
If yes, replace the soname pattern. If not, ignore the redir spec.
* various files: implement or document the new clo --soname-synonyms
* new test memcheck/tests/static_malloc.vgtest



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12559 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
78bfc711d3e684c76eeab5f89a94a78d40ed6f4b 08-Dec-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add command-line option --fair-sched=[no|yes|try]. Use --fair-sched=try
when running the annotate_hbefore regression test. Closes #270006.

To do: update manual.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12280 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
deddfdfbd13203804737b95b6bf5861f758ac865 26-Oct-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Disable the GDB server-by-default for the time being on Android, since
the mknod operations fail. It can still be used if you can get past
that point, but you need an explicit --vgdb=yes for the time being.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12233 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
ec062e8d96a361af9905b5447027819dfbfee01a 23-Oct-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update all copyright dates, from 20xy-2010 to 20xy-2011.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12206 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
992d3cc883bd5ee2da28f2a9c307cc006cb1768b 22-Oct-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make vgdb.c work on Android, so that the GDB server as a whole
will work on Android. Fixes #283600.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12204 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
b985e2de52983cafd2d17cc6c9e60064847777fd 29-Sep-2011 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove hardwired /tmp directory in vgdb. Honour VG_TMPDIR
and TMPDIR which was introduced when fixing bugzilla #267020.
Factor out VG_(tmpdir). New function VG_(vgdb_path_prefix).
Partially fixes bugzilla #280757.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12063 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
0ba37c90c4674515da387b30a6e5f23fa75a173c 12-Jul-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Build system fixes so as to temporarily disable the GDBserver on
Android. Making that work will require a bit of extra effort due to
minor glibc-vs-bionic differences.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11885 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
3b290486cd4cd601b20e04340e593c9ed9717e5f 06-May-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement a GDB server in Valgrind. See #214909.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11727 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
9ab64a4d3043c251561419d0e0f51492172b1072 06-Dec-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> New command line option: --trace-children-skip-by-arg, which allows
chase/nochase decisions for child processes to be made on the basis
of their argv[] entries rather than on the name of their executables.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11483 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
14cdbf8f4ac7e49de2bced6546f7867b2e0655f0 12-Oct-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make the --prefix-to-strip=... command-line option added in r11312
behave more like the original proposal in #245535. This makes it
more flexible and general. Also rename it.

* new name is --fullpath-after=

* allow multiple instances of --fullpath-after=

* don't require the specified strings to be prefixes, only substrings

But retain the elegant backwards-compatibility trick in Bart's r11312
commit: if --fullpath-after= is not specified at all, then behave
exactly as before.

Fixes #245535. A mixture of patches from Bart Van Assche
(bart.vanassche@gmail.com), Alexander Potapenko (glider@google.com),
and me (integration and documentation).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11430 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
5dd0190bc0ea66f8ffa7218c66f5a2e1c7b51b30 31-Aug-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added command-line option --prefix-to-strip=... Closes #245535.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11312 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
b1cc5d666cc8f8065419e4a8c819ed0b8256a764 06-Jul-2010 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make error messages at start-up more consistent. Every line of such
messages now begin with "valgrind: ", and they're more often printed before
the preamble. This required introducing a new message kind, Vg_FailMsg, and
functions VG_(fmsg) and VG_(fmsg_bad_option), and removing
VG_(err_bad_option).

Where we used to have horrible output like this:

[ocean:~/grind/ws2] vg5 --tool=massif --threshold=101 date
==31877== Massif, a heap profiler
==31877== Copyright (C) 2003-2010, and GNU GPL'd, by Nicholas Nethercote
==31877== Using Valgrind-3.6.0.SVN and LibVEX; rerun with -h for copyright info
==31877== Command: date
==31877==
==31877== --threshold must be between 0.0 and 100.0
valgrind: Bad option '--threshold'; aborting.
valgrind: Use --help for more information.

We now have nice output like this:

[ocean:~/grind/ws2] vg2 --tool=massif --threshold=101 date
valgrind: Bad option: --threshold=101
valgrind: --threshold must be between 0.0 and 100.0
valgrind: Use --help for more information or consult the user manual.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11209 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
f9ebc3956087ce01561c4ab3faf5a8983b0f7c1c 10-May-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> New flag --require-text-symbol=:sopatt:fnpatt, to be used to check
that specified shared objects contain specified symbols. Along with a
couple of regtests that unfortunately will fail on MacOSX.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11125 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.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/coregrind/m_options.c
064212709dc8988a48d2cbde5b90528952d8cd74 05-Nov-2009 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> New flag: --trace-children-skip=patt1,patt2,etc
Specifies a comma-separated list of executable-names
(with "*" and "?" wildcards allowed) that should not be traced into
even when --trace-children=yes. Modified version of a patch
from Bill Hoffman. Fixes #148932.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10927 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
2d9e874b7a628ada216f09cc4f065798c65fffa4 07-Aug-2009 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Tidy up of messaging:

* For all tools and the core, don't show statistics when -v is in
effect. Instead, try to restrict -v to mostly user-useful
stuff.

* A new flag --stats=no|yes [no] produces statistics output instead.

* Fix longstanding problem in that Memcheck's leak checker ran after
the core's error manager module shut down, thereby not showing use
counts of leak suppressions. This fixes #186790.

* As a consequence, the leak checker text output of Memcheck has
changed a bit -- leak check is done before the final error
summary is done (much more logical), and the output has been
tidied up a bit.

* Helgrind, Drd and Ptrcheck now also print "For counts of
detected and suppressed errors, rerun with: -v", which makes
them consistent with Memcheck in this regard. These are
filtered out by the regtest filter scripts.

For all tools except Memcheck, the regtests are unchanged. On
Memcheck regtests still fail due to rearrangements of the leak
checker output. This will be fixed by a followup commit.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10746 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
97db761d2a94fc7a349aee9359ef85828d9618b6 04-Aug-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Various option-related tweaks:

- Match the ordering of the non-tool-specific options in the usage message
with the order in the user manual. As a result, we now always print
--alignment and --trace-malloc in the core's usage messages, which saves
malloc-replacing tools from doing it themselves (and brings it in line
with options that only apply to error-collecting tools).

- Improved the presentation of the Vex options with --help-debug.

- Removed documentation of -d in the manual because it's a debugging-only flag.

- Documented --read-var-info in the manual. This fixes bug 201169.

- Renamed --auto-run-dsymutil as --dsymutil and documented it in the usage
message.

- Fixed an XML error in manual-core-adv.xml.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10703 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
738856f99eea33d86ce91dcb1d6cd5b151e307ca 15-Jul-2009 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge coregrind/ changes from branches/MESSAGING_TIDYUP r10464.

This commit tidies up and rationalises what could be called the
"messaging" system -- that part of V to do with presenting output to
the user. In particular it brings significant improvements to XML
output.

Changes are:

* XML and normal text output now have separate file descriptors,
which solves longstanding problems for XML consumers caused by
the XML output getting polluted by unexpected non-XML output.

* This also means that we no longer have to hardwire all manner
of output settings (verbosity, etc) when XML is requested.

* The XML output format has been revised, cleaned up, and made
more suitable for use by error detecting tools in general
(various Memcheck-specific features have been removed). XML
output is enabled for Ptrcheck and Helgrind, and Memcheck is
updated to the new format.

* One side effect is that the behaviour of VG_(message) has been
made to be consistent with printf: it no longer automatically
adds a newline at the end of the output. This means multiple
calls to it can be used to build up a single line message; or a
single call can write a multi-line message. The ==pid==
preamble is automatically inserted at each newline.

* VG_(message)(Vg_UserMsg, ..args..) now has the abbreviated form
VG_(UMSG)(..args..); ditto VG_(DMSG) for Vg_DebugMsg and
VG_(EMSG) for Vg_DebugExtraMsg. A couple of other useful
printf derivatives have been added to pub_tool_libcprint.h,
most particularly VG_(vcbprintf).

* There's a small change in the core-tool interface to do with
error handling: VG_(needs_tool_errors) has a new method
void (*before_pp_Error)(Error* err) which, if non-NULL, is
called just before void (*pp_Error)(Error* err). This is to
give tools the chance to look at errors before any part of them
is printed, so they can print any XML preamble they like.

* coregrind/m_errormgr.c has been overhauled and cleaned up, and
is a bit simpler and more commented. In particular pp_Error
and VG_(maybe_record_error) are significantly changed.

The diff is huge, but mostly very boring. Most of the changes
are of the form

- VG_(message)(Vg_UserMsg, "this is a message %d", n);
+ VG_(message)(Vg_UserMsg, "this is a message %d\n", n);

Unfortunately as a result of this, it touches a large number
of source files.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10465 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
5542d8f5047c4f59ed60e72c2d0f1b1d4d149ea8 09-Jun-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Abort if a --log-file filename begins with a '~'.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10281 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
f76d27a697a7b0bf3b84490baf60623fc96a23af 28-May-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge the DARWIN branch onto the trunk.

I tried using 'svn merge' to do the merge but it did a terrible job and
there were bazillions of conflicts. So instead I just took the diff between
the branch and trunk at r10155, applied the diff to the trunk, 'svn add'ed
the added files (no files needed to be 'svn remove'd) and committed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10156 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
9f207460d70d38c46c9e81996a3dcdf90961c6db 10-Mar-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Updated copyright years.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9344 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
9c606bd8634cd6b67bb41fa645b5c639668cfa2d 18-Sep-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge all remaining changes from branches/PTRCHECK. These are some
relatively minor extensions to m_debuginfo, a major overhaul of
m_debuginfo/readdwarf3.c to get its space usage under control, and
changes throughout the system to enable heap-use profiling.

The majority of the merged changes were committed into
branches/PTRCHECK as the following revs: 8591 8595 8598 8599 8601 and
8161.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8621 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
b8b79addf04dd5d0b558916e26df0b1927cbd758 03-Mar-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge in the DATASYMS branch.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7540 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
4d474d086188fd1f29fa97dbd84d8ea2e589a9b8 11-Feb-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates ("200X-2007" --> "200X-2008").


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7398 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
95d86c091a218e904e912354efa4f952a9712e82 18-Dec-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Improve handling of programs which require very large main thread
stacks. Instead of hardwiring the main thread stack to a max of 16MB
and segfaulting the app beyond that point, allow the user to specify
the main stack size using the new flag --main-stacksize=<number>.

If said flag is not present, the current default, which is "MIN(16GB,
current ulimit -s value)", is used.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7302 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
2dd08f575042c604cebf32f2c2002a0fba0ed800 23-Nov-2007 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Tweak VG_(expand_file_name), as per Josef's suggestions.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7204 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
374a36dbfb6d08ed8d77c31a88e198a861ffadf0 23-Nov-2007 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fixed up the log file mess throughout, including the docs. This killed
--log-file-qualifier and --log-file-exactly.

Updated NEWS some in preparation for 3.3.0.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7202 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
3ed1971497f0d58f894ed6a61c30ea3a79b69a25 23-Nov-2007 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add support for %q in --massif-out-file. Todo: use this mechanism for the
core and Cachegrind.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7200 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
6e31f80899f1c79a54f164955069f3f74fe8b7e2 17-Nov-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add a new flag, --child-silent-after-fork=no|yes [no]. When enabled,
causes child processes after fork to fall completely silent, which can
make the output a lot less confusing. In addition it is pretty much
essential in XML output mode, so as to avoid mixing up any child XML
output with the parent's.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7177 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
91b470c367836f65177413ca2a19b25f32fb8ef0 28-Aug-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make the --max-stackframe machinery 64-bit clean.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6788 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
f767d967b9ef331dcd7d0cd4584f6570cd829333 12-Feb-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Essentially non-functional tidyings and improvements to debuginfo
reading. Two sets of changes:

* New flags for debugging the readers.
--debug-dump=syms
--debug-dump=line
--debug-dump=frames

These (currently accepted but nonfunctional) are intended to
create output in the style of (that is, identical to)
/usr/bin/readelf --syms
/usr/bin/readelf --debug-dump=line
/usr/bin/readelf --debug-dump=frames
respectively. The plan is that flaws in these readers can then
be easily found by diff-ing the output against that from readelf.

Also, a new flag --trace-symtab-patt=<object filename pattern>
which is used to limit all debuginfo-related debug info to the
set of shared object names matching the given pattern. This
facilitates extracting the debuginfo details of one specific
shared object, which is usually what is required, rather than
having to wade through megabytes of junk from every object in
the process.

* Propagate the avma/svma/image address-naming scheme
(as described at the top of debuginfo.c) through large parts of
readelf.c and readdwarf.c.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6588 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
650d82a7062b7e95669e73eda169676b5a024b41 12-Feb-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of the unused --model-pthreads flag.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6584 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
9ebd6e0c607fa30301b1325874eb8de871c21cc5 08-Jan-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6488 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
41ded2cf9711091a1bc7a6c1dd2d177e978b05e9 17-Oct-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge r6126:

New option --sym-offsets=yes|no [no], which causes all symbols to be
shown in the form 'name+offset'. Mostly useful for debugging Valgrind
itself.

Also move command-line-error functions from m_main into m_options.

[Will move them back shortly.]



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6263 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
6893d65852940741dbebbc6ba1480e89cf34e30f 15-Oct-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move functions which deal with bad command line options from m_main
into m_options.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6233 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
e4b0bf07b0ee0a18eacc5aba91686ab5fc1d327b 06-Jun-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update copyright dates.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5954 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
b9779088c43db2a576ae43bde0694411c036b1c4 13-May-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> A new flag, --error-exitcode=, has been added, to allow changing the
exit code in runs where Valgrind reported errors. Fixes #121814 and
#126517.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5897 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
33afdb5127da66fc776f2cdcda8c6a0094bf21f5 17-Jan-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Change the default --trace-notbelow= number from zero to infinity,
effectively, since that's a more useful default.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5539 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
bcd75fcb80c13b9828a4c33b0d7acf1499e14135 19-Dec-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove all remaining profiling gunk.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5388 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
628add6061c08b1e93562bd5559e40f6d158bbb6 12-Nov-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rename --simulation-hints as --sim-hints for brevity.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5099 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
74b4cca0cbe20aa94daadd8afba0ba37fbd82084 20-Oct-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove all remaining references to pointercheck. It's sad to see it
go, but realistically we can't implement it portably, at least without
considerable performance overhead and some additional complexity.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4956 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
19617ae5ba420da54f286aaf1ecceafeec6b766a 20-Oct-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> The Spin-Doctor arrives in Valgrind-Land: rename --weird-hacks= to
--simulation-hints=. Bwaha.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4955 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
ce5a566e128da79452a69db9cfe2ecb81395fdcc 06-Oct-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> The m_syswrap subsystem is Valgrind's model of how the kernel behaves
with respect to syscalls. It is detailed and comprehensive but does
not offer a way to deal with minor deviations in behaviour from the
vanilla kernel sources, either due to running a hacked kernel or
running a vanilla kernel with a custom kernel module loaded.

This commit adds a flexible way to handle such cases without polluting
the vanilla handler syswrap-*.c files or their supporting vki_*.h
header files. For each OS, a syswrap-OS-variants.c file is added,
containing wrappers for variants of OS. A new command line flag
--kernel-variants= carries a comma separated list of variant names
that apply to the current run. There are no other changes.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4873 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
8637545b036ec3def92ef093009c9d9517060e39 24-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> --branchpred= doesn't do anything (I'm not sure what it ever did do). Rm'd.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4239 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
3d7c2f0b8e6d8e4a70b6aaaa6f14a29f3b88ef4c 24-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of --support-elan3=. This flag wasn't doing anything since
the Elan3 user-space driver now works on unmodified Valgrind.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4238 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
6c3a219727dead14309abf431f72ca1f99b8ca37 24-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rename --smc-support= to --smc-check=.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4237 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
768db0eac5cd57ab3245f49b0e54fa51b63bc09f 19-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> New command line option: --xml-user-comment=XMLTEXT, which allows
copying of arbitrary bits of XML text to the XML output.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4186 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
ad311169d68e37314f6bd7f05c5501da7b09f789 19-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> New command line option: --log-file-qualifier=VAR. When specified,
the contents of environment variable VAR (viz, $VAR) are incorporated
into logfile names. This makes it easy to incorporate environmental
information into logfile names.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4180 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
26412bd2c4ef3e55683141f132ebd1eb32d8530b 07-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Support for self modifying code on unfriendly platforms (x86, amd64)
via the use of self-checking translations. (Friendly platforms which
have icache-invalidation instructions we can observe, such as ppc32,
are already handled correctly.) This should finally fix the
longstanding problem of V incorrectly handling calls of statically
nested functions (a gcc extension), and more generally make it a lot
easier to use V to debug dynamic code generation systems.

Since self-checking is a large performance overhead, there is some
control via a command line flag:

--smc-support=none

Don't make any translations self-checking.

--smc-support=stack

Add checking code for translations taken from segments which
have the SF_GROWDOWN flag set -- stacks, basically.
This is the default. It should make gcc nested functions and
GNU Ada work correctly with no intervention from the user.

--smc-support=all

Make all translations self-checking. This is expensive and
you want to do this if you're debugging a JIT compiler or
some such.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4122 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
c7561b931e249acf3768ead77638545b0ccaa8f1 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Final commit for the initial modularisation pass:

- Broke part of m_scheduler off into a new module m_threadstate. It
contains ThreadState, VG_(threads)[] and some basic operations on the
thread table. All simple stuff, the complex stuff stays in m_scheduler.
This avoids lots of circular dependencies between m_scheduler and other
modules.

- Managed to finally remove core.h and tool.h, double hurrah!

- Introduced pub_tool_basics.h and pub_core_basics.h, one of which is
include by every single C file.

- Lots of little cleanups and changes related to the above.

- I even did a small amount of documentation updating.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3944 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
71bc3cbb1b6da72fe1d3a9fea90e53847c5b0a6f 19-May-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> First pass at adding ability for Memcheck to print all output in XML
form. The relevant flag is --xml=yes. Currently this only works with
Memcheck.

Specifying this flag fixes various other options relating to verbosity
and behaviour of the leak checker, so that the resulting output is in
a relatively fixed form suitable for parsing by GUIs.

Still to do:

* Add mechanism to show error counts
* Add regression test
* Document the resulting format



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3773 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
a3506d39c8c94f09837558d33c54b110e1ac0ea1 18-May-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Hmm, actually put some code into m_options.c.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3766 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
32824028b51461062a5a282bfd775d4bd4ad6a47 17-May-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Give this file a standard preamble, since having empty C files is
thoroughly confusing.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3759 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c
2024234c590f408994b373abfb00bc2cd2a90c48 17-May-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added module m_options for holding all the command-line option stuff.
Perhaps parts of process_cmd_line_option() should go in here, but I've
not done that for now.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3751 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_options.c