25 Commits

Author SHA1 Message Date
Nicholas Nethercote
eaf377da47 Update to match web site description.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4270
2005-07-26 22:31:52 +00:00
Nicholas Nethercote
c7593e4233 Copy the valgrind.spec.in file from 2.4.0, which Jeremy wrote with this
commit message:
  
  Steal some magic from FC3's valgrind-2.2.0 .spec file; it would be nice
  to know if this works under other RPM-based distros (SuSE particularly).

I don't know much about .spec files, but this new version is much easier
to maintain because we don't have to list any filenames explicitly, and
no-one complained about it in 2.4.0, so let's go with it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4269
2005-07-26 22:23:08 +00:00
Nicholas Nethercote
fbf8653c8b Removed the remnants of the attempt at an ARM port, because it had
bit-rotted badly and was clogging up the code.

I put the useful remnants in docs/porting-to-ARM in case anyone ever
wants to try porting to ARM again.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4092
2005-07-02 23:13:59 +00:00
Nicholas Nethercote
838e9893de Update valgrind.spec.in for all the new files in include/.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4062
2005-06-30 03:44:55 +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
10b4595add Added beginnings of an AMD64 port, so lots of new files and directories.
It compiles, but aborts immediately if you try to run it.

I didn't include ldt.c;  I'm not sure how the LDT is used on AMD64.  It can be
added later if necessary.

While doing this, did some 64-bit cleanness fixes:
- Added necessary intermediate casts to ULong to avoid warnings when converting
  ThreadId to void* and vice versa, in vg_scheduler.c.
- Fixed VALGRIND_NON_SIMD_CALL[0123] to use 'long' as the return type.
- Fixed VALGRIND_PRINTF{,BACKTRACE} to use unsigned longs instead of unsigned
  ints, as needed.
- Converted some offsets in vg_symtab2.h from "Int" to "OffT".
- Made strlen, strncat, etc, use SizeT instead of 'unsigned int' for the length
  parameter.
- Couple of other minor things.

I had to insert some "#ifdef __amd64__" and "#ifndef __amd64__" guards in
places.  In particular, in vg_mylibc.c, some of our syscall wrappers aren't
appropriate for AMD64 because the syscall numbering is a bit different in
places.  This difference will have to be abstracted out somehow.

Also rewrote the sys_fcntl and sys_fcntl64 wrappers, as required for AMD64.

Also moved the ipc wrapper into x86, since it's not applicable for
AMD64.  However, it is applicable (I think) for ARM, so it would be nice
to work out a way to share syscall wrappers between some, but not all,
archs.  Hmm.  Also now using the real IPC constants rather than magic
numbers in the wrapper.

Other non-AMD64-related fixes:
- ARM: fixed syscall table by accounting for the fact that syscall
  numbers don't start at 0, but rather at 0x900000.
- Converted a few places to use ThreadId instead of 'int' or 'Int' for
  thread IDs.
- Added both AMD64 and ARM (which I'd forgotten) entries to valgrind.spec.in.
- Tweaked comments in various places.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3136
2004-11-29 13:54:10 +00:00
Nicholas Nethercote
ceb66880ae Removed include/vg_skin.h, which has been a shell just pointing to
tool.h for a while now.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3058
2004-11-22 18:04:29 +00:00
Nicholas Nethercote
e0ff83bc39 - Make find_auxv() word-size independent.
- Introduced a new file, basic_types.h, for the basic types (eg. Int, Word).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2896
2004-11-01 18:22:05 +00:00
Nicholas Nethercote
c4cf15dc21 Arch-abstraction:
- Added include/x86-linux/ and include/linux/ subdirectories, with Makefile.am
  files.

- Overhauled the definitions of kernel types.  include/vg_kerneliface.h is now
  three files, include/linux/vki.h, include/x86-linux/vki_arch.h, and
  include/x86-linux/vki_arch_posixtypes.h.  These files separate the
  common/Linux and x86/Linux parts cleanly.  All code is copied verbatim from
  the relevant kernel headers, except that VKI_/vki_ prefixes are added as
  necessary to distinguish them from glibc types.  (This is done consistently,
  unlike previously when some types did not have the prefixes.)

  All code is clearly marked to show which particular header file it came from,
  and the Linux version used.  (I used 2.6.8.1, the most recent stable release,
  for all of them.)

  A few of the types changed;  this is because they changed between the older
  versions of Linux and the current 2.6.8.1.  I checked that all these changes
  were ok with respect to backwards compatibility for our purposes.

- vg_unsafe.h has been removed;  we are no longer including any kernel headers,
  as we have our own copies for everything.  This is because installed kernel
  headers are not reliable, and often cause compilation problems. (bug
  #92420 is a recent example)

- Removed some no-longer-needed header-presence tests from configure.in.

- Some code in the rest of Valgrind was changed to account for some slight
  changes in the names of our VKI_/vki_ kernel constants and types.

- Updated README_MISSING_SYSCALL_OR_IOCTL accordingly.

- Fixed off-by-one error with VKI_GDT_ENTRY_TLS_MAX (merged from stable branch)

The end result is that the kernel types situation should be much clearer, and
similar files can be created relatively easily for other architectures as
necessary.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2884
2004-10-31 18:48:21 +00:00
Nicholas Nethercote
18355ff96b Arch-abstraction:
- Added include/x86/:  contains tool_arch.h, Makefile.am, .cvsignore.

- Added coregrind/x86/state.c.  Contains some arch-specific code for dealing
  with x86 registers -- eg. setting up the baseBlock, loading/saving the whole
  register state.  It is compiled into coregrind/x86/libarch.a and linked via
  ${VG_ARCH} with the core.

  Relatedly, also added coregrind/x86/{core_arch.h,core_arch_asm.h}.

- Correspondingly abstracted the register state out of ThreadState.  This
  affected every place that touches registers, and there are a lot of them.
  (Eventually all the register touching should be abstracted out in an
  arch-neutral way, but not yet;  one step at a time.)

- Added some declarations about register loading/saving functions to core.h;
  all architectures will have to provide these functions.

- Rejigged the build system so that the arch-specific stuff is all done via
  ${VG_ARCH}, rather than naming e.g. x86/ directly.  Appropriate -I arguments
  are used so that all the headers are found, etc.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2656
2004-09-03 13:45:29 +00:00
Nicholas Nethercote
90369deb78 Arch-abstraction:
- renamed "vg_constants.h" as "core_asm.h".
- renamed "vg_constants_skin.h" as "tool_asm.h".
- renamed "mc_constants.h" as "mc_asm.h".


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2650
2004-09-02 15:37:39 +00:00
Nicholas Nethercote
13a74aa53a Arch-abstraction: renamed "vg_skin.h" as "tool.h". Kept a residual vg_skin.h
(which just #includes tool.h) for backward-compatibility.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2647
2004-09-02 08:51:43 +00:00
Nicholas Nethercote
5471e9012e Update for having added Massif.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2354
2004-04-10 00:36:25 +00:00
Dirk Mueller
ff32cabf72 don't mess with prefix.
CCMAIL: 72784-done@bugs.kde.org


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2224
2004-01-24 22:32:56 +00:00
Jeremy Fitzhardinge
918c3a7b7e This jumbo-checkin is the Full Virtualization checkin. This eliminates
Valgrind's dependency on the dynamic linker for getting started, and
instead takes things into its own hands.

This checkin doesn't add much in the way of new functionality, but it
is the basis for all future work on Valgrind.  It allows us much more
flexibility in implementation, and well as increasing the reliability
of Valgrind by protecting it more from its clients.

This patch requires some changes to tools to update them to the changes
in the tool API, but they are straightforward.  See the posting "Heads
up: Full Virtualization" on valgrind-developers for a more complete
description of this change and its effects on you.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2118
2003-12-16 02:05:15 +00:00
Nicholas Nethercote
fc9a6bbced Updated the README file. It had lots of out-of-date and incorrect information
in it, much of it from 1.0.X days.  Did it in such a way that if it doesn't get
touched (and it undoubtedly won't) it won't really go out of date, eg. by
removing temporary details like version numbers, dates, details of specific
software incompatibilities.  It's much better to be vague but correct, than
precise but incorrect;  having incorrect info in a file as important as the
README is bad.  Also removed the README_KDE3_FOLKS file because it's pretty
redundant now.  Also added some changes that had been made in the stable branch
but not the HEAD.

Did similar, but smaller changes to README_DEVELOPERS and README_PACKAGERS.

Also updated the valgrind.spec.in file to use the new, post-1.0.X description
in the README.

Also fixed a minor omission in Addrcheck's docs.

MERGE TO STABLE


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2089
2003-12-03 21:44:45 +00:00
Dirk Mueller
a10ef81c42 add missing include files to spec file listing
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2060
2003-11-24 21:25:40 +00:00
Nicholas Nethercote
dc0fe27537 Changed things so that the regression test script (vg_regtest) is no longer
installed, as it was silly since the reg tests themselves aren't installed.
Updated the "make regtest" target to use the uninstalled version in tests/.

Also, vg_regtest now no longer uses the installed version of Valgrind to do the
testing, but instead coregrind/valgrind.  This means that you don't have to do
make install with your buggy changes before running the regtests on them :)

I even updated the RPM package .spec file!

Thanks to Dirk M�ller for the suggestion.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1551
2003-04-23 21:48:20 +00:00
Nicholas Nethercote
a00a117591 According to Greg Hosler <hosler@lugs.org.sg>, these entries need to be added,
otherwise rpm on RH9 will complain that these files are in the payload area,
but not saved to the rpm.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1539
2003-04-22 21:47:56 +00:00
Julian Seward
e44ce0f395 Merge patch from JeremyF:
67-dist

Fixes to various places Makefile.am to generate proper distributions.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1350
2002-12-08 22:19:04 +00:00
Julian Seward
70cfbabc36 "Um, the cachegrind script doesn't exist in the head, and vg_annotate has
been renamed cg_annotate..."


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1119
2002-09-27 09:40:52 +00:00
Julian Seward
9240e8b8b0 merge revs 1.2.2.2 and 1.2.2.3 (which probably don't make sense in
the head, but still ..)

  Source is .tar.bz2 not .tar.gz

  Added cachegrind and vg_annotate to the spec file, as suggested by
  Rafael Garcia-Suarez <rgarciasuarez@free.fr>.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1110
2002-09-27 00:42:41 +00:00
Frédéric Gobry
9654213ee3 Fix the permissions of the installed files, as suggested by Matthias
Andree.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@855
2002-09-02 11:31:21 +00:00
Julian Seward
7b7227adc8 Include valgrind.spec and valgrind.spec.in in tarballs.
Also add a line to the description in the .spec.in.
(Shlomi Fish)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@494
2002-07-13 12:37:28 +00:00
Frédéric Gobry
b17d5d40a3 improved the build system
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9
2002-03-22 13:38:30 +00:00