|
Information Source Code Documentation Contact How to Help Gallery | |||||||||||||||||||||||||||||||||||
Supported PlatformsCurrent MainlineThe Valgrind 3.2.X series supports the following platforms.
You must be running Linux kernel 2.4.X, 2.5.X or 2.6.X, and glibc 2.2.X, 2.3.X, 2.4.X or 2.5.X. That covers the vast majority of installed systems at present. For details of which distributions the current release (valgrind-3.3.0) builds and runs its regression tests on, see the release notes. Old MainlineAll Valgrind versions prior to 3.0.0 supported only x86/Linux. ExperimentalThe following experimental ports have been done. Note that they have varying levels of completeness and may not work reliably, and may target older versions of Valgrind.
Porting PlansValgrind 3.X has the infrastructure to support multiple platforms. A platform is a specific (CPU,OS) pairing, such as x86/Linux or AMD64/Linux. Maintaining each port takes a lot of effort, more so than for most other programs. Valgrind is fragile due to the low-level nature of what it does. Also, each platform port has CPU-specific code, OS-specific code and platform-specific code, and testing all the combinations is difficult. Because of this, we can only justify supporting platforms that are widely used. Unlike NetBSD or GCC, we are not interested in having Valgrind work on every platform in the known universe: the maintenance burden is too high. Therefore, porting Valgrind to different platforms is not simply a technical exercise: you also need to make a convincing case that the effort will be worth it, and that the port will be supported properly, at least in the foreseeable future. The following table summarises our current porting priorities.
There are experimental ppc32/darwin and x86/FreeBSD ports for Valgrind 2.X. They could be made to work with 3.X with some effort. Less mature ports for x86/Solaris and x86/NetBSD are also being worked on. x86/darwin is a high priority; it would be great to have Valgrind running on Apple machines, as it would make Valgrind usable with a lot of new software (e.g. Microsoft Office for Mac!), more so than x86/BSD ports, for example. ppc32/darwin is now less interesting as those machines are being phased out. amd64/darwin will presumably eventually become important. Of the other table entries Arm/Linux or MIPS/Linux might be useful for embedded developers. x86/BSD, amd64/BSD and x86/Solaris are lower priorities. There are many platforms not mentioned here. Some are of little interest (eg. SPARC/*, */AIX). Some would be technically difficult (eg. IA64/*). In particular Windows is not under consideration here because porting to it would require so many changes it would almost be a separate project. Also, non-open-source OSes are difficult to deal with; being able to see the OS and associated (libc) source code makes things much easier. This message states our porting rationale and current priorities. As ever we retain a flexible approach, and are interested in hearing your comments/porting needs if you have any. February 1, 2007. |
||||||||||||||||||||||||||||||||||||
Copyright © 2000-2007 Valgrind Developers |
||||||||||||||||||||||||||||||||||||