summaryrefslogtreecommitdiff
path: root/README_MISSING_SYSCALL_OR_IOCTL
diff options
context:
space:
mode:
authornethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9>2004-10-31 18:48:21 +0000
committernethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9>2004-10-31 18:48:21 +0000
commit73b526fb4af0f60634f0078583d92b931d5c0eeb (patch)
tree0e92213696430d204a721e13429c80abe48c3afb /README_MISSING_SYSCALL_OR_IOCTL
parent48841f00e1fcba7032c98abb4622188a795f2ec4 (diff)
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 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'README_MISSING_SYSCALL_OR_IOCTL')
-rw-r--r--README_MISSING_SYSCALL_OR_IOCTL10
1 files changed, 4 insertions, 6 deletions
diff --git a/README_MISSING_SYSCALL_OR_IOCTL b/README_MISSING_SYSCALL_OR_IOCTL
index ad919252..de88a83e 100644
--- a/README_MISSING_SYSCALL_OR_IOCTL
+++ b/README_MISSING_SYSCALL_OR_IOCTL
@@ -130,12 +130,10 @@ following:
which has a similar behaviour to yours, and use it as a
starting point.
- If you need structure definitions for your syscall, you can copy
- structure definitions from the kernel headers into
- include/vg_kerneliface.h, with the appropriate vki_* name
- mangling. Alternatively, you can #include headers for structure
- definitions, put your #includes into vg_unsafe.h (copying
- syscall-related things into vg_kerneliface.h is preferred though).
+ If you need structure definitions and/or constants for your syscall,
+ copy them from the kernel headers into include/vki.h and co., with
+ the appropriate vki_*/VKI_* name mangling. Don't #include any
+ kernel headers. And certainly don't #include any glibc headers.
Test it.