6316 Commits

Author SHA1 Message Date
Julian Seward
6e8238ffc4 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
2008-09-19 20:13:39 +00:00
Julian Seward
684fac4a06 This should have been committed as part of r8623 (Fix longstanding bug
in dual-arch support).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8624
2008-09-19 09:27:02 +00:00
Julian Seward
40399aab00 Fix longstanding bug in dual-arch support, which originated in
memcheck/tests/Makefile.am and was copied into drd/tests/Makefile.am.

When building regtests for a 32-bit only build on a 64-bit CPU, the
use of $(VG_ARCH) in these Makefiles is incorrect, because VG_ARCH
will be set to the 64-bit architecture, not the 32-bit architecture.

See comments on VG_ARCH_PRI and VG_ARCH_MAX in configure.in for more
details.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8623
2008-09-19 09:02:19 +00:00
Julian Seward
b8c9850e1c Add missing file that was apparently missed in r8621.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8622
2008-09-18 18:37:30 +00:00
Julian Seward
335992d8fc 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
2008-09-18 18:12:50 +00:00
Julian Seward
31b741dc9b Merge the Ptrcheck tool from branches/PTRCHECK r8619.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8620
2008-09-18 14:43:05 +00:00
Bart Van Assche
8669f1c7fb Added a note explaining that the code in this file is interpreted by more than one shell.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8600
2008-09-11 15:03:59 +00:00
Bart Van Assche
8ca34a90ec Make sure that stderr redirection works both with bash and tcsh.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8597
2008-09-10 09:07:52 +00:00
Bart Van Assche
e9a8202979 Updated expected output after most recent source code modifications.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8596
2008-09-10 06:11:38 +00:00
Bart Van Assche
c74a787450 Added more comments.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8594
2008-09-09 18:18:26 +00:00
Bart Van Assche
5582ca5901 Make sure that atomic_var.c compiles without warnings in case HAVE_BUILTIN_ATOMIC has not been defined.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8593
2008-09-09 18:11:40 +00:00
Bart Van Assche
fdececd185 - Added support for the variable ABT_JOBS, number of jobs to run in parallel.
- Added support for the variable ABT_RUN_REGTEST, the command to run the regression tests.
- Added support for the variable ABT_CONFIGURE_OPTIONS, such that extra command line options
  can be passed to the configure script.
- Cross-compilation patch is applied after source code checkout and before the source code is
  compiled.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8588
2008-09-08 18:43:53 +00:00
Bart Van Assche
40439935c0 Added configuration files for Georgia Tech's Cellbuzz cluster.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8587
2008-09-08 18:39:38 +00:00
Bart Van Assche
97ea413ed1 Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8585
2008-09-07 18:49:35 +00:00
Bart Van Assche
e2ad1094ca Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8584
2008-09-07 18:03:09 +00:00
Bart Van Assche
fbbdba12de Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8583
2008-09-07 18:01:54 +00:00
Bart Van Assche
10057941ce Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8582
2008-09-07 18:00:38 +00:00
Bart Van Assche
58281c67e1 Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8581
2008-09-07 17:31:03 +00:00
Bart Van Assche
4fdb1bd492 Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8580
2008-09-07 17:14:40 +00:00
Bart Van Assche
396e59c18c Added double quotes around a shell function argument.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8579
2008-09-07 17:10:07 +00:00
Bart Van Assche
0586d0e440 Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8578
2008-09-07 17:06:40 +00:00
Bart Van Assche
dd178f74bf Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8577
2008-09-07 17:03:57 +00:00
Bart Van Assche
66f7524276 Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8576
2008-09-07 17:01:12 +00:00
Bart Van Assche
214f9a898a Disabled printing of file descriptor value in order to make the test results more reproducible.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8575
2008-09-07 16:55:15 +00:00
Bart Van Assche
86ff87c102 Enabled capget and capset system calls for amd64, ppc32 and ppc64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8554
2008-08-27 17:41:56 +00:00
Bart Van Assche
1f63c5ebc4 Added regression test for Linux' capget system call.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8553
2008-08-27 17:41:06 +00:00
Julian Seward
244a20c3ed Fix regression on none/tests/faultstatus caused by r8522.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8547
2008-08-25 12:10:14 +00:00
Julian Seward
207c05fd20 Rework storage management in the Dwarf3 type and variable reader, to
try and reduce its space consumption.  This change changes some long
linked lists into XArrays instead.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8540
2008-08-22 23:18:02 +00:00
Julian Seward
6136f591ba Try and bit a bit more space-economical, by increasing the
average loading factor from 0.75 to 0.83, and by being more
careful in VG_(cloneXA).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8539
2008-08-22 23:16:06 +00:00
Julian Seward
4040072a3a Make the absolute bare minimum changes needed to stop the Dwarf3
variable & type reader dying on gcc-4.3.x produced Dwarf3.  This is
done by handling DW_TAG_class_type and treating it the same as
DW_TAG_structure_type.  I don't know if this is really correct or not.

This reader is still grossly inefficient in terms of space use, and
could be majorly improved, by storing information in arrays rather
than in linked lists with (sometimes) more than 5 million elements.
But this will have to wait.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8534
2008-08-20 08:14:07 +00:00
Julian Seward
d014010217 Fix RPM/spec build. (Daniel J Blueman)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8526
2008-08-19 09:52:10 +00:00
Julian Seward
9d24c252e1 Make VG_(addToXA) and VG_(addBytesToXA) 64-bit clean.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8525
2008-08-19 08:57:49 +00:00
Julian Seward
27b2106884 Move the WordFM (AVL trees of UWord-pairs) implementation from
helgrind/ into the core.  It's just too darn useful to not be in the
core.  There is some overlap in functionality between OSet and WordFM,
but OSet is more space efficient in some circumstances, whereas WordFM
is easier to use and a bit more flexible in some cases.

Also in this new module (m_wordfm) is a type WordBag, build on top of
WordFM.  This provides Multiset of UWords functionality.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8524
2008-08-19 08:38:52 +00:00
Julian Seward
3a6645146d Tidy up VG_(stat) usage in VG_(check_executable). Followup to r8522.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8523
2008-08-19 08:32:03 +00:00
Julian Seward
e5150447d7 Presently, Valgrind (non-client) code that wants to use the stat
family of syscalls is impossible to write in a way that's portable and
correct.  On some targets (eg x86-linux) you need to do sys_stat64 and
receive the results in a 'struct vki_stat64'.  But on other targets
(eg amd64-linux) neither sys_stat64 nor 'struct vki_stat64' exist.

This commit adds a new type, 'struct vg_stat', which contains 64 bit
fields in all the right places, and makes VG_(stat) and VG_(fstat) use
it.  This means callers to the two functions no longer need to worry
about the is-it-64-bit-clean-or-not question, since these routines
reformat the received data into a'struct vg_stat'.  Kind of like what
glibc must have been doing for decades.

This (indirectly) fixes a bug on x86-linux, in which m_debuginfo would
sometimes fail to read debug info, due to VG_(di_notify_mmap) using
VG_(stat) (hence sys_stat) on the file, which failed, and when in fact
it should have used sys_stat64.  Bug reported and tracked down by
Marc-Oliver Straub.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8522
2008-08-19 07:03:04 +00:00
Julian Seward
811f102388 The address space manager, and in particular the NSegment type,
hardwire the assumption that an inode number is a UWord, that is, a
host word.  There's no reason for that assumption to be valid; an
inode number could be a 64-bit int even on a 32 bit platform (eg w.r.t
sys_stat64).  This commit changes inode numbers and, for good measure,
dev numbers, to be 64-bit regardless.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8521
2008-08-18 21:47:11 +00:00
Julian Seward
bf836b421d Handle new IR ops Iop_RoundF64toF64_*.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8520
2008-08-08 08:38:23 +00:00
Julian Seward
832a3d400b Tidy up the wrappers for pread64 and pwrite64, and make these two
syscalls available on ppc64-linux.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8519
2008-08-07 20:29:55 +00:00
Bart Van Assche
9f0a270afc Added yet another Qt4 suppression pattern.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8503
2008-08-02 10:03:37 +00:00
Bart Van Assche
43336d6753 Ensured that the qt4 regression tests compile with the pkg-config flags on all platforms.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8502
2008-08-02 09:28:39 +00:00
Bart Van Assche
f14fc40bda Qt4 detection test is now based on pkg-config. Qt4 QMutex::tryLock(int) test now uses proper Qt4 compiler flags.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8501
2008-08-02 09:08:17 +00:00
Bart Van Assche
1573129126 Un-break configure test for clock_gettime().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8477
2008-07-29 17:54:49 +00:00
Bart Van Assche
6ccef7fec7 Removed duplicate volatile keyword such that the compiler does no longer print a warning.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8476
2008-07-29 17:04:31 +00:00
Bart Van Assche
a63fcb8d13 Switched from ANSI C stdio to Unix I/O in order to avoid that the I/O statements trigger any locking.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8475
2008-07-29 16:57:06 +00:00
Bart Van Assche
d968df6a0a Compiles now with old versions of <sys/epoll.h> too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8474
2008-07-29 16:28:36 +00:00
Bart Van Assche
d3f0a0bb4e Updated Makefile.am.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8473
2008-07-29 15:27:48 +00:00
Bart Van Assche
9b1edca951 Removed duplicate expected output file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8472
2008-07-29 15:21:17 +00:00
Bart Van Assche
46b231550a Added suppression pattern for Qt4.0/4.1.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8471
2008-07-29 13:01:16 +00:00
Bart Van Assche
21ee007a7a Added expected output for comiler versions without support for built-in atomic operations.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8470
2008-07-29 12:06:57 +00:00
Julian Seward
e448622e08 Add a followup comment to the changes in r8454, which made memcheck's
client realloc function use an always-move strategy.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8469
2008-07-29 09:44:52 +00:00