History log of /external/valgrind/coregrind/m_main.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4e1d946c86dffc684a6da4215b66f81573512558 01-Sep-2015 iraisr <iraisr@a5019735-40e9-0310-863c-91ae7b9d1cf9> Document that --read-inline-info=yes is the default
even on Solaris for Memcheck, Helgrind and DRD.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15613 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
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_main.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_main.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_main.c
23e68cad77b0e793e090a87d18c4681e164fdc56 14-Aug-2015 iraisr <iraisr@a5019735-40e9-0310-863c-91ae7b9d1cf9> Newer Solaris has added /proc/self/cmdline and /proc/<pid>/cmdline.
Add support for it in the syswrap machinery and test it more thoroughly.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15545 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
a5e06c36bf9d93461bc8c4351e960888020ea1c4 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@15499 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.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_main.c
9090d2f691fd59c3a67c55e74f3c66c9c5671b01 08-Jul-2015 rhyskidd <rhyskidd@a5019735-40e9-0310-863c-91ae7b9d1cf9> Preliminary support for OS X 10.11 (El Capitan). Refer BZ#348909 for ongoing work.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15403 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
75712710b9c49eedcf4f9caa7d7e17494ac3acf8 30-Apr-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove a few embarassing comments.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15169 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
5af6658cf79cff7256a31369cc8db3e4ee6aa80a 19-Apr-2015 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Ensure we print the memory statistics with the default verbosity,
when giving --stats=yes


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15114 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
112711afefcfcd43680c7c4aa8d38ef180e8811e 10-Apr-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add a port to Linux/TileGx. Zhi-Gang Liu (zliu@tilera.com)
Valgrind aspects, to match vex r3124.

See bug 339778 - Linux/TileGx platform support to Valgrind



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15080 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
52b284b2fb907204dfae5a067e83eed98ea72dd2 09-Apr-2015 carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9> ADD AT_DCACHEBSIZE and AT_HWCAP2 support for POWER PC

Valgrind currently does not support the following AUX vector entries:
AT_DCACHEBSIZE, and AT_HWCAP2. By default these entries are suppressed by
Valgrind. The attached patch adds the needed support so the user level programs
can correctly determine that hardware level they are running on. Specifically
that the ISA 2.07 for Power 8 is supported.

Bugzilla 345695

This fix adds the needed support. It makes a minor change to allow the
VEX settings of the host platform to be passed down so they can be checked
against the HWCAP values.

The files touched are:
coregrind/m_initimg/initimg-linux.c
coregrind/pub_core_initimg.h
coregrind/m_main.c

committed by Carl Love cel@us.ibm.com


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15078 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
05be8f5a120e61c580db4783687021a279388c74 01-Apr-2015 rhyskidd <rhyskidd@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix Darwin: -v does not show kernel version
bz#201435

Before:

== 590 tests, 237 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==

After:

== 590 tests, 237 stderr failures, 22 stdout failures, 0 stderrB failures, 0 stdoutB failures, 31 post failures ==


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15056 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
82e7a5439ce882f99cdb49bc064616d95124738d 26-Mar-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add function VG_(am_is_valid_for_aspacem_minAddr) so that the parser
for command line options does not need to know what addresses are valid
for aspacem_minAddr.
That information should be hidden in the address space manager.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15040 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
924c852b5883a7b42298dc8c7542116bd9a8a485 15-Mar-2015 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> New Option --avg-transtab-entry-size=<number> can be used to tune
the size of the translation table sectors, either to gain memory
or to avoid too many retranslations.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15016 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
e13efb8c07450d580eac8ca419c3dab2afd60a95 11-Mar-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Update a comment.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15000 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
ea8a88c21eecdd9e91c75ccbd3c864e708e2f41b 20-Feb-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Pass in a mask of segment kinds to VG_(get_segment_starts)
and VG_(am_get_segment_starts) to indicate which segments
should be collected. That should solve the following problem:
in m_main.c we used to:

seg_starts = VG_(get_segment_starts)( &n_seg_starts );

for (i = 0; i < n_seg_starts; i++) {
Word j, n;
NSegment const* seg
= VG_(am_find_nsegment)( seg_starts[i] );
vg_assert(seg);
if (seg->kind == SkFileC || seg->kind == SkAnonC) {

...
// ... dynamic memory allocation for valgrind
...
}

This caused the vassert(seg) to fire because the dynamic memory
allocation further down the loop changed segments such that a
valgrind segment which used to be non-SkFree suddenly became
SkFree and hence VG_(am_find_nsegment) returned NULL. Whoom.

With this revision we only collect the segments we're really
interested in. For the example above that is all client segments.
So if V allocates memory -- fine. That will not change the layout
of client segments.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14949 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.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_main.c
13e3f1bcae12ce9c27153b7b4ef7928ec6ba0b98 05-Feb-2015 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix some inconsistent uses of the VG_XACT_CLO macro, by putting an
empty then-body after the condition rather than merely ";", which is
confusing and is inconsistent with the rest of the arg handling code.
No functional change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14904 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
d2190294c9f873c2bb8b6eaa26bfc7a84a2c24a0 08-Jan-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Comment only changes.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14858 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
204197af77d9fff60a9e4659867a3d0350824b14 07-Jan-2015 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> When creating a log-file (xml or otherwise) give everybody
read permission. Previously, only user could read which was
incovenient for some typical workflows.
Suggested in BZ #339542.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14855 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
f44ff62031a5344468774ada6f1b7375dfd85e7b 20-Dec-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Buffer audit. Resize some.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14825 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
35ef415dff31d14eb85929363b316371a05daf4d 17-Dec-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Join two #ifdefs, eliminating one.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14819 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
92b33b5b7cea4c5e566cc5082be1175e65865e79 08-Dec-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Announce, that the long displacement facility is noq required for s390x.
Update minimum machine model. See also VEX r3034.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14802 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
5b99e6669a0b2a925bb3fb2604259cc317963b6d 29-Nov-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix BZ 334802. Patch by Mark Wielaard with a few mods to make it apply.
r14794 is related as well.
Also: remove -Wno-format-zero-length from compile options.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14795 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
77dec3a379afc466a7cff8cfd905d0ccd62e7b46 14-Nov-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Pass buffer size to VG_(elapsed_wallclock_time) so the function
can check it's large enough.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14724 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
894881799a18ca337e48c181589dd3e40cd5b1d9 12-Nov-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Follow up 14714: use a real malloc cost centre instead of an empty string


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14715 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
87c8abb11cf6b50cd15fe081ffc956b723c9d28c 09-Nov-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Change VG_(mkstemp) such that
(a) the 2nd argument must not be NULL
This was true anyhow and requiring it allows us to simplify the function
by eliminating the local buffer.
(b) the memory pointed to by the 2nd argument is always initialised
In the past the output file name was not initialised in case VG_(open)
failed 10 times in a row. The call sites in m_main.c and m_gdbserver/target.c
were reading the uninitialised filename unconditionally. This was spotted
by IBM's BEAM checker.
Fix call sites, eliminate some magic constants along the way.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14706 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
d1678e0a9a903e9a1efec84757b15cd5978a4115 06-Nov-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> On MacOS X 10.10, provide a dummy definition for voucher_mach_msg_set.
Not sure why this is necessary, but without it, the tool executables
don't link. Part of bug 339045.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14696 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
2f87090a21801a0e1ef26369172095d5f86318c7 23-Oct-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add --resync-filter to the --help output.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14662 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
801c199ed5055bed3196db64af09adf69af650a8 17-Oct-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rewrite print_file_vars such that it does not modify its
argument string. Remove an unneeded strdup.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14638 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
3b860fc34b9e4bbbc9682ee2b1e2736f233401b9 28-Sep-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge r14251 from BUF_REMOVAL branch to trunk.
This change eliminates the fixed size buffer when reading /proc/version.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14582 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
a4ca4fef8c189e861492e1e2b36b52ba3fca1725 16-Sep-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix incorrect use of VG_(tool_panic). Adapt checker script accordingly.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14544 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
91ed8ccd3dae8a6abfaa45cc0d250df47b45187f 15-Sep-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Tidy up m_xarray.c.
VG_(newXA) and VG_(cloneXA) never return NULL. Remove pointless asserts.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14539 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
47c6d14dc05ff276692294ebc29070401ab588af 12-Sep-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge r14513 from 3_10_BRANCH (Update docs w.r.t. status of
partially-enabled --read-inline-info.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14520 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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/coregrind/m_main.c
77eb20b3865e7b17c7695c7e7a526b52935f593e 11-Sep-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Use wrapper functions VG_(malloc) and friends consistently across the
board (instead of e.g. VG_(arena_malloc)(VG_AR_CORE,...). This change
also benefits static analysers. We can tell tools that VG_(malloc) allocates
and VG_(free) deallocates and that they are a pair. But we cannot do that for
arena_malloc/free.
Also provide a wrapper VG_(realloc_shrink).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14517 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
88f762e890e5ffdb5f81db9824a75be0c5b85c4d 07-Sep-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Disable default-yes setting of read-inline-info for MacOS, and enable
it for drd on Linux.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14489 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
124e56d42ca77510244fedc937057bd291faa039 06-Sep-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rename "--kernel-variant=android-emulator-no-hw-tls" to
"=android-no-hw-tls" per suggestion from Philippe.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14479 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
122f6afaa5c29d933907e21f5a993e072a3c5745 03-Sep-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Slightly change the help text for some options that involve
user-supplied enumeration values.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14447 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
4450a0efab6e08dc7e40a4dfb5dda7214edb557d 03-Sep-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Improvements for Android:

* All Linux targets: add minimal ioctl support for the ION_IOC family

* Android targets: change proprietary-ioctl support for GPUs from
being a build-time #define kludge to being controlled by --kernel-variant,
as it should be. Update documentation accordingly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14440 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
dcd1ed430651ee2c228cfd283724dba975afe7bf 02-Sep-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make --read-inline-info=yes be the default on Memcheck and Helgrind
(just temporarily).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14423 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
574c2fd17f4eed3943b82eb4626818c9f9c7f646 01-Sep-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix typo in deprecate msg + reformat to 80 char max


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14411 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
882038def4671fdbf544148916ed6936f5ff0ff7 01-Sep-2014 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Deprecate --db-attach Fixes BZ #337871


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14401 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
38a74d2cc4670e3eb559adff51a376cd6ec98005 30-Aug-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> The semantic of the stack bounds is not consistent or is not described.
At various places, there were either some assumption that the 'end'
boundary (highest address) was either not included, included,
or was the highest addressable word, or the highest addressable byte.
This e.g. was very visible when doing:
./vg-in-place -d -d ./helgrind/tests/tc01_simple_race|&grep regi
giving
--24040:2:stacks register 0xBEDB4000-0xBEDB4FFF as stack 0
--24040:2:stacks register 0x402C000-0x4A2C000 as stack 1
showing that the main stack end was (on x86) not the highest word
but the highest byte, while for the thread 1, the registered end
was a byte not part of the stack.

The attached patch ensures that stack bounds semantic are documented and
consistent. Also, some of the stack handling code is factorised.

The convention that the patch ensures and documents is:
start is the lowest addressable byte, end is the highest addressable byte.
(the words 'min' and 'max' have been kept when already used, as this wording is
consistent with the new semantic of start/end).

In various debug log, used brackets [ and ] to make clear that
both bounds are included.

The code to guess and register the client stack was duplicated
in all the platform specific syswrap-<plat>-<os>.c files.
Code has been factorised in syswrap-generic.c

The patch has been regression tested on
x86, amd64, ppc32/64, s390x.
It has been compiled and one test run on arm64.
Not compiled/not tested on darwin, android, mips32/64, arm


More in details, the patch does the following:

coregrind/pub_core_aspacemgr.h
include/valgrind.h
include/pub_tool_machine.h
coregrind/pub_core_scheduler.h
coregrind/pub_core_stacks.h
- document start/end semantic in various functions
also in pub_tool_machine.h:
- replaces unclear 'bottommost address' by 'lowest address'
(unclear as stack bottom is or at least can be interpreted as
the 'functional' bottom of the stack, which is the highest
address for 'stack growing downwards').
coregrind/pub_core_initimg.h
replace unclear clstack_top by clstack_end
coregrind/m_main.c
updated to clstack_end

coregrind/pub_core_threadstate.h
renamed client_stack_highest_word to client_stack_highest_byte
coregrind/m_scheduler/scheduler.c
computes client_stack_highest_byte as the highest addressable byte
Update comments in call to VG_(show_sched_status)
coregrind/m_machine.c
coregrind/m_stacktrace.c
updated to client_stack_highest_byte, and switched
stack_lowest/highest_word to stack_lowest/highest_byte accordingly

coregrind/m_stacks.c
clarify semantic of start/end,
added a comment to indicate why we invert start/end in register call
(note that the code find_stack_by_addr was already assuming that
end was included as the checks were doing e.g.
sp >= i->start && sp <= i->end

coregrind/pub_core_clientstate.h
coregrind/m_clientstate.c
renames Addr VG_(clstk_base) to Addr VG_(clstk_start_base)
(start to indicate it is the lowest address, base suffix kept
to indicate it is the initial lowest address).

coregrind/m_initimg/initimg-darwin.c
updated to VG_(clstk_start_base)
replace unclear iicii.clstack_top by iicii.clstack_end
updated clstack_max_size computation according to both bounds included.

coregrind/m_initimg/initimg-linux.c
updated to VG_(clstk_start_base)
updated VG_(clstk_end) computation according to both bounds included.
replace unclear iicii.clstack_top by iicii.clstack_end

coregrind/pub_core_aspacemgr.h
extern Addr VG_(am_startup) : clarify semantic of the returned value
coregrind/m_aspacemgr/aspacemgr-linux.c
removed a copy of a comment that was already in pub_core_aspacemgr.h
(avoid double maintenance)
renamed unclear suggested_clstack_top to suggested_clstack_end
(note that here, it looks like suggested_clstack_top was already
the last addressable byte)

* factorisation of the stack guessing and registration causes
mechanical changes in the following files:
coregrind/m_syswrap/syswrap-ppc64-linux.c
coregrind/m_syswrap/syswrap-x86-darwin.c
coregrind/m_syswrap/syswrap-amd64-linux.c
coregrind/m_syswrap/syswrap-arm-linux.c
coregrind/m_syswrap/syswrap-generic.c
coregrind/m_syswrap/syswrap-mips64-linux.c
coregrind/m_syswrap/syswrap-ppc32-linux.c
coregrind/m_syswrap/syswrap-amd64-darwin.c
coregrind/m_syswrap/syswrap-mips32-linux.c
coregrind/m_syswrap/priv_syswrap-generic.h
coregrind/m_syswrap/syswrap-x86-linux.c
coregrind/m_syswrap/syswrap-s390x-linux.c
coregrind/m_syswrap/syswrap-darwin.c
coregrind/m_syswrap/syswrap-arm64-linux.c
Some files to look at more in details:
syswrap-darwin.c : the handling of sysctl(kern.usrstack) looked
buggy to me, and has probably be made correct by the fact that
VG_(clstk_end) is now the last addressable byte. However,unsure
about this, as I could not find any documentation about
sysctl(kern.usrstack). I only find several occurences on the web,
showing that the result of this is page aligned, which I guess
means it must be 1+ the last addressable byte.
syswrap-x86-darwin.c and syswrap-amd64-darwin.c
I suspect the code that was computing client_stack_highest_word
was wrong, and the patch makes it correct.
syswrap-mips64-linux.c
not sure what to do for this code. This is the only code
that was guessing the stack differently from others.
Kept (almost) untouched. To be discussed with mips maintainers.

coregrind/pub_core_libcassert.h
coregrind/m_libcassert.c
* void VG_(show_sched_status):
renamed Bool valgrind_stack_usage to Bool stack_usage
if stack_usage, shows both the valgrind stack usage and
the client stack boundaries
coregrind/m_scheduler/scheduler.c
coregrind/m_gdbserver/server.c
coregrind/m_gdbserver/remote-utils.c
Updated comments in callers to VG_(show_sched_status)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14392 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
b071b71d1450f8c6f120eb9451a89cd449b3a8f4 24-Aug-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> 338499 --sim-hints parsing broken due to wrong order in tokens (after introduction of no-nptl-pthread-stackcache)
Fix the token order in m_main.c

Somewhat retested by running the regression tests
(testing no-nptl-pthread-stackcache) and testing in an outer/inner setup
(testing enable-outer,no-inner-prefix).
It seems there is no regtest for the 2 other flags (lax-ioctls,fuse-compatible)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14349 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
b16609bf952bf381154cb6cba87efc99c2c86a23 20-Aug-2014 florian <florian@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
/external/valgrind/coregrind/m_main.c
9848690cfe9c59a8a92d4be6e5b43c77786066ee 20-Aug-2014 philippe <philippe@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
/external/valgrind/coregrind/m_main.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_main.c
582d58245637ab05272d89fb94b12fd0f18fa0f8 08-Aug-2014 carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9> This commit is for Bugzilla 334834. The Bugzilla contains patch 2 of 3
to add PPC64 LE support. The other two patches can be found in Bugzillas
334384 and 334836.

POWER PC, add the functional Little Endian support, patch 2

The IBM POWER processor now supports both Big Endian and Little Endian.
The ABI for Little Endian also changes. Specifically, the function
descriptor is not used, the stack size changed, accessing the TOC
changed. Functions now have a local and a global entry point. Register
r2 contains the TOC for local calls and register r12 contains the TOC
for global calls. This patch makes the functional changes to the
Valgrind tool. The patch makes the changes needed for the
none/tests/ppc32 and none/tests/ppc64 Makefile.am. A number of the
ppc specific tests have Endian dependencies that are not fixed in
this patch. They are fixed in the next patch.

Per Julian's comments renamed coregrind/m_dispatch/dispatch-ppc64-linux.S
to coregrind/m_dispatch/dispatch-ppc64be-linux.S Created new file for LE
coregrind/m_dispatch/dispatch-ppc64le-linux.S. The same was done for
coregrind/m_syswrap/syscall-ppc-linux.S.

Signed-off-by: Carl Love <carll@us.ibm.com>

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14239 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
cae0cc22b83ffb260ee8379e92099c5a701944cb 08-Aug-2014 carll <carll@a5019735-40e9-0310-863c-91ae7b9d1cf9> This commit is for Bugzilla 334384. The Bugzilla contains patch 1 of 3
to add PPC64 LE support. The other two patches can be found in Bugzillas
334834 and 334836. The commit does not have a VEX commit associated with it.

POWER PC, add initial Little Endian support

The IBM POWER processor now supports both Big Endian and Little Endian.
This patch renames the #defines with the name ppc64 to ppc64be for the BE
specific code. This patch adds the Little Endian #define ppc64le to the

Additionally, a few functions are renamed to remove BE from the name if the
function is used by BE and LE. Functions that are BE specific have BE put
in the name.

The goals of this patch is to make sure #defines, function names and
variables consistently use PPC64/ppc64 if it refers to BE and LE,
PPC64BE/ppc64be if it is specific to BE, PPC64LE/ppc64le if it is LE
specific. The patch does not break the code for PPC64 Big Endian.

The test files memcheck/tests/atomic_incs.c, tests/power_insn_available.c
and tests/power_insn_available.c are also updated to the new #define
definition for PPC64 BE.

Signed-off-by: Carl Love <carll@us.ibm.com>


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14238 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
597314210494248b4fbefd45525a748439629218 24-Jul-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Track vex r2910 (infrastructural improvements in representation of
endianness in VEX).

In short: in m_machine.c, VG_(machine_get_hwcaps), get the endianness
of the host, and pass it through to all places (in VEX) where it is
required.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14184 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
5ee7277c4a143d162e81e42dd6e2866a2a79f497 08-Jul-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> OSX 10.8/10.9: remove warning message.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14143 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
882a9ec10adb845bc23d5deae234146b42b91dce 08-Jul-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Darwin only: don't tell aspacemgr about the kernel commpage -- only
tell the tool. This is because telling the aspacemgr about it causes
the sync checker to fail entirely on Darwin.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14137 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
a6efdfaf009a61c5a09a053dd4ccfa8719ffd8d1 24-Jun-2014 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rename --defaultsupp into --default-suppressions as requested by Julian

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14090 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
ec66ad5f33a4d904b1f728935ec6ee29b58a55ec 20-Jun-2014 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add initial build support for Mac OS X 10.9 (Mavericks). Bug 326724
comment 12. (Diego Giagio, diego@giagio.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14055 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.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_main.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_main.c
e4d78123089e55bec64a4f848bdc09556192e259 20-Apr-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> * New option --aspace-minaddr=<address> allows to (possibly) make
use of some more memory by decreasing the default value
or solve some conflicts with system libraries by increasing the value.
See user manual for details.

Note that the lowest accepted possible value is 0x1000, which is
the current value used by Macos in 32bits.
On linux, 0x10000 (64KB) seems to cause not much conflicts.

Default values are unchanged (i.e. are the same as when there
was no clo option).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13901 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
4f6f336badda2171d6e842cca3de63b53f4c9f0b 19-Apr-2014 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Several improvements to (internal) statistics reporting about memory usage,
making it easier to understand the memory and/or oom situation.
No functional (user level) change.

* For --profile-heap=yes, sort the cost centers by decreasing size,
so that the most relevant cost centers are closed to the arena
total.

* factorise duplicated code calling a series of print stat functions

* VG_(show_sched_status)
optionally show the host stacktrace
the amount of valgrind stack used by each thread
the exited threads

* various functions: update to add VG_(show_sched_status) new
args, keeping the same info production as before.

* In case of out of memory situation detected by m_mallocfree.c,
reports more information:
valgrind and tool stats
scheduler status (full information)

* gdbserver v.info scheduler :
show full information.

The oom behaviour/reporting was tested using a small
program causing an OOM, and having several threads
(some terminated, some still active).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13897 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.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_main.c
854be4c99a87b732e2b711749f9db4461b57acac 22-Oct-2013 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> In an inner valgrind, register the interim stack earlier

The "late" registration of the interim stack is causing false
positive non addressable memcheck errors in x86.

Registering the interim stack earlier avoids these false positive.

Note however that this is just a bypass for the problem.

I believe there is a more fundamental problem in m_stacks.c stack handling:
In case a thread is switching of stack while the new stack is not yet
registered, the stack switching code will keep the old stack as current stack,
as the stack corresponding to the new sp cannot be found.
In such a case, the zone between the old and new SP in this unknown stack
can be marked either as addressable (if unknown stack is growing)
or unaddressable (if unknown stack is shrinking).
Then at some point in time, the new stack is registered.
If just after that, the sp is changed so as to grow the stack
by nr of bytes not determinable at translation time, VG_(unknown_SP_update)
will be called, will detect the stack switch and will do nothing.
This leaves a certain zone of the stack (the grown zone) in a not
addressable state, as the stack switch code has in fact wrongly
guessed a stack switch, while in fact what should have been detected
is just a sp change in a stack previously unknown.

Proper fixes might be:
1. in "IF_STACK_SWITCH_SET_current_stack_AND_RETURN", do not return
if old and new sp are in the stack stack.
rather continue so as to execute correctly the sp change in
the newly discovered stack.
and/or
2. in the stack registration code (client request), if the current SP
is inside the stack being registered, also set the current stack
to the just registered stack pointer

None of these fixes are being looked at currently, as such changes looks
too adventurous close to 3.9.0



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13674 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.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_main.c
a11ec17946cdbafb336e9121b64961c0633af2e7 18-Oct-2013 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Followup to r13652 (make the translation cache size be command-line
controllable): reduce MAX_N_SECTORS to 24, speed up Sector
initialisation, wording tweaks.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13655 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
8e1bee406c191820bc3b22bf55cfa69ef5fdcd8b 18-Oct-2013 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Allow the user to dimension the translation cache
A previous commit had decreased to 6 (on android) and increased to 16
(other platforms) the nr of sectors in the translation cache.
This patch adds a command line option to let the user specify
the nr of sectors as e.g. 16 sectors might be a lot and cause
an out of memory for some workloads or might be too small for
huge executable or executables using a lot of shared libs.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13652 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
124b9f2ef50e64cbf02c75ec14039b6016fe9f9e 16-Oct-2013 dejanj <dejanj@a5019735-40e9-0310-863c-91ae7b9d1cf9> mips64: Fix compiler warning.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13650 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
1a046d5a3c34f924b648cc22c01f0a8e02ca221e 16-Sep-2013 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Include pub_core/tool_clreq.h instead of valgrind.h where apropriate.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13555 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
c91f58449e6fc2a4ce0851639a342c4277612fbb 15-Sep-2013 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix inclusion of header files in coregrind. No pub_tool_*.h should be
included here.
Added pub_core_poolalloc.h and renamed pub_tool_inner.h to pub_core_inner.h.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13548 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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
3bcd51daf1fbfdec973b102e245dd5833e2c48a3 12-Jun-2013 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> improve --help for --main-stacksize and supported ARM cpu
If the command line option --main-stacksize is not used,
the current ulimit value is used, with a min of 1MB
and a max of 16MB. Document this min/max default formula
in the --help.

Also indicate that Valgrind supports ARMv7


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13426 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
cc64826c2f8de556af52f5dcde42cfdac725ed0a 26-May-2013 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> fix 320211 Stack buffer overflow in ./coregrind/m_main.c with huge TMPDIR
* Addition of a function to compute size of buffer needed for VG_(mkstemp)
* Use it to dimension buffers for all VG_(mkstemp) calls.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13409 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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/coregrind/m_main.c
e70c45edc5792ff47eb57cd4d6b986b31a62290d 15-Feb-2013 petarj <petarj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add Valgrind's implementation of memmove to avoid link issue

One of the recent changes, r2682 (Make HReg a struct), caused a build
break on several x86_64 and MIPS build bots/platforms that used older
gcc versions. The issue was that compilers generated calls to memmove,
and since it was built with -nodefaultlibs, the entry could not be
resolved. The fix wraps VG_(memmove) in memmove().


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13288 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
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_main.c
f3a6e930e9ad3214a39eb3c8ff6c53a97acac4d7 10-Jan-2013 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Addition of GDB server monitor command 'v.info execontext' that shows
information about the stack traces recorded by Valgrind.
This can be used to analyse one possible cause of Valgrind high
memory usage for some programs.

At work, a big set of regression tests crashed out of memory under Valgrind.

Two main causes for out of memory were identified:
1. big memory usage for stacktrace (exe contexts) recording by Valgrind
2. big number of partially initialised bytes.

This patch adds a gdbsrv monitor command that output (very) detailed
information about all the recorded exe context.

This has been used to analyse the problem 1. above,
showing the following identified causes for a (too) big nr of execontexts:

A. When the JIT handles an unknown SP update, even when --track-origins=no,
an execontext is (uselessly) created and recorded
to track the (never used) origin of some uninitialised stack memory.
This creates a whole bunch of 'one IP' execontexts.

B. same problem in handling some system calls (at least the brk system
calls always records an origin, even when --track-origins=yes).

C. The Valgrind unwinder cannot properly unwind some stack traces.
It unwinds a few frames, then go bezerk and stops at a "random" IP.
This then causes the same "logical" stacktrace to be truncated
and records thousands of times with this "differentiating" last IP.


For problem cause 2 above ( a lot of partially initialised bytes),
the idea is to similarly add another gdbsrv commands that will output
statistics about which stack traces are causing a lot of uninitialised bytes.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13220 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.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_main.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_main.c
6bd9dc18c043927c1196caba20a327238a179c42 23-Nov-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Changes to allow compilation with -Wwrite-strings. That compiler option
is not used for testcases, just for valgrind proper.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13137 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
dbb3584f591710a15a437918c0fc27e300993566 27-Oct-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> More Char/HChar fixes and constification.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13088 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
e543f3024ace2925a0fb81985e9fcfc95b8c555a 21-Oct-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> First round of Char/HChar fixups for coregrind and memcheck.
Little bit of ripple in tools, too.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13074 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
c3360388cc73eff2327d40d5f3ed313b9e548591 21-Oct-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix 308644 vgdb command for having the info for the track-fds option

(allows to have the list of opened fds and the associated info
on request from GDB or from the shell, using vgdb)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13072 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
e6a4ed1f6c9fe93915d14c204700f91b948af201 21-Oct-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix a few compiler warnings.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13067 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
0447bbd096d5b08db6e4483b8138888a9fa0802a 17-Oct-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix 308341 vgdb should report process exit (or fatal signal)
patch from Mark Wielaard.
(with small modifications).
Also clarified some comments related to the resume reply.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13052 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
2b8059ad8e01f0928e8767ae25b9103c4ef15f18 14-Oct-2012 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix some more Char / HChar mixups


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13042 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
06444379afbcc0543532872b0e1896c66d2cdf01 12-Oct-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Some wrong options silently ignored if starting with same letters as valid option

For example, options below are silently "accepted"+ignored:
valgrind --profile-heaps=yes --max-stackframes=35 memcheck/tests/trivialleak
valgrind --profile-heaps=oui --max-stackframes=3.141592654 memcheck/tests/trivialleak

Also fixed the on-line --help output for option --core-redzone-size



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13037 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
41ad7e73914ee13bd1467ce48a1532570218e327 04-Oct-2012 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement a fake /proc/self/auxv file for linux systems.
Patch from Mark Wielaard to fix BZ#253519.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13019 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
ed8b0f6c76ea9557798352d20a11d1c2156da737 02-Sep-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> "Fix" stack bounds check when compiled by Clang 4.0. Fix from Andrew
Morrow, analysis by Florian Krohm.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12947 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
5b240c20b48c86955e574d5880a145927c60a686 15-Aug-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement --vex-iropt-register-updates=sp-at-mem-access

Option sp-at-mem-access can be used by tools which do not
need an up to date BP and IP at each mem access.
It is needed however to have SP up to date at each memory
access, as an up to date SP is needed to grow the stack in
m_signals.c

Tools massif, cachegrind and callgrind are using sp-at-mem-access
as default.
None tool could also use sp-at-mem-access but default is kept
to unwindregs-at-mem-access (similar to memcheck, drd, helgrind, exp-sgcheck).

exp-dhat, exp-bbv, lackey have not been looked at to see if they
could make use of sp-at-mem-access.

Validated on x86, amd64, ppc64 and s390x.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12872 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
260c6486b5484b7dfd016248706c2aa555668768 07-Aug-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add a couple of useful examples to the --help text for
--soname-synonyms.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12855 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
ae284e5cc0830afcdec7b436564ea9f18bbedff8 02-Aug-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add initial support for MacOSX 10.8. Note this is still very borked
and pretty much unusable for real work.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12814 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
0c0291ae749d16571a18d48f546e2b14d2ebf220 02-Aug-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove --vex-iropt-precise-memory-exns, implement --vex-iropt-register-updates

* Option --vex-iropt-precise-memory-exns has been removed.
It is replaced by --vex-iropt-register-updates which accepts
3 values : 'unwindregs-at-mem-access' (replacing
--vex-iropt-precise-memory-exns=no), 'allregs-at-mem-access'
(replacing --vex-iropt-precise-memory-exns=yes)
and a new value 'allregs-at-each-insn'.
'allregs-at-each-insn' allows the Valgrind gdbserver to always
show up to date values to GDB.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12809 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
5e21d44c62d8ff10aaa88e0dc9f13a5632be193a 21-Jul-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> ppc64-linux _start: don't assume ._start_in_C_linux -- the function
descriptor for _start_in_C_linux -- actually exists. Instead call the
entry point directly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12768 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
14711e8c52964f38787754070069453337240c48 15-Jun-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Have the inner Valgrind registering the interim_stack asap.
This is needed to have the outer valgrind able to do stack
traces of the inner Valgrind before the main thread runs.
Without this, the outer crashes (segv) when doing a stack trace.
In mtV.txt, an ugly kludge was described to avoid this crash.
This is the clean solution replacing the kludge.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12638 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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/coregrind/m_main.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_main.c
291849fb0285e0998b4c9e33eb153eb3373c4a88 21-Apr-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge branches/TCHAIN from r12476 (its creation point) into trunk.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12517 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
9fdca565049e35998c06d96ca97beb84d9c7f39d 17-Apr-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> add some .globl or used attribute to avoid link failures with gold linker + LTO

When doing experiment with gcc 4.7.0 and link time optimisation,
encountered link failures on amd64 which were solved by adding
.globl and used attribute.
=> added .globl in similar places for arm/x86/ppc32/s390.
Did not touch darwin (which asm seems somewhat different).




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12506 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
0b8f0b517ea79f15e447391ebd3bf404c66e80f6 06-Apr-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> TCHAIN: remove caused_discard* argument to VG_(translate)
This is the followup to rev 12488.
With this revision, translation chaining is not done
if the translation with 'from address' is not existing
anymore (discarded or erased).
The assumption documented in 12488 comment has been checked by:
* first reproduce a crash in Firefox when always setting
caused discard to False
* then upgrade to rev 12488
* with this upgrade, no crash anymore.
=> this verifies that the caused discard logic is properly
replaced by revision 12488.

So, the caused discard logic can be removed.



git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12492 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
13315250a9fa3d7f1947f38521474ab3def8690a 02-Apr-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add translation chaining support for amd64, x86 and ARM
(Valgrind side). See #296422.



git-svn-id: svn://svn.valgrind.org/valgrind/branches/TCHAIN@12484 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
72faf10172c04674ac1e31cf4f7e57be241da7da 11-Mar-2012 philippe <philippe@a5019735-40e9-0310-863c-91ae7b9d1cf9> Allows to run regression tests in an outer/inner setup.

A '3 lines how to':
perl tests/vg_regtest --outer-valgrind=../trunk_untouched/install/bin/valgrind --all
(the outer results for a test xxx is in xxx.outer.log)
To run with another tool (e.g. drd), add the argument --outer-tool=drd


Still to do/things to improve:

* Most (inner) tests are successful when running under an outer
memcheck. Need to analyse the reasons of remaining failures.

* The memcheck annotations in m_mallocfree.c can be improved:
- A superblock is marked 'undefined', it should rather be marked
'no access'.
- When a free block is splitted, the remaining free block is
not made 'no access'. Instead, it is made 'undefined'.
=> this decreases the chance to find bugs.
=> this is not very efficient (e.g. the rest of a superblock
is often marked undefined repetitively).
Similarly, the free block created by VG_(arena_memalign)
is marked 'undefined'. 'No access' would be preferrable.
- mkInuseBlock marks the new block as undefined. This is probably
not needed, as VALGRIND_MALLOCLIKE_BLOCK will do it already.
- VG_(arena_malloc) should give the requested size to
VALGRIND_MALLOCLIKE_BLOCK, not the malloc usable size,
as this decreases the chance to find buffer overrun bugs.
But giving the requested size is tricky (see comments in
the code).

* need to do memcheck annotations in m_poolalloc.c
so as to allow leak checking for pool allocated elements.

* vg_regtest.in
- should analyse the results of the outer and should
produce a separate result for the tests for which
the outer detects an error or a memory leak or ...


Changes done:
README_DEVELOPERS: document the new outer/inner features.
manual-core.xml: document the new sim-hint no-inner-prefix
tests/outer_inner.supp: new file, containing the suppressions for inner.
vg_regtest.in: implement new args --outer-valgrind, --outer-tool, --outer-args.
m_mallocfree.c: annotations for memcheck.
m_libcprint.c: handle the new sim-hint no-inner-prefix
m_main.c: do an (early) parse of --sim-hints




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12441 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
27233e99d0964be703299c7f83396f1864d7b5d0 08-Mar-2012 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> When analyzing Valgrind with drd, suppress uninteresting race reports on VG_(threads)[].status

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12432 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
691973656b0e291dd64bd376fb6b812b0ff10c6a 07-Mar-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Ah, the joys of applying patches by hand. Redo r12424 but get the
patch in the right place this time. re #295428.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12425 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
d9dbbc999f72d3b82adcccde3a72c34ee908146b 07-Mar-2012 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> x86-darwin: _start: keep the stack 16-aligned. Fixes #295428.
(Jack Howarth, howarth@nitro.med.uc.edu)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12424 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
5f2dcad945d0bf3aaa9c9449ae90a5f2ca69adf1 24-Oct-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't break fcntl locks when program does mmap. #280965.
(Rusty Russell, rusty@rustcorp.com.au)

tdb uses fcntl locks and mmap, and some of the tests fail under valgrind.
strace showed valgrind opening the tdb file, reading 1024 bytes, then closing
it. This is not allowed: POSIX says if you open and close a file, all fcntl
locks on it are dropped (insane, yes).

Finally got around to hacking the source to track this down: di_notify_mmap is
doing the damage. The simplest fix was to hand in an optional fd for it to
use, then have it do pread.

I had to fix your pread; surely this should seek back even if the platform
doesn't have pread support?



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12224 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
4d4b644dcb8c9050088ed4885e58ec56d2f10205 22-Oct-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix a compiler warning introduced in r12188

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12192 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
a92677a23a255ddccab0da1b5a788bdc08b1946d 22-Oct-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> XML output: escape XML-metacharacters in executable path and arguments. This is a modified version of the patch submitted by Evgeniy Stepanov <eugeni.stepanov@gmail.com>. See also #284621.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12188 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
6c63f5cd48a55ef1946ba67582312bc5aa27255e 11-Oct-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Emit <state>RUNNING</state> earlier

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12136 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
db4384ee8cf1c5325b1018bb3e7d63f14b8b132f 11-Oct-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add format specifier %ps: only escape XML-metacharacters for --xml=yes

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12135 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
b3af9cf0b234d0d188347d92944e04ac9c8fbcd0 06-Oct-2011 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Format functions: change format specifier %t into %pS. Remove the _no_f_c formatting function variants.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12108 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
95a128b74e1a3566107b3969b2a9a1644d0b80d5 29-Sep-2011 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix a regression (none/tests/cmdline[12]) which was introduced
by r12063.
VG_(clo_vgdb_prefix) was used before it was initialized.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12064 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
70d71c7de8d70615d17be7bcd3b0e047d455fbfb 23-Aug-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix link error for 32-bit build on OSX 10.7 (Lion). This is the
failure referred to in #275168 comment 0.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12000 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
cc3de2dfcb3b724ecd305d9a30e9095fae6664c5 18-Aug-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add a new simulation hint, --sim-hints=fuse-compatible, which causes
a bunch of file-related syscalls to be handled on the might-block
syscall path rather than the fast syscall path. This fixes deadlocks
when running some FUSE-specific filesystem codes. Fixes #278057.
(Mike Shal, marfey@gmail.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11993 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
1763e815a2ae21db24f7a819f0a713ac0cf8a239 12-Jul-2011 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make the location for temporary files configurable at runtime.
To that effect observe the environment variable TMPDIR. If defined,
its value takes precedence over VG_TMPDIR.
Because the directory name is no longer a compile time constant,
VG_(err_config_error) was changed to take a variable argument list.
Fixes #267020.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11892 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
9db56aef2b84a2e7cce98abdcc1078b0e5b42603 12-Jul-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Allow selection of an alternative location for temporary files at
configure time, via the --with-tmpdir flag. The configure.in part of
this was mistakenly committed already in r11872 as first hunk of the
configure.in change. Bug 266035 comment 11. (Kenny Root,
kroot@google.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11881 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
87cd71c793b1a83e6cf356a222b01d3d0bdb3380 05-Jul-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make the wait-for-gdb delay loop somewhat more modern-compiler-proof.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11855 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
6e9de463ef677f093e9f24f126e1b11c28cf59fd 28-Jun-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Delete the AIX5 port. The last release this worked for is 3.4.1,
and then only on AIX 5.2 and 5.3.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11842 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
1568e17cf07007c677274ce877973c7ed9357df2 18-Jun-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Minor GDBserver source tidying. Also a small usability fix: if
--vgdb-error=N is specified, print a bit of text telling the user the
magic commands to give GDB in order to attach to the process.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11822 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
6dbcc639e7138f80cf82f5bbcd426df0a293eb0d 07-Jun-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add a fourth --smc-check= variant, --smc-check=all-non-file. This
adds self-modifying-code checks to all guest code taken from mappings
which are not file backed, but omits checks in code from file backed
mappings. This has the effect of giving complete smc-coverage of JIT
generated code -- since that is invariably generated into anonymous
mapped areas -- without burdening non-JIT generated code with such
checks. Running Firefox 6, --smc-check=all-non-file reduces by a
factor of between 3 and 10 the number of translations requiring a self
check, compared to --smc-check=all. These changes depend on the vex
interface changes in r2158.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11798 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
b51c92643ba9d1a7e3cc6bcee517579171a8d603 03-May-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> arm-linux: Set _start symbol alignment and type. Bug 266035 comment 1.
(Jeff Brown, jeffbrown@google.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11720 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
6c591e15c1d6402a2a755310f005f795b68e7e38 11-Apr-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Create new module m_libcsetjmp, which wraps up uses of
__builtin_setjmp and __builtin_longjmp so that they can be selectively
replaced, on a platform by platform basis. Does not change any
functionality. Related to #259977.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11687 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
c7ffc94890e120c72d5802487b1092425323dc02 28-Mar-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix up most but not all warnings generated by gcc-4.6 about
dead assignments ("[-Wunused-but-set-variable]").



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11673 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
b5b87408c0c99f9f6938d8cd921e2a5f420577c4 07-Mar-2011 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add a port to IBM z/Architecture (s390x) running Linux -- Valgrind
side components. (Florian Krohm <britzel@acm.org> and Christian
Borntraeger <borntraeger@de.ibm.com>). Fixes #243404.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11604 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
e089f012b564f8abef451fe7a5a135a71fb6488d 13-Oct-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Documentation update for 3.6.0 (not including NEWS).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11440 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
e05b3a455d461d0933b524535ab5c5c8185d9f9a 07-Sep-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Consistency improvement: made sure that VG_TRACK(die_mem_stack, address, len)
is not invoked with a zero third argument.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11342 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
38efe4bdd7f8b455a5e18f97a099d1d4588b80f8 22-Aug-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge from branches/THUMB: link-time stub needed on Ubuntu 10.04 (ARM)
(maybe. actually I am not sure why this is necessary).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11284 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
743a208e8bafcd938ec85e33e24e135e3eebfa6c 23-Jul-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> In XML mode, properly escape test strings in the preamble.
Fixes #244923. (Zhujunling@huawei.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11227 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
cce38e605411e11dda9b9eba5dea5a85f92a8d8f 06-Jul-2010 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make -h -h be equivalent to --help-debug.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11211 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
0af71bb4ab0c99a54c3f510a3a3b1458697214f0 01-Jul-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Give prototypes for the 64-bit integer division replacements, so
gcc doesn't complain about the lack thereof. (x86-darwin only).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11206 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
ea2d6fd6aaf98d261df9fdf580542ebf01b7fba4 01-Jul-2010 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merged the MACOSX106 branch to the trunk. Merge command:

svn merge -r11143:HEAD svn://svn.valgrind.org/valgrind/branches/MACOSX106

There were some easy-to-resolve conflicts.

Then I had to fix up coregrind/link_tool_exe*.in -- those files had been
added independently on both the trunk and the branch, AFAICT. I just
overwrote the trunk versions with the branch versions.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11194 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
a3054f590c3430e6406e7ba4273170131e1188ab 14-Jun-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fixed compiler warnings about casting from const char * to char *.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11176 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
82616e1875245424a0c70b0a25331fc298b013b3 13-Jun-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Made the abort() function available on PPC too.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11172 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.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_main.c
f6122a06222625b8e632a19ad1a09a8f13e26afe 27-Mar-2010 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> The help text printed by command-line option -h does now show the default
value for option --read-var-info. Fixes bug #231458.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11097 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
540cc4a46fea7e3fef9703fb1c8c106b5b558fd7 15-Jan-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add command line flag --vex-guest-chase-cond=no|yes [no] to control
whether front ends should speculatively chase through conditional
branches. Disabled by default.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11026 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
59570ffbe31930ab4d678754daaeec0715117a3d 01-Jan-2010 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge from branches/ARM, all parts of the ARM-Linux port except for
the changes to do with reading and using ELF and DWARF3 info.
This breaks all targets except amd64-linux and x86-linux.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10982 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
9b533f803bec4634f1106e4d4a7063d49c9694e7 25-Aug-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Switched back from dynamic detection of whether the proc filesystem
is mounted to compile-time logic in order to minimize the differences
in behavior with Valgrind version 3.5.0.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10868 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
cf3f7181d94bd6f9f060b917c59a976ab899762d 25-Aug-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Renamed the function VG_(have_proc_filesystem)() into
VG_(is_procfs_mounted)(). The old name was derived from the name
of the preprocessor macro HAVE_PROC while the new name is a more
accurate description of what this function does.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10867 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
299c2d3b2af94e509b467d9e980308976183d95a 23-Aug-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> The configure-time test whether the proc filesystem is mounted (introduced
in r10156) broke cross-compilation. This patch converts the configure-time
test into a runtime test. Should fix bug #204843.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10860 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
7ca100d63d7dd3b159efbc1d49bae8e5bd3a41cb 16-Aug-2009 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix a couple of errors in the revised XML generation that were
spotted by Ashley Pittman:

* If I specify --xml-file=<file> but not --xml=yes I get partial
output in the xml file.

* Using log file qualifiers with XML results in the xml for the
qualifier being put to stdout.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10823 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
b6267bd61a3802bb2a16ef993c94bf834d0e2d2e 12-Aug-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Output tweaks:
- Always print a blank line after significant messages (eg. errors). This
makes the handling of blank lines much simpler.

- Don't print full stops at the end of messages. We mostly don't do it, so
I got rid of all the remaining ones I could find for consistency.

- Use --leak-check=full rather than --leak-check=yes, for consistency with
docs and other messages.

- Update partiallydefinedeq.stderr.exp2 for older changes.

This commit only updates the code. Test updates will follow shortly. (I'm
separating them so the code changes aren't swamped by the test changes in
the SVN logs.)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10783 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
a331164f5e8d192fc179700bccedc2bd64df1791 10-Aug-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make "option" terminology consistent some more. Also tweaked the mempool
Memcheck section a little.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10759 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.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_main.c
f3977a33ba7df76fd46d598e1f0993edac89e450 04-Aug-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't wrap the "Command:" line, as doing so makes cutting-and-pasting the
command difficult. Also, when wrapping I was failing to factor in the
escape chars needed for chars like ' '; now I don't need to. And this
means the 'long-command' test is no longer necessary. In other words,
favour utility and simplicity over aesthetics.

Also, the "Command:" line wasn't being wrapped in <line></line> in XML
output. It now is.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10699 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
f8a11cf5b8e9495b4951657d7a16dd5a9df0c16f 03-Aug-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> In the "Command:" line in the preamble, escape special chars such as ' ' and
'\\'.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10690 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
305dc00bdb1249ccc6e539f675511adf3f1b3dfe 31-Jul-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't bother printing "My PID" when logging to a file or socket, as that
value is shown at the start of every output line.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10669 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
8e007a8fe76997b538ceaa9858a1925badb56940 31-Jul-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Now that we always print the command, no need to reprint it when logging to
file or a socket. And tweak how the PIDs are printed.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10668 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
f484a65e48a4f747cb9c0d907ca0ec354defae35 31-Jul-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't print the command in the preamble with --xml=yes.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10667 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
53162bf1c186b8a23ddcc2a3df3b3b28c35915bf 30-Jul-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Print the command being run at startup. It wraps to avoid going over 80
chars wide whenever possible. Finishes off bug 197933.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10657 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
05a8917ed79c7b76ad4764087e9262c0ef8befd9 29-Jul-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Started overhauling the documentation:
- There were detailed descriptions of all the tools in the Quick Start
Guide, the Manual introduction, and the start of each tool chapter. To
avoid duplication/overlap, I removed these altogether from the Quick Start
Guide, and shortened them in the intro.

- Improved the description of what errors Memcheck can find.

- Made all tool chapters start with "Overview" section, for consistency.

- Made the "run with --tool=XXX" bit consistent in each tool chapter.

- Made all tool chapter titles match the description given when running them.

- Added BBV to the User Manual intro.

- Generally clarified, updated, and future-proofed various bits of text in
the Quick Start Guide and User Manual introduction.

Also:
- Changed Nulgrind's start-up description to "the minimal Valgrind tool".

- Fixed some punctuation in the usage message.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10652 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
f73d87f4b2ff395c47b70604a8310c0f6482fae3 24-Jul-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add Valgrind version back into the preamble.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10572 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
cde90d34fbe5c867c96cca64955d3037fbb06441 23-Jul-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Include valgrind_libdir and VG_(libdir) in the debugLog output. This was
useful for me debugging a broken installation yesterday.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10536 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
ff971fe83ef0b31cb4164d52ecf839e8634d5174 22-Jul-2009 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Updated documentation related to the --read-var-info flag.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10521 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
10b9aea527d9e58518791522d2d3c610ed6f295e 14-Jul-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Shorten the preamble by moving some of it into the --help output. This
partly fixes bug 197933.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10451 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
ebf2caef9295efeac028daa7e4929bfe7b14b5cd 14-Jul-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't put the Vex SVN revision number in the preamble -- it achieves little
and is an enormous pain.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10447 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
a192dafc5336c5e586dfce6c4e6d3f7e82aef266 01-Jul-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Just whitespace and comment changes.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10388 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
49f80e86f129d7262770957dbc75c9916565e087 21-May-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> DARWIN sync: minor layout things, comments.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10057 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
a842d7953e12ded18fccf5af283e0d2c45447a38 21-May-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> DARWIN sync: tweak debuglog output.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10055 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
cda2f0fbda4c4b2644babc830244be8aed95de1d 18-May-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merged non-Darwin-specific parts of r9397,r9423,r9490, 9461, 9462 from the
DARWIN branch. A big ugly DARWIN/trunk sync commit, mostly to do with
changing the representation of SysRes and vki_sigset_t. Functionality of
the trunk shouldn't be changed by it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9876 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
ac1e03303a9e4b38c34fb600a88533b6c368e66f 08-May-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Created a new module, m_aspacehl. Factored out three(!) copies of
get_seg_starts() into it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9796 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
08ce7b3d1ea0fa37e3a1c9c401c118f9c5a8f389 27-Feb-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove dead code relating to interface versions.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9289 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
83df0b67a14425c484d8dda42b53f3ff0b598894 25-Feb-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> atoll() is a terrible function -- you can't do any error checking with it.
Some of our option processing code uses it. This means that eg.
'--log-fd=9xxx' logs to fd 9, and '--log-fd=blahblahblah' logs to 0 (because
atoll() returns 0 if the string doesn't contain a number!)

It turns out that most of our option processing uses VG_(strtoll*) instead
of VG_(atoll). The reason that not all of it does is that the
option-processing macros are underpowered -- they currently work well if you
just want to assign the value to a variable, eg:

VG_BOOL_CLO(arg, "--heap", clo_heap)
else VG_BOOL_CLO(arg, "--stacks", clo_stacks)

else VG_NUM_CLO(arg, "--heap-admin", clo_heap_admin)
else VG_NUM_CLO(arg, "--depth", clo_depth)

(This works because they are actually an if-statement, but it looks odd.)

VG_NUM_CLO uses VG_(stroll10). But if you want to do any checking or
processing, you can't use those macros, leading to code like this:

else if (VG_CLO_STREQN(9, arg, "--log-fd=")) {
log_to = VgLogTo_Fd;
VG_(clo_log_name) = NULL;
tmp_log_fd = (Int)VG_(atoll)(&arg[9]);
}

So this commit:
- Improves the *_CLO_* macros so that they can be used in all circumstances.
They're now just expressions (albeit ones with side-effects, setting the
named variable appropriately). Thus they can be used as if-conditions,
and any post-checking or processing can occur in the then-statement. And
malformed numeric arguments (eg. --log-fd=foo) aren't accepted. This also
means you don't have to specify the lengths of any option strings anywhere
(eg. the 9 in the --log-fd example above). The use of a wrong number
caused at least one bug, in Massif.
- Updates all places where the macros were used.
- Updates Helgrind to use the *_CLO_* macros (it didn't use them).
- Updates Callgrind to use the *_CLO_* macros (it didn't use them), except
for the more esoteric option names (those with numbers in the option
name). This allowed getUInt() and getUWord() to be removed.
- Improves the cache option parsing in Cachegrind and Callgrind -- now uses
VG_(strtoll10)(), detects overflow, and is shorter.
- Uses INT instead of NUM in the macro names, to distinguish better vs. the
DBL macro.
- Removes VG_(atoll*) and the few remaining uses -- they're wretched
functions and VG_(strtoll*) should be used instead.
- Adds the VG_STREQN macro.
- Changes VG_BINT_CLO and VG_BHEX_CLO to abort if the given value is outside
the range -- the current silent truncation is likely to cause confusion as
much as anything.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9255 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
1dcee097db02f9ef3ba355162c4373d90d0e895c 24-Feb-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove a number of unused parameters, found with -Wunused-parameter.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9248 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
c6d86a3764861c0db49ef1a93fa34b42432e344e 31-Jan-2009 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move an assertion (pertaining to showing initial segments to the
tools) to the correct place, and add a big comment explaining why this
is necessary.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9094 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
04eb109b4ed9dc26691bcfc908058449f3895c54 21-Dec-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move description of --read-var-info= from the "debugging options"
section to the "uncommon user options" section.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8847 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
f8722ca9d4604bab3a84542d9bdc82f7dec40dce 17-Nov-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't let GDB_PATH be "" if no GDB is found at configure time, as this causes
any attempts to attach a gdb to the process to fail in a confusing way.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8772 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
bbaef87e2bd100d32507df97a3864f6736944ec6 02-Nov-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fixes for compilation warnings from the apparently very strict
gcc-4.3.2 shipped with Ubuntu 8.10.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8723 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
618658d3302ba4a2259f9be23cd0c1cdee94c972 30-Oct-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of longstanding and now pointless restriction that disallowed
using --db-attach=yes and --trace-children=yes together.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8722 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
f98e1c03ce4bea1fb092cdea5571c41f29f6df9b 25-Oct-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge Helgrind from branches/YARD into the trunk. Also includes some
minor changes to make stack unwinding on amd64-linux approximately
twice as fast as it was before.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8707 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
61a1b050c539781b26a7bc8473bc5394cb19e06b 22-Oct-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Track recent AIX 5.3 updates.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8692 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
94c8eb4d79d4d6c0658679ca170ee44d2415b940 19-Sep-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> m_mallocfree.c: omit the 8 byte per block cost-center field used
for heap profiling, if heap profiling is not selected.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8625 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
a8ffda6dfcbaec28d8b109b1fda290c0f14d869a 18-Jul-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Format string fixes for ppc{32,64}-aix5.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8444 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
a0b6b2cf9abc7b0d87be1215a245eaccc0452af9 07-Jul-2008 bart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merged FORMATCHECK branch (r8368) to trunk.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8369 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
c191a045a573b4122d65895a35284264cf0f6560 04-Jun-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Followup to r8178: don't segfault if VG_(clo_log_name) is NULL.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8181 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
4efbaa7c30c25ab2090481c84d0dc5c75879a592 04-Jun-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Reinstate printing of log-file-qualifiers in XML output (Ashley Pittman).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8178 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
7cf4e6b6aed533af53339f36099ed244dc4a5b7f 01-May-2008 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge branches/OTRACK_BY_INSTRUMENTATION into the trunk. This adds
support to Memcheck for tracking the origin of uninitialised values,
if you use the --track-origins=yes flag.

This currently causes some Memcheck regression tests to fail, because
they now print an extra line of advisory text in their output. This
will be fixed.

The core-tool interface is slightly changed. The version number for
the interface needs to be incremented.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7982 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.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_main.c
7c1a19a02dea1dfe8d1b15335937b8df704d2dec 02-Jan-2008 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Mark the main thread as running while the initial memory declarations
are made to the tool so that the tool can associate that memory with
the main thread if it wishes.

Also cleanup existing hacks in the drd tool which worked around the
fact that the core did not set the current thread while declaring the
initial memory.

Path from Bart Van Assche <bart.vanassche@gmail.com>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7310 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
dc2f79e06e588d7f1a5838977f7814215e22fbf1 22-Dec-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Comment-only change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7307 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
c9d33836731e0f2f306ac6c4213ef267ea3b4150 22-Dec-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> AIX5 counterpart to r7302: Improve handling of programs which require
very large main thread stacks.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7306 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
5bdfbd29e26bc536c0779ec2e6b85bbb0ebd622c 15-Dec-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> When allocating space for the client stack on Linux, take notice of
the --max-stackframe value. This makes it possible to run programs
with very large (primary) stack requirements simply by specifying
--max-stackframe.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7300 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
5abcc0bacf2575d475d53e9a21e98fd2445d0bc6 30-Nov-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of VG_NUMW_CLO, as it is pretty much identical to VG_NUM_CLO,
and only used in one place.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7257 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
12373b110e0015e9419a5e9e0aaa1c79e9b07fc7 20-Nov-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Followup to r7192: don't bork the compilation if GDB_PATH is not
defined (in config.h)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7194 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
7839d1194844bd38a55edc14aab9c9b6177971ec 20-Nov-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> In the --help text, print the actual name of the GDB that will by
default be used. Fixes #151938. Unfortunately this makes the help
text non-constant, which could have a bad effect on regtesting; but
GDB is so usually installed in the standard place /usr/bin/gdb that I
don't think that's much of a big deal.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7192 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
de764e83d44ede6b89397b93d3f74bae2b0883e4 10-Nov-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge (from branches/THRCHECK) r6804:

Split the scheduler initialisation into two phases, for reasons I
can't exactly remember. But I think it was so that the tool can be
told of the initial thread's TID before it is notified of any initial
address range permissions. Or something like that.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7121 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
99a2cebdea5ab7019ea43f37ecd23459ae47e063 09-Nov-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add Bryan Meredith's Omega tool as an experimental tool. Maintainer
is Rich Coe. Also, a minor mod to Makefile.install.am to handle tool
names with dashes in.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7112 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
8a7b41b41b46c0aa7bd4b6678b82285437e7f08c 23-Sep-2007 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix various format string errors, courtesy of Florian Krohm.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6902 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
198f34fa929569172d863f9c33f9686855ca975a 10-Jul-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of VG_(getcwd) and replace it with a pair of functions,
VG_(record_startup_wd) which records the working directory at startup,
and VG_(get_startup_wd) which later tells you what value was recorded.
This works because all uses of VG_(getcwd) serve only to record the
directory at process start anyway. The motivation is that AIX does
not support sys_getcwd directly, so it's easier for the launcher to
ship in the required value using an environment variable. On Linux
sys_getcwd is used as before.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6764 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
bcccbc0ac19f657127ec36784d4067a553ece180 10-Apr-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> When doing 'demo' translations for --profile-flags=, make at least
some attempt to discard existing translations first. Otherwise
Cachegrind (rightly) asserts on the basis that it is seeing duplicate
translation requests for the same entry point.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6698 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
1274d246fb097e674cce697407d045e47aa06c6f 27-Mar-2007 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix bug 142197: don't free --toolname:foo options after they've been munged,
because tools should be able to assume that they are never freed, just like
other options.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6668 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
948a6fcb77d3f1d6a5ddda5e001954aae56f2377 19-Mar-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make ptrace-based launchers able to handle --help, --version etc.
Problem is that --help etc are handled by the tool exe. But a
ptrace-based launch scheme can't run "no program" if the user just
types "valgrind --help" because the launcher depends on starting the
client first and only then attaching valgrind to it using ptrace. So
instead provide a dummy do-nothing program to run when no program is
specified. m_main notices this and acts as if there really had been
no program specified.

This has no effect at all on Linux/ELF program launching.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6653 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
125fd4fccb9e8bd50803341948669346e25408a7 08-Mar-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Generate valid XML (conforming to docs/internals/xml-output.txt) even
when VG_(name_of_launcher) is NULL.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6635 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
14c7cc5a5fbe9526329f058116f921988efe679e 25-Feb-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of the type XArrayStrings in m_clientstate and use new generic
equivalents in module m_xarray instead. A suprisingly pervasive
change.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6616 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
95611fffd2fada23483096e43dd7ce3a674e9458 16-Feb-2007 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> --wait-for-gdb=yes: gcc 4.1.2 now appears to delete do-nothing loops, so
make the loop variable volatile so it can't do that.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6595 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.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_main.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_main.c
0785468ca3dde3b2b6886f8ee6b4e98edf45f2c0 30-Dec-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove redundant \n


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6460 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
e66f2e09ec1aa9bab7a0fd6b02a6a6150ea85190 30-Dec-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge (from 3_2_BRANCH) r6457/8 (Support 64k pages on ppc32/64-linux
(Jakub Jelink, Dave Nomura) )



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6459 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
f9d2f9b5ec3b8febc8465c05e90c8a5f6de3d6a4 17-Nov-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Redo the interface to m_initimg (module for setting up the initial
client image) so it's less of an incomprehensible mess. Basically the
idea is to have two standard functions, VG_(ii_create_image) and
VG_(ii_finalise_image), which communicate using the structure types
IICreateImageInfo and IIFinaliseImageInfo. The types hold various
OS-specific bits of info. A nice side effect is that m_main is tidied
up somewhat.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6357 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
5471ec6a5aaeb9294858e48e2d3e5e9f730b3b54 17-Oct-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Increase # bbs in profile.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6309 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
12ab765e246d2d230c510b0836eda6fc12e5a62b 17-Oct-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Final merges from branches/AIX5; mostly tracking of SysRes change.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6292 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
17c110443e39c0c63bb298689cad31e0b4671dfe 15-Oct-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move code that creates the initial Linux memory image (stack, env,
etc) from m_main into m_initimg.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6234 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
4cfea4f9480393ed6799db463b2e0fb8865a1a2f 14-Oct-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Create a new module, m_vki, and move all knowledge about the kernel
interface, except for the syscall numbers, into that. Mostly this
means moving include/vki-*.h to include/vki/vki-*.h.

include/pub_tool_basics.h previously dragged in the entire kernel
interface. I've done away with that, so that modules which need to
see the kernel interface now have to include pub_{core,tool}_vki.h
explicitly. This is why there are many modified .c files -- they have
all acquired an extra #include line.

This certainly breaks all platforms except x86. Will fix shortly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6225 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
33dbfce5f650eadd19293175aec5d79afec0debc 03-Jun-2006 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Clarify usage instructions for --trace-flags.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5950 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
a2cd32da8d9812f97cf35d4bed462e61f6e538ad 27-May-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move into 2006.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5940 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
c40fce51e18604530832f4212683a965e8ce6748 03-May-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Print a slightly more helpful error message if the log file creation fails.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5876 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
ca54af3adebe3ff9126ea2c2f6b9a9921269f9c4 16-Apr-2006 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove tool-specific code (which says which tools allow XML) from the core
by introducing a new "need": VG_(needs_xml_output)().


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5854 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
1d0825ff46d57f0ce83c3fa88538a42f67022eee 27-Mar-2006 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge in the COMPVBITS branch to the trunk. This is a big change to
Memcheck, replacing the 9-bits-per-byte shadow memory representation to a
2-bits-per-byte representation (with possibly a little more on the side) by
taking advantage of the fact that extremely few memory bytes are partially
defined.

For the SPEC2k benchmarks with "test" inputs, this speeds up Memcheck by a
(geometric mean) factor of 1.20, and reduces the size of shadow memory by a
(geometric mean) factor of 4.26.

At the same time, Addrcheck is removed. It hadn't worked for quite some
time, and with these improvements in Memcheck its raisons-d'etre have
shrivelled so much that it's not worth the effort to keep around. Hooray!

Nb: this code hasn't been tested on PPC. If things go wrong, look first in
the fast stack-handling functions (eg. mc_new_mem_stack_160,
MC_(helperc_MAKE_STACK_UNINIT)).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5791 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
4c3faae4aa73a0693c66a24daccf8bc0a0e421f7 15-Mar-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> A couple of initialisations to keep gcc-4.1.0 happy.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5765 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
6b3e0d770b9f3cf5a80720171fb4c0ebb0508a84 13-Feb-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix boundary conditions relating to stack permissions (see r5645).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5646 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
c6527d64e39f53443dc50c77030585630ed32710 13-Feb-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> When setting the initial permissions of the area below the initial
stack pointer, take into account any ABI-mandated red zone
(VG_STACK_REDZONE_SZB). This also requires ensuring that at least
that much extra space is available when laying out the stack, in
setup_client_stack().



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5645 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
c8c5c8754b8590a45c10cc4a62c6edcf91e3aec1 09-Feb-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Handle main thread stacks up to 16MB.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5623 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
e3121f30971a7a9a977a3f7d3649dbddd1a0f960 27-Jan-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Track vex r1555 (Change the way Vex represents architecture variants
into something more flexible.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5597 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
cf95181a9a7653478e254a5f7ec0cf69ab0d7c7c 17-Jan-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> ppc64-linux: set R2 before running __libc_freeres


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5537 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
1a85f4f4e5e1ec2518137ffa9a6a9bf7d9c50df9 12-Jan-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix more ppc64-linux function wrapping and symbol-table bits and pieces.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5523 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
0ec07f32bbbb209d749b9974408e6f025ad40b31 12-Jan-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge in function wrapping support from the FNWRAP branch. That
branch hereby becomes inactive. This currently breaks everything
except x86; fixes for amd64/ppc32 to follow.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5520 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
f0915fc8b1797789f291c187f7269874438e3e85 05-Jan-2006 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Initial redirect stuff for ppc64-linux.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5499 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
13247ca4d05152e83527b63d7350fba76cb05728 30-Dec-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Finally fix the bug causing dynamic ppc64-linux executables not to
work: start with with the correct toc pointer (r2), rather than some
nonsense value.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5465 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
297c88fbff9fd02b8f8429b8b4d34cfc48f81eee 22-Dec-2005 cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> fixed up ppc64 assembly with .opd sections

do_syscall_for_client_WRK() needed a bigger stack to avoid the linkage area.

always use dot_prefix for label calls

not wrapping assembly with
.section ".text"
...
.previous
- ppc64 doesn't like it... seems we can't 'stack' more than one section to pop off with .previous ?





git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5405 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
da033f559a252f729824b874b8456a522cb66e3f 19-Dec-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix for bug #117096.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5384 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
c7266524f021904d1d0fc8eebbc5e996968ad7ad 08-Dec-2005 cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> More V setup for ppc64
- client stack setup
- init_thread1state: set TOC ptr



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5314 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
2108204443f84bfa733397be519bdcf6810c5127 06-Dec-2005 cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> Take ppc64 startup further along the road
- fixed launcher.c to recognise ppc32/64-linux platforms properly
- lots of assembly fixes to handle func descriptors, toc references, 64bit regs.
- fixed var types in vki-ppc64-linux

Now gets as far as VG_(translate), but dies from a case of invalid orig_addr.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5299 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
42c8355fc918c5af6182559e93f7402311530e77 05-Dec-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Change hp2ps to output .ps files in the same dir that the .hp input files
are in. This fixes bug #117686.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5287 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
2c48c7b0a453d32375a4df17e153011b797ef28c 29-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add framework for ppc64 support. Apologies in advance for the
inevitable breakage to other platforms.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5250 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
2fedc648b91676a18d736dcb641b6dae6ab32b7a 19-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Counterpart to r5202: restore previous assembler state with .previous


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5204 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
d9fc382d8dcfb8da3602e0feef3155e3c98deba2 19-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Hmm. Perhaps all those top-level pieces of assembly weren't such a
clever idea. There's no reason to assume the assembler is in
.text-mode when it encounters them, and as gcc 2.96 rudely
demonstrates, sometimes it isn't. So put .text in front of all of
them.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5202 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
0ddabcac439d6df107484693ccd46324e5d1f71e 17-Nov-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> record more email comments



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5156 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
7c555a9524b9faa583f2eebd833949ffed717b8c 16-Nov-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Record previous log message as a comment in the code.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5148 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
33ca9e8a4b8502b54104ee79e8bce2994a8a8996 16-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make the data segment (heap) executable. LinuxThreads on ppc32 creates
trampolines in this area.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5147 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
1f0bbc782f54a82aba5a9cd267bb35b0939c86a4 16-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Slightly reorder the preamble-printing order, and also print the CPU arch/subarch detected.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5142 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
20241bacce6a3607684d32f3f970ec631a9824b5 15-Nov-2005 cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> Incremented the xml output protocolversion to 2, following the change in the time field format of r5042



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5134 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
e3826cfe34ec9a0caa570a0d15647b28711584a0 13-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Hook the ppc32 stuff up to the revised CPU detection machinery, and
add a bunch of code to detect what the cpu can do at startup by
catching SIGILLs. Shame PPC doesn't offer any sane mechanism for
finding out what instruction subsets the CPU is capable of (a la
x86/amd64 cpuid).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5108 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
e2d1e670d412ff85c824ba5c043161816b9e26bd 13-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Tidy up the machinery for detecting the CPU type and capabilities.
Move it from m_translate to m_machine, which is a more appropriate
place for it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5104 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
00cfcfc962cc3a377cdc7a6e0ec2ea9de4f26e61 12-Nov-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't imply that the --tool option is mandatory.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5100 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
151a639d523a1d9b4cbd6629992e48ed8ee9408e 11-Nov-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix compiler warnings.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5083 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
2315d18bc0d2a5d6ed3edd93e6eb343905cdcb79 11-Nov-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Suppress AT_SYSINFO in the auxiliary vector because it contains a
pointer to the system call routine in the sysinfo page and older
versions of glibc will use it. Fixex bug #115496.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5079 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
592ae0985ef9a72d2dd0ec52f3361955d0ba72b4 08-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Reinstate timestamping, sort-of, having trashed VG_(ctime) as part of
the glibc-removal process. Timestamps are now printed in terms of
elapsed wallclock time since startup, shown as days, hours, minutes,
seconds and milliseconds. The arithmetic is done with 32-bit unsigned
ints, so people doing Valgrind runs that last longer than 49.71 days
are going to see some funny results :-)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5042 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
3c3f0c11a00ef5a93ca070e58cb64ac61a257cb0 08-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Document the --kernel-variant= option.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5040 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
f72cced460e350fa4c51581ec267381a63203157 08-Nov-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Second try at getting rid of the is_self() hack used to decide when to
load debug info from the V executable.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5033 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
fb7bcde4e3d8afdcd267b4da904f777cfd8ed1bb 07-Nov-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Dual architecture support - this commit is a major rework of the build
system that allows multiple copies of valgrind to be built so that we
can build both x86 and amd64 versions of the tools on amd64 machines.

The launcher is then modified to look at the program being run and
decide which tool to use to run it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5027 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
bbe14b13426aa632726b18685eb4f1190e0dca52 04-Nov-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix up references to log files names containing "pid" in them and
a few other related items. Patch from James Begley <james@hafro.is>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5004 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
0d159448579be0c7579c961712369bc11f650169 02-Nov-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't give the heap execute permission - the linux kernel doesn't
normally give execute permission to memory allocated from the heap
with sbrk.

This also required fixing the smc1 test for amd64 to use mmap to
allocate memory so that it can have execute permission.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4983 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
2e9f3f3c8c9dac8a960cd8064d72863915f749a7 26-Oct-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> The version string from --version was being printed to stderr. This
commit fixes it to print to stdout. I added a regression test for this.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4969 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
40b9ce7c203099a346623ba1d92fb74c41b02638 22-Oct-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Enable Altivec by default if it is available.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4965 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.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_main.c
20b4a1567e23d84959c22269f2398e02a5462a00 20-Oct-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make the usage message a little neater and more self-consistent.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4948 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
03d8aa8639b211357b678fdedad19911ce2ebb85 14-Oct-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of various compilation warnings.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4920 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
7375061f0ecd9534a27ade9bb4fbe47ddce41298 14-Oct-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Overhaul the way programs are loaded at startup and exec() works. Now the
checking of programs done in these two places are combined, which avoids
duplicate code and greatly reduces the number of cases in which exec()
fails causing Valgrind to bomb out.

Also, we can now load some programs we could not previously, such as scripts
lacking a "#!" line at the start. Also, the startup failure messages for
bad programs match the shell's messages very closely.

And I added a whole bunch of regtests to test all this.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4918 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
60a4b0b77180f0c54ddca5c8d9ca20a877637f01 12-Oct-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix statement-before-declaration warnings for the core code.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4906 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
5f3a998c6771993915613d7f6089743bcbe09faa 07-Oct-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Disable ppc32 altivec pro tem (just temporarily).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4889 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
a48a4939011eb7c09e12d29fe00e792a635b83d6 29-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make ppc32-linux build again following aspacem merge. Doesn't work, though:
programs crash before reaching main. I don't know why.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4819 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
9d5564db84416ba9afc515db627178ae4dfac160 29-Sep-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix up vg_preload_core.so vs. vgpreload_core.so confusion introduced
during the ASPACEM merge.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4815 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
5e94078b2e38391d27e77cfa6e78d40569c0903f 28-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix command-line printing.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4812 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
1ae3f3ae5188a7da990be18406c7920b89f19043 28-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of pub_core_main.h, so that m_main is not imported by anyone,
and so is not part of a module cycle. This requires a moderately
grotty hack of passing a continuation-function pointer in a global
variable.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4806 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
5f229e2d2867c6586cdd04ed71f9a227b80e9d69 28-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of some macros used only by the old aspacemgr, and tidy up
m_main even more.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4802 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
a0461a613643f6cbcb88d2e7297d19dd4c0715eb 28-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of the "ioctl-mmap" weird-hack flag.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4800 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
fdf91b45b672e5e45db7db6df62c448a37dae88b 28-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Small cleanups, mostly of m_main:

- Move VG_(fd_{soft,hard}_limit) into m_clientstate
- m_main: clean up auxv handling. Get rid of scan_auxv().
- m_main: move scan_colsep() to somewhere more sensible.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4799 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
90d3854de0a9da5229d1fa94f3784b8d64d1409f 28-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't reserve space for trampoline page on the stack, since it isn't
used any more.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4798 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
45f4e7c91119c7d01a59f5e827c67841632c9314 27-Sep-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> This commit merges in changes from branches/ASPACEM (specifically,
changes from r4341 through r4787 inclusive). That branch is now dead.
Please do not commit anything else to it.

For the most part the merge was not troublesome. The main areas of
uncertainty are:

- build system: I had to import by hand Makefile.core-AM_CPPFLAGS.am
and include it in a couple of places. Building etc seems to still
work, but I haven't tried building the documentation.

- syscall wrappers: Following analysis by Greg & Nick, a whole lot of
stuff was moved from -generic to -linux after the branch was created.
I think that is satisfactorily glued back together now.

- Regtests: although this appears to work, no .out files appear, which
is strange, and makes it hard to diagnose regtest failures. In
particular memcheck/tests/x86/scalar.stderr.exp remains in a
conflicted state.

- amd64 is broken (slightly), and ppc32 will be unbuildable. I'll
attend to the former shortly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4789 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
c6957cf4b6aed7b7b3f2117ce37ef38791332ea5 13-Sep-2005 cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rename VG_(have_altivec) => VG_(have_altivec_ppc) for consistency.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4641 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
bc28f66763b196f4107a06d00e5dd17d594b9b94 13-Sep-2005 cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> setup new variable VG_(have_altivec) from auxv::AT_HWCAP
fixed default VSCR in dispatch-ppc32.S (non-java mode = 1)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4636 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
7b4e5ba742056c84e76434e9d220e1dc538ed1ec 26-Aug-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rename vg_preload_core.so to vgpreload_core.so to be consistent with
tool preload modules, which are called vgpreload_<tool>.so. Also
fixed a couple of comments relating to this.

(This need not be merged into 3_0_X.)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4514 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
46a4a764c98c0bed7f465f79923d4dadd8b2cf96 12-Aug-2005 tom <tom@a5019735-40e9-0310-863c-91ae7b9d1cf9> Make sure we have enough space for the name if the path is empty. Patch
from Jakub Jelinek to fix bug #110656.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4386 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
753673f80e8a260ad5f2ca479f9254089e920b5a 10-Aug-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Print all XML output with a consistent nesting style, so as to make it
easier to compare it to the output of other XML generating tools.
Regtest expected-output changes to follow.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4356 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
cdd81cba231460ff469d3cc971bc5c4b6735e957 05-Aug-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> ppc32-linux only: HACK: for now, mess with the auxv handed to the
client so as to not claim that the CPU supports Altivec. This is a
partially-successful hack to try and dissuade glibc and its minions
from doing Altivec insns.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4323 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
5b742c3b8e4118c7fb60c21bdcbdf45b35324a50 27-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> If --log-file-qualifier= is set, and we're logging to a file or
socket, emit the qualifier and its current value in the plain text
output as well as in the XML. (Ashley Pittman).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4275 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
ce545557cb666095c20c934aa36391790ee61639 26-Jul-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Recategorise options in the usage message.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4256 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
3448a1cf442425f279f6c1dbd87bb1e738507e4b 24-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't claim that the --single-step= and --optimise= flags exist any
more. They have been replaced by --vex-guest-max-insns= and the
--vex-iropt-* flags.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4241 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
33e60422ac4fe5e4b02c60fa25f3c807d6b372dd 24-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rename tags in XML <status> block.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4240 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.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_main.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_main.c
9264559eba4aa5d397a278b4e1a50c03de30693f 23-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> A commit which is almost all trivial change.

- m_main: if --log-file-qualifier applies, do not add ".pid"
at the end of the name

- Fix the logic which detected whether the just-devised name
already existed. This was broken (by me) because it could not
distinguish the reasons for failing to open the logfile.

Doing this required changing the return type of VG_(open)
from Int to SysRes (to make failure reasons visible) and
that's the cause of most of the changes.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4228 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
c8ec9f85b612da88761746115e82d45dceb5fc1d 20-Jul-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Recategorise some options in the usage message.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4206 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
97f7e0c3d6133599ce570066a7e4651e220f1244 19-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Use %t rather than %s in some places for constructing XML output.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4188 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
b8a3dace05c697e93ce41b75e17a9a10e3318027 19-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Show Valgrind's args too in the XML output.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4183 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
68cde6fcb0ad0f1e2860b3c1c3ca2c1bf294aae3 19-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Add time stamps to XML START/FINISH indications.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4182 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
396552029cdded095bc14d0ae219c2715c7474bf 13-Jul-2005 cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> xml output for tool=none is fine too.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4147 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
d714d2e220fedc523f6b3f126c9f1a6e6b5f45c1 08-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> A longer gdb-attach delay for ppc


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4134 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
21f7f0c6cb66cc0b0ac9ae109e06f4038d125981 06-Jul-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> --time-stamp=yes is incompatible with --xml=yes, at least for the moment.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4118 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
11adeb23eaba52507f2fe0d71cf812c965441bc6 03-Jul-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Tweak debug output.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4103 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
e755b9e1f31edbed55678dbccc08d54ec0da8737 30-Jun-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> ppc32-linux: Vex implements dcbz correctly now. No need to mess with
the auxv to fool glibc into not using it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4067 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
d94b90a598fb7e83350ef7d5d29e2de7bcf4d37e 30-Jun-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> XML printing fixes for printing to file descriptors.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4054 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
10f08cf5b84882eebbb6712a7be890577650e8ad 29-Jun-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> ppc32: reinstate collection of cache-line-size info from the auxv
array at startup. This is used in m_transtab. However this info is
not yet fed to Vex, so it's still important to zero-out the auxv field
holding cache line size info passed to the client, so as to stop the
client's glibc using dcbz. This will be fixed.

Also get rid of a bunch more ppc32-specific vdso stuff in m_main that
doesn't need to be done. This now means ppc32-linux specifics in
m_main are only marginally intrusive than the x86-linux or amd64-linux
specifics in m_main.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4052 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
41d7616d0c4642f9d4c1b1dc8bf283840868d638 29-Jun-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Get rid of some VDSO finding stuff which was ifdef VGP_ppc32_linux but
apparently pointless as per recent mail from PaulM since ppc32-linux
does not use VDSOs yet.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4051 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
0ae787c314ee1ca0b8f614342bf4aea9b661e5a1 29-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Remove all the completely unused SF_* flags. I suspect some of the
remaining ones have no interesting effect, but I left them in.

Also simplify the signature for VG_(get_memory_from_mmap_for_client)().


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4045 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
842c26e28264e45b2f8940e947d87cbfa1472769 28-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix comment.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4040 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
2025cf98a3210c175a90fc77cb599cca1643bd68 26-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Break up VG_(show_BB_profile)(), and move half of it into m_main. This
removes m_transtab's dependence on m_translate (breaking a circular
dependence) and m_debuginfo, hooray.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4035 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
945ed2e53f6bbe9c84a8173b63881158132d9ca8 24-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved Robert's stack tracking code out of m_aspacemgr into a new module
m_stacks, because it's a nicely distinct and stand-alone piece of
functionality. This happily removes m_aspacemgr's dependence on
m_mallocfree (there was an apparent dependence due to the #include, even if
it didn't manifest itself in practice -- very important!) and m_options (not
so important).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4009 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
266c8e6fb3c158b4a64d5f626adc07b5ff99ea15 24-Jun-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Disable debug printing by default so we have any hope of getting
regtest passes on ppc32-linux.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4007 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
8211a576ca046fa80707b75b7f8bfcf927216fe9 23-Jun-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Kludge up wait_for_gdb even more.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4006 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
af839f52d74df156d655201a889954133ab01be7 23-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Removed the VGA_/VGO_/VGP_ prefixes for arch/OS/platform-specific
things. These made sense when the arch/OS/platform-specific code was in
one module, but as that code got mixed in with generic code the boundary
between generic and non-generic blurred, and the distinction made less
sense. So let's get rid of them.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4002 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
62ff0f2f39592092459bdc90a9a3b820d380152b 22-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Added VG_() prefixes to functions exported from m_ume to avoid
namespace pollution.

Also broadened a couple of _dl_* suppressions so that vgtest_ume
passes on my machine.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3993 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
08a2e173ad2067f19c0466dd6c774d36b4575262 22-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rename ume.c/ume.h as m_ume.c/pub_core_ume.h to be consistent with
all the other modules.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3992 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
64c8324704d2e0e24e708591edf9939f08cfed0a 21-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Tweaked m_tooliface to reduce its dependencies on other things:

- VG_(sanity_check_needs)() now returns a message to m_main if it fails,
for m_main to print and abort, rather than printing an error message and
aborting itself. This removes the dependency on m_libcprint and
m_libcassert.

- Passing in an extra param to VG_(sanity_check_needs)() that says if
shadow memory has been allocated, rather than using
VG_(get_shadow_size)(). This removes the dependency on m_aspacemgr.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3978 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
b9bce63768e46a4db0e09c7bc5279fcdd054d19d 21-Jun-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Simplify the implementation of m_trampoline and the stuff that refers
to it. Now there are no more offsets and no copying of code into the
stack. We just redirect directly to entry points in m_syscalls.S.

This will mess up pointercheck, since the redirect targets are now in
Valgrind's address space, not the client's. But pointercheck is hosed
anyway, and I'd rather back off to something simple whilst ppc32 is
stabilised. When the address space management stuff is overhauled
then pointercheck may or may not get reinstated, and if it does then
the trampoline stuff will need revisiting.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3977 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
375692512735771ccd2927d4f52b737ad5009430 21-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> turn off debugging output



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3975 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
899ce73b9eb1f679562e93f8e5c162aa049413f1 21-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't #include pub_core_debuginfo.h in pub_core_aspacemgr.h. So have
to #include it explicitly in lots of other places, but at least the
dependency is clear now.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3974 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
94e62a3255e452e4c7114e5c1896355ba86ade1f 20-Jun-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> (Re)-drop reliance on <sys/mman.h> and disable ppc32-linux specific
vdso-related mashing until the purpose of it is clarified.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3970 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
85665ca6fa29dd64754dabe50eb98f25896e752a 20-Jun-2005 cerion <cerion@a5019735-40e9-0310-863c-91ae7b9d1cf9> Finally, valgrind on ppc32.
Plenty still to do, but simple programs like ls seem to run ok

Thanks, Paul, for having your ppc port of valgrind 2.4 to work from!




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3969 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
24cf3e080f3a9889659fc7b5520a50ad62f338cf 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> whoops



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3959 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
75b65aa8c262221bfabb9159dddd7ad20538c459 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved VG_(start_debugger) out of m_main.c into its own module,
m_debugger. This removes the dependence of m_signals.c and m_errormgr.c
on m_main.c. It required also moving VG_(clexecfd) out of m_main.c; I put
it in m_libcproc.c which seemed like an ok-but-not-great choice.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3957 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
bc6d84dd24c32b75e3e498fbee584931a823964d 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix up the libc_freeres_wrapper code so that m_main depends on m_redir,
not the other way around.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3956 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
6676d5b4e5e4fd70cebb5201b48f91bfb9b130cb 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move VG_(sanity_check_general) out of m_main.c into scheduler.c.
Removes the dependence of m_scheduler/ on m_main.c; reduces the
dependence of m_signals.c on m_main.c.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3955 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
394213a582d2c388eea41c142b4455fb8c2c48a4 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move VG_(bbs_done) out of main and make it local in scheduler.c. This
removes the dependence of m_translate.c and m_libcassert.c on m_main.c.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3954 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
8340749c24124f937c5c0ecf5b4a8118d077a30f 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Removed dependency on <sys/mman.h> by using our own versions of
mmap/munmap. Required making VG_(munmap_native) public.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3951 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
909c319cc77a3583b9fd856f628434b31b54dc84 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Don't #include <sys/stat.h>, which was causing problems due to
it redefining certain names which clashed with field names in vki*.h.
There are plenty more glibc-isms that can be removed from m_main.c.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3948 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
dcc99d3e4fbecc6affd188053b9506e29dee4a34 19-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fixed a bug in .valgrindrc reading I introduced recently -- freeing memory
I should not have.

Added a regression test for it.

MERGE TO 2.4 REPOSITORY


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3947 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.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_main.c
a7598f6889c553cc35d7d774c465a2bef7414350 18-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved the code trampoline stuff into a new module, m_trampoline. Not
certain this was the right thing to do, but that stuff sure as hell
didn't fit in any of the existing modules.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3929 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
2da7335b1874ebb6dddf158c6b9b7d2e2f59b180 18-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved two functions out of $ARCH/state.c into m_main, the only module
that uses them.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3925 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
c1b0181cbd6f296401daa6ff0e6e14d3a8ab91a0 18-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Renamed the m_syscalls module m_syswrap, which better describes what it
does and better distinguishes it from m_syscall. Did everything for this
except renaming the m_syscalls/ directory -- I'll do that shortly, I don't
think Subversion can handle renaming a directory and files within that
directory at the same time.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3923 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
16eeb4eaf602c7376f401a01f4544293b8ad5898 16-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> A cleanup of the redirection stuff.

- Renamed VG_INTERCEPT as VG_REPLACE_FUNCTION to make its purpose
clearer.

- Renamed VG_WRAPPER as VG_NOTIFY_ON_LOAD to make its purpose cleare.
Started calling that stuff "load notification".

- Moved various things into m_redir.c, a much more sensible place for
them. This reduced the number of exported functions overall. Renamed
intercept_demangle() as Z_decode() as part of this.

- Improved the documentation of this stuff, especially in
pub_core_redir.c.

- Got --run-libc-freeres=yes working again. It was doing nothing.

- Renamed vg_inject.so as vg_preload_core.so to match
vg_preload_<tool>.so

- Renamed vg_intercept.c as vg_preloaded.c. (I kept the "vg_" prefix
because this filename can appear in stack traces, so the "vg_" is a
useful hint for users that it belongs to Valgrind.)

- Removed all the Memcheck-specific calls to add_redirect_sym_to_sym()
from VG_(setup_redirect_table)(), instead using VG_REPLACE_FUNCTION in
mac_replace_strmem.c, just like vg_replace_malloc.c. This is the
right way to do it. This required moving some of
coregrind/pub_core_redir.h into the newly added
include/pub_tool_redir.h. add_redirect_sym_to_sym() is no longer
used...

- Now only handing off symbols to m_redir for inspection/decoding after
they have been deemed to be interesting by the symbol table reader.

- Factored out commonality between the add_redirect_*_to_* functions
into add_redirect_X_to_X().

- Added "Zh", meaning '-' ('h' for "hyphen"), to the Z-decoding scheme,
to handle sonames like "ld-linux-x86-64.so.2".

- Added a FAQ explaining the newly found issue of glibc aliasing
sometimes causing the wrong function name to appear in stack traces.

- Added a new regtest strchr.c. It's possible this will fail on some
platforms. If so, an alternative output file can be provided, but
I'd like to see it in practice first.

It's possible that there will be minor breakage on other
platforms/setups, but it should be minimal and easily fixable.

Plus some ordinary cleanups in symtab.c:

- Removed the old optimisation from VG_(addStr)() whereby it kept track
of the previous 5 added strings and avoiding duplicating any of them.
Turns out it was barely having any effect any more, and just
complicated things.

- Made read_symtab() more readable, by introducing a new variable
"sym_name" and introducing the auxiliary function
is_symbol_interesting().

- renamed the module variable 'segInfo' as 'segInfo_list' to make it
more obvious it's a module variable and not just some ordinary local
variable (which was an easy mistake to make).

-----------------------------------------------------------------------------

XXX: [later] remove add_redirect_sym_to_sym, and everything related to
X_to_sym? (ie. only need X_to_addr)

XXX: better function names? all those 'resolved' names...
[later...]




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3916 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
d7bddad16e88e2cfff48cfad7e16e75e8be8edaf 13-Jun-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Emit XML preamble in a more parseable way.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3906 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
f536bbbd4bf2024926574c5ed99b3e6251c6ff44 13-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Created m_machine, for various machine-related things.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3903 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
8d9965c5369ac4aaf632f140dc61fc65250d23ff 12-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Move VG_(libdir) into m_libcproc.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3901 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
7b85dd57f12f86a03f51f7cedea46147ef937f82 12-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved the last two functions out of linux/core_os.c, and removed it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3900 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
9cb54ac65fe975d2b7ac760061000a6ccaf26c74 12-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved more stuff out of core_os.c into better places.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3896 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
f39e9a36dca9642668a66c6b054f81c88650bcb9 12-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Finished the modularisation of vg_mylibc.c, which meant it could be removed.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3894 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
e9befc6536670e4a494b7035363fc080eda98644 11-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Modularised the libc low-level memory management stuff (mmap, etc).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3891 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
af1d7dfc9412c09d24ea10118f3fd1082f92e49d 11-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Having moved VG_(arena_strdup)() out of core.h, core.h no longer
needs to #include pub_core_mallocfree.h. As a result, we need
to #include it explicitly everywhere else.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3881 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
8aa35853f55200c57b3cab82a142a07946fef59a 11-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved various pieces of linux/core_os.c to the modules that use them.
Managed to kill linux/core_os.h, hooray.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3872 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
63004dc4f731e086a146a25f323b1dc32506b070 11-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Moved VG_(fd_{hard,soft}_limit) into a better spot.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3871 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
de62cbf607eb0e2dccb8bd6c7caf34180f528bad 11-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Modularised signal libc stuff into m_libcsignal.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3870 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
0140af5b913b1a57b5c28ef776bbb2dda23e8b64 04-Jun-2005 rjwalsh <rjwalsh@a5019735-40e9-0310-863c-91ae7b9d1cf9> Implement stack registration client requests. See the documentation
in the user manual for usage information. The stack_changes.c file in
corecheck/tests contains a short example.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3846 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
eb8896b58301a0a7a34281384d705072994369f0 04-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Modularised file and socket libc stuff in m_libcfile.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3844 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
132bfccd21960e462352175f8553a5bdce8a210c 04-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Modularised assertions and panics in m_libcassert.

As part of this, killed the VG_STRINGIFY macro, which was used to expand
out names like "VG_(foo)" and "vgPlain_foo" in assertion failure
messages. This is good since we actually want the "VG_(foo)" form used
in these messages.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3842 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
36a20fa5f779a0a6fb7b4a90dcaa6376481f1faa 03-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Modularise printing functions in m_libcprint.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3840 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
13bfd85dfab2cd301c92e308b274ebd17de830d2 02-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Rename *ROUND* as VG_*ROUND* to be consistent with everything else. Also
make them tool-visible, so that Memcheck and Helgrind don't have to defined
their own versions!



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3839 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
97405b2d134b52880d6dbec3eb2929e2002c2542 02-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Started modularising vg_mylibc. Put all the standalone stuff -- ie. not
relying on any other modules -- in m_libcbase.

Also converted the 'size' parameters to functions like VG_(memcpy) and
VG_(strncpy) from Int to SizeT, as they should be.

Also removed VG_(atoll16) and VG_(toupper), which weren't being used.

Also made VG_(atoll36) less flexible -- it now only does base-36 numbers
instead of any base in the range 2..36, since base-36 is the only one we
need. As part of that, I fixed a horrible bug in it which caused it to
return incorrect answers for any number containing the digits 'A'..'I'!
(Eg. for "A; it would return 17 instead of 10!)

Had to disable the assertions in VG_(string_match), since this module can't
see vg_assert, which wasn't ideal but also isn't a disaster.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3838 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
8665d8e0fee10c1d1f04f15055262acc8d30f126 01-Jun-2005 sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> Minor refinements/bug-fixes to XML printing.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3837 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
31513b4ab8477029517f07f0dcf1b441cb818548 01-Jun-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Modularised the profiling stuff as m_profile.c. It's much more
sensible now -- no vg_dummy_profile.c, no silly #including of
vg_profile.c from tools.

Unfortunately, it still doesn't work, due to bad interactions
with signal handling that I don't understand.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3833 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
0c24647c0e69c8da8e7683ae9e75526c5d7185a5 31-May-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Modularised vg_signals.c as m_signals.c.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3820 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/coregrind/m_main.c
04e1698d9f92df36742be7c1e0fefb9af1c5b1bd 31-May-2005 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Modularised vg_main.c as m_main.c. Moved some stuff out of it to reduce the
number of files that depend on it, but there are still some which should be
removed in the future.


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