27 Commits

Author SHA1 Message Date
Nicholas Nethercote
3ae4d1a0ab 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
2005-06-16 03:56:58 +00:00
Nicholas Nethercote
09cb7d57d1 Add note to FAQ about unloaded shared objects and leak errors.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3719
2005-05-15 14:49:24 +00:00
Nicholas Nethercote
0ed704cb75 Update FAQ about GLIBCXX_FORCE_NEW name-change.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3678
2005-05-12 13:45:56 +00:00
Nicholas Nethercote
1a0b185acf Remove an out-of-date FAQ, putting the still-relevant part in another
question.  Man, double maintenance sucks.  And when/how does the website FAQ
get updated...?



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3465
2005-03-27 17:05:08 +00:00
Julian Seward
0356d27ca6 Merge in changes from the 2.4.0 line. This basically brings in the
overhaul of the thread support.  Many things are now probably broken,
but at least with --tool=none, simple and not-so-simple threaded and
non-thread programs work.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3265
2005-03-10 23:59:00 +00:00
Nicholas Nethercote
02a2002701 Extra info for FAQ.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2506
2004-07-18 10:35:36 +00:00
Nicholas Nethercote
2fab200ad0 Renamed the following options:
--logfile-fd  -->  --log-fd
  --logfile     -->  --log-file
  --logsocket   -->  --log-socket

to be consistent with each other and other options (esp. --input-fd).  Also
renamed some related variables.  The old names still work, for backwards
compatibility, but they're not documented.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2429
2004-06-21 12:42:35 +00:00
Nicholas Nethercote
638529e228 Revamped. Split into sections, added stuff about the name "Valgrind" (where it
comes from, pronunciation), removed some obsolete questions, added some new
ones.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2353
2004-04-10 00:29:58 +00:00
Nicholas Nethercote
5ec5ade4c2 Killed the terminally wounded --stop-after option.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2238
2004-02-01 17:29:59 +00:00
Nicholas Nethercote
1838e1f44c Add possible workaround for FAQ 16, from Adam Spragg.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2165
2004-01-03 10:57:20 +00:00
Nicholas Nethercote
fb2d543ee8 Started to rescind the name "skin", replacing it with "tool". Did this in all
the places that normal users will see:

  - command line: --tool=foo (although --skin=foo still works)
  - docs: removed all traces (included renaming coregrind_skins.html to
    coregrind_tools.html)
  - in the usage messages
  - in error messages

Also did in in some places that I judged were unlikely to cause clashes with
existing workspaces:

  - in the header comments of many files (eg. "This file is part of Memcheck, a
    Valgrind tool for...")
  - in the regtests script
  - in the .supp files
  - in AUTHORS
  - in README_MISSING_SYSCALL_OR_IOCTL

Also update the AUTHORS file to mention Jeremy.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2027
2003-11-14 17:47:54 +00:00
Nicholas Nethercote
c2e7583aa8 Updated FAQ #8, to reflect the fact that we now support a lot of SSE/SSE2
instructions.

MERGE TO STABLE


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1981
2003-11-02 16:32:05 +00:00
Nicholas Nethercote
858c09b74c Deleted FAQ #2, as it is no longer relevant for the head, thanks to Jeremy's
syscalls changes.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1980
2003-11-02 16:27:39 +00:00
Nicholas Nethercote
ad476e4c65 Fixed the static-link check at startup -- it was broken for scripts. Refine
FAQ #5 accordingly.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1854
2003-09-28 18:18:47 +00:00
Nicholas Nethercote
01e3345f23 At startup, now tests if program is statically linked. Bails with a useful
message if so.  If anyone thinks this will break anything, please yell.

Updated FAQ #5 correspondingly, added info on how to combine static and dynamic
libraries.

MERGE TO STABLE(?)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1831
2003-09-25 18:20:17 +00:00
Nicholas Nethercote
f563f81443 Added #17 about how to write suppressions.
MERGE TO STABLE (along with several other FAQ changes I've made recently but
forgot to write this note on)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1804
2003-08-20 11:19:17 +00:00
Nicholas Nethercote
946e95a5b6 Fix inaccuracies in #12.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1801
2003-08-19 07:50:24 +00:00
Nicholas Nethercote
1738927994 Added FAQ #16, about that assertion failure in 'make' when building.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1800
2003-08-15 07:35:20 +00:00
Nicholas Nethercote
483211c96d Another update to #12.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1798
2003-08-13 09:56:30 +00:00
Nicholas Nethercote
f824df47c3 Clarified FAQ #14.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1797
2003-08-13 08:34:42 +00:00
Nicholas Nethercote
37f6cc0c0d Added FAQ 15, about writing to read-only memory.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1795
2003-08-07 21:24:24 +00:00
Julian Seward
c8997a2ad1 Finalise for 1.9.6.
MERGE TO STABLE


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1618
2003-05-05 22:15:35 +00:00
Julian Seward
a01d8e81df Add FAQ entry re apparent space leaks in the STL.
MERGE TO STABLE


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1565
2003-04-26 22:23:35 +00:00
Nicholas Nethercote
aa8fbe8dd9 wibble 2
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1543
2003-04-23 07:35:56 +00:00
Nicholas Nethercote
6525b9a6c6 wibble
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1542
2003-04-23 07:33:05 +00:00
Julian Seward
45641c5fc2 Majorly update and expand, adding workarounds for more or less all
failures with known workarounds.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1541
2003-04-22 23:26:24 +00:00
Nicholas Nethercote
2fc8530d61 Re-added the FAQ that was lost a while back, possibly when I did the original
core/skin split.  Added a couple more questions+answers.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1537
2003-04-22 20:58:47 +00:00