3865 Commits

Author SHA1 Message Date
Tom Hughes
030b1aac10 Fixed test to not assume that malloc(10) will return 10 nul bytes!
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4978
2005-11-01 17:21:03 +00:00
Nicholas Nethercote
00774ab311 update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4977
2005-11-01 17:15:50 +00:00
Julian Seward
ed5c2ad6ed Whitespace only change (test commit to see if auto-mail-on-commit is
still working).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4976
2005-11-01 12:32:24 +00:00
Julian Seward
dd977b0ffa If pdfxmltex bombs, as it so often does, at least cause the build to
come to a halt rather than just hanging.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4975
2005-11-01 03:08:41 +00:00
Julian Seward
4db841d9a8 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4974
2005-11-01 03:07:38 +00:00
Julian Seward
d5afec1f4b Make ULong_width(0) return 1 instead of 1431655765. This stops
cachegrind segfaulting if it can't open its output file.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4973
2005-11-01 02:20:19 +00:00
Julian Seward
5b51eeb7ae Build fixes following recent coredump hackery.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4972
2005-11-01 00:42:07 +00:00
Julian Seward
609c8167f9 Fix a couple of gcc warnings following recent coredumping changes
(r4970).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4971
2005-11-01 00:03:40 +00:00
Tom Hughes
48f8c22e44 Get core dumping working again - the architecture specific code that
was in the sigframe module has been moved into the coredump module 
where it belongs and things fixed up to compiler again.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4970
2005-10-31 17:05:21 +00:00
Nicholas Nethercote
084757de44 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
2005-10-26 16:17:46 +00:00
Julian Seward
a2e6bbe191 Trawl through bugzilla/users-list and add various bugs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4968
2005-10-26 12:21:16 +00:00
Julian Seward
ebb032b983 Don't assume the first statement is an IRMark, since it could instead
be part of a self-check.  Instead, copy verbatim any IR preamble
preceding the first IMark.  This stops cachegrind asserting on
self-checking translations.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4967
2005-10-23 12:06:55 +00:00
Tom Hughes
6b0cbda5c1 Update bug status information.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4966
2005-10-23 09:30:35 +00:00
Julian Seward
77cdfa6f75 Enable Altivec by default if it is available.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4965
2005-10-22 12:52:25 +00:00
Julian Seward
cfb4061f69 Handle a few more primops result from running Altivec code.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4964
2005-10-22 12:50:43 +00:00
Julian Seward
36152f964e Pass args to match format string.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4963
2005-10-21 12:05:05 +00:00
Julian Seward
b7beeca0be Handle SHT_NOBITS sections when checking for section overruns. This
fixes a problem where debug info was sometimes not being read on
ppc32.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4962
2005-10-21 02:37:40 +00:00
Tom Hughes
f8e7c73406 Document bug #114757.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4961
2005-10-20 18:42:26 +00:00
Tom Hughes
626b0fbdc3 Don't assert if the DWARF line info reader is given so little data that
it can't even read the length of the block - just report an error as we
do if there isn't enough data for the rest of the block. Fix bug #114757.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4960
2005-10-20 18:38:08 +00:00
Tom Hughes
6f28a1fdf5 Document bug #114756.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4959
2005-10-20 17:03:53 +00:00
Tom Hughes
2b553e2835 Add support for the mbind system call on x86 and amd64. Fixes bug #114756.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4958
2005-10-20 17:00:23 +00:00
Julian Seward
7ee131a3e3 Increase the threshold above which new errors are not shown from 300
unique / 30000 total to 1000 unique / 100000 total.  Programs are
generally bigger now than 3 years ago.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4957
2005-10-20 01:57:29 +00:00
Julian Seward
2aa34e2afe 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
2005-10-20 01:37:15 +00:00
Julian Seward
4e2059f06a The Spin-Doctor arrives in Valgrind-Land: rename --weird-hacks= to
--simulation-hints=.  Bwaha.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4955
2005-10-20 01:09:57 +00:00
Julian Seward
5be669c562 In the spirit of other changes over the past month aimed at supporting
monster-sized programs better, increase the default freelist volume
from 1M to 5M.  Maybe even that is too small.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4954
2005-10-20 00:31:31 +00:00
Julian Seward
1a90cce793 Oops, un-break cachegrind regtesting following r4951.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4953
2005-10-20 00:30:30 +00:00
Julian Seward
9432f46e02 rm the skiplist module, as it has been superseded by the AVL-tree
based m_oset module.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4952
2005-10-20 00:09:11 +00:00
Julian Seward
9f24dcde2a Clarify the P4 warning message a bit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4951
2005-10-19 23:49:45 +00:00
Julian Seward
fb8743cd20 rm unused var
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4950
2005-10-19 23:49:20 +00:00
Julian Seward
958b135d6b Fix make dist (seems to work, but am unsure if this is the right fix).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4949
2005-10-19 23:38:22 +00:00
Nicholas Nethercote
f2ec4febfe Make the usage message a little neater and more self-consistent.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4948
2005-10-19 22:39:40 +00:00
Julian Seward
a55c24c5d7 Halve the size of the fast tt lookup cache. This improves ppc32
performance quite a bit, since the cache is emptied quite often on
ppc32, and a smaller cache is less intrusive in the real machine's L2
cache.  On x86 the change doesn't seem to have much effect.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4947
2005-10-19 11:23:07 +00:00
Julian Seward
073c102b95 Use standard syntax for the rlwinm.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4946
2005-10-19 10:14:19 +00:00
Julian Seward
8547d43b79 Snap up some easy pickings pointed out by cachegrinding nulgrind on ppc32.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4945
2005-10-19 01:32:41 +00:00
Julian Seward
d12b128625 Reenable a couple more syscalls needed for self-hosting on ppc32,
which now works.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4944
2005-10-19 01:14:22 +00:00
Julian Seward
1813e8fdcd Change the core-tool interface so that tools are fully aware of both
the guest extents for the presented translation and also its original
un-redirected guest address.  These changes are needed in particular
to make cachegrind's code cache management work properly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4943
2005-10-18 12:04:18 +00:00
Julian Seward
e5264d94c5 Add extra auxiliary data structures which make it possible to quickly
find and delete all translations intersecting with small address
ranges (8 k or less, currently).  This makes it possible to simulate
ppc32 icbi instructions in reasonable time, and finally makes the
ppc32 port run at a usable speed.

The scheme is based around partitioning translations into equivalence
classes based on address ranges.  For deletions whose range falls
within a single class, all translations intersecting it can be found
by inspecting just that class and one other.  Given that there are 256
classes, this cuts the cost, relative to scanning the entire TC, by
approximately half that factor (viz, 128), assuming the translations
are distributed evenly over the classes.

The whole business is more complex and difficult than I would like.

A detailed comment will later be added.

Very thorough sanity checking has been added
(sanity_check_eclasses_in_sector).  This is engaged at
--sanity-level=4 and above.

The TT hash function (HASH_TT) has been improved to reduce its
tendency to cluster TT entries in some circumstances.  This has
allowed the TT maximum loading factor to be increased from 66% to 80%
and so the absolute size of the TC (in each sector) to be less than
2^16 entries.  The latter change is important for the fast-deletion
changes.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4942
2005-10-18 02:30:42 +00:00
Julian Seward
6048f9c854 Add a new arena (VG_AR_TTAUX) for holding auxiliary TT/TC structures
(see next commit).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4941
2005-10-18 02:20:18 +00:00
Julian Seward
cd5eb80553 Fix socket stuff on ppc32, so that --log-socket actually works.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4940
2005-10-18 02:15:39 +00:00
Nicholas Nethercote
b32a66a35f augment comment
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4939
2005-10-16 17:48:09 +00:00
Tom Hughes
c0c5256036 Removed remaining traces of address space padding technology as it
is not longer relevant with the new address space manager.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4938
2005-10-16 13:52:50 +00:00
Nicholas Nethercote
953321d26a A small Cachegrind cleanup: previously it was copying some things (eg.
instr_size and instr_addr) into Ir events, then later copying those into
instrInfo nodes.  Now it just allocates the instrInfo nodes earlier and
copies them in directly.  This is a bit more concise and easier to
understand.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4937
2005-10-16 00:17:37 +00:00
Nicholas Nethercote
4d3a1be8d1 Cachegrind cleanups:
- Remove some unnecessary assertions.
- Add in some new ones.
- Make things more concise and readable by factoring out things like
  "cgs->events[i+1]" into things like "ev2" in flushEvents().



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4936
2005-10-15 22:07:28 +00:00
Nicholas Nethercote
636a65e603 update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4935
2005-10-15 17:54:35 +00:00
Nicholas Nethercote
6218bef661 Comment-only changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4934
2005-10-15 17:50:02 +00:00
Nicholas Nethercote
c3302079e9 OSet-ified Cachegrind:
- The instrInfoTable was a VgHashTable, now it's an OSet.  
- The CC table was a custom 3-level hash table, now it's an OSet.  This
  is easier to understand and there's no worrying about whether the hash
  array sizes are big enough.  It also has the nice property that the
  results in the cachegrind.out.<pid> file are now sorted, so they're a bit
  easier to read.

I did some testing and the performance difference appears to be negligible;
CC table and InstrInfo table lookups and traversal aren't that critical.
  


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4933
2005-10-15 17:46:18 +00:00
Nicholas Nethercote
b692589152 Clarify the disInstr message.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4932
2005-10-15 17:18:08 +00:00
Nicholas Nethercote
c489c3e3e2 update roadmap
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4931
2005-10-15 16:53:04 +00:00
Nicholas Nethercote
cf39f65c7d OSet-ify m_redir.c.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4930
2005-10-15 15:48:52 +00:00
Nicholas Nethercote
ddc3f8ff42 Fix 'shell' for those lacking '.' in their $PATH, hopefully.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4929
2005-10-15 15:28:31 +00:00