Commit Graph

81 Commits

Author SHA1 Message Date
John Birrell
aa06238273 Don't need to include vmem.h anymore. 2008-05-23 22:44:46 +00:00
John Birrell
4ead756ac8 Add the dtrace client app to the build. 2008-05-22 23:06:19 +00:00
John Birrell
d30b4ed2c9 Add the DTrace build tools. 2008-05-22 08:04:49 +00:00
John Birrell
3c659d488d Oops, these files belonged under src/sys, not src. Sorry. 2008-05-22 07:46:01 +00:00
John Birrell
bdd39db9a7 This commit was generated by cvs2svn to compensate for changes in r179191,
which included commits to RCS files with non-trunk default branches.
2008-05-22 07:00:07 +00:00
John Birrell
ebe86aacbe Add the DTrace libraries and D library scripts. 2008-05-22 04:26:42 +00:00
John Birrell
d355fd5877 Add Solaris compatibility definitions for things we don't really want in
FreeBSD headers.
2008-05-21 00:26:38 +00:00
John Birrell
187379693c * Handle the different ioctl design.
* Add a couple of FreeBSD action extensions.
2008-04-26 05:09:19 +00:00
John Birrell
41ec19c071 Make this file compile cleanly. 2008-04-26 05:07:54 +00:00
John Birrell
2c981f99ef Leave out some header files. 2008-04-26 05:07:07 +00:00
John Birrell
2693feb411 * Handle building on FreeBSD for i386 and amd64.
* Add stubs for the other FreeBSD arches.
* Make the file compile cleanly.
2008-04-26 05:05:48 +00:00
John Birrell
5fe26f7c08 * Make this file compile cleanly.
* Add FreeBSD constructor/destructor definitions.
2008-04-26 05:03:22 +00:00
John Birrell
fb24b944be * Add FreeBSD action extensions.
* Get the kernel module file name rather than hard-coding it like on Solaris.
* Use FreeBSD's process library API.
* Handle FreeBSD's different lock types.
* Get the list of loaded providers via a syscall.
2008-04-26 05:01:29 +00:00
John Birrell
132df6e9ab * Handle the different ioctl design.
* Make this file compile cleanly.
2008-04-26 04:57:45 +00:00
John Birrell
5ec5669275 There is a lot of commented out code here which applies to future work
for userland tracing.

For now we need the basic functions to be in place so that DTrace can
be used for kernel tracing.
2008-04-26 04:56:46 +00:00
John Birrell
84098f48c6 Leave out a header file. 2008-04-26 04:54:58 +00:00
John Birrell
cccc7d47c0 Merge FreeBSD include file changes with some code that should have come
in on the vendor branch.
2008-04-26 04:53:24 +00:00
John Birrell
bbda5851ce * Use FreeBSD's process library instead of the Solaris one.
* There are a few placeholders in here for which there isn't libproc
  support code yet. This is relevent to userland tracing. This set of
  commits is designed to get kernel tracing up and running, with the
  userland stuff to follow later.
2008-04-26 04:51:45 +00:00
John Birrell
d46d190310 Leave out the hook that Solaris has into it's rtld. 2008-04-26 04:49:02 +00:00
John Birrell
f5a736457d * Add a couple of action definitions for FreeBSD extensions.
* Handle the different ioctl design.
* Add support for the get and set error location.
* Add support for freopen().
2008-04-26 04:47:16 +00:00
John Birrell
cd14ec8113 * Handle the different ioctl design.
* Make the file compile cleanly.
2008-04-26 04:44:34 +00:00
John Birrell
768c574fc0 There are many places in libdtrace where errno can be set. When an
error is returned all the way back to the dtrace app, it's hard to
figure out where that error came from.

Add a couple of functions to get and set the error location which can
be optionally compiled into the library.
2008-04-26 04:43:19 +00:00
John Birrell
79673c5671 Add some error definitions for FreeBSD action extensions. 2008-04-26 04:40:38 +00:00
John Birrell
f1e56186ea * Make this file compile cleanly.
* Use FreeBSD's kld syscalls to get kernel module information instead
  of using an object file system like Solaris uses.
2008-04-26 04:39:26 +00:00
John Birrell
d9ce014461 * Handle the different ioctl design.
* Use FreeBSD's process library API.
* Make the file compile cleanly.
2008-04-26 04:37:01 +00:00
John Birrell
40de299f6b Just leave out a few includes to compile this on FreeBSD. 2008-04-26 04:34:50 +00:00
John Birrell
b29602e4d8 * Get the maximum number of CPUs via a sysctl.
* Handle the different ioctl design.
* Support the freopen() changes.
* Use functions in FreeBSD's process library rather than the CDDL
  library that Solaris has which sits on top of their process file
  system and is therefore unsuitable for use on FreeBSD. The libproc
  API for FreeBSD is deliberately different to that on Solaris because
  Sun wouldn't release the libproc.h header under a BSD license.
2008-04-26 04:33:15 +00:00
John Birrell
51e031e870 * Define YY_INPUT for flex since input() can't be re-defined.
* On FreeBSD define both LITTLE_ENDIAN and BIG_ENDIAN and then set the
  BYTE_ORDER to the one we are using. On Solaris they define one or
  the other but not both. For us to keep using FreeBSD header files,
  we need to use endian definitions the same way we do in pure BSD
  code.
2008-04-26 04:26:23 +00:00
John Birrell
c839260786 Make this compile cleanly. 2008-04-26 04:22:32 +00:00
John Birrell
df5c121dfe Handle the different level of indirection between ioctl on SYSV vs BSD. 2008-04-26 04:20:11 +00:00
John Birrell
29f89dfce7 freopen() on FreeBSD behaves differently to the Solaris one. 2008-04-26 04:18:35 +00:00
John Birrell
1cbe5a9868 * Use a portable POSIX timed wait.
* Handle the different ioctl format.
2008-04-26 04:16:17 +00:00
John Birrell
a76c5ce792 * Fix a function prototype.
* Allow for the different level of indirection between SYSV's ioctl and BSD's.
* Map a couple of sysconf definitions to one that FreeBSD has.
2008-04-26 04:13:23 +00:00
John Birrell
18db5bcf28 Simplify for FreeBSD for now, bypassing the multibyte char variables
that Solaris has. We may need to revisit this issue later.
2008-04-26 04:11:16 +00:00
John Birrell
76429c36b0 Solaris has code which makes zlib optional, so they have to jump through
some hoops to get the compression functions. On FreeBSD have libz and
can just link against it.
2008-04-26 04:09:13 +00:00
John Birrell
abb532f661 'echo' behaviour differs between SYSV and BSD. 2008-04-26 04:03:58 +00:00
John Birrell
4cc75139b9 A lot of changes to make this code compile cleanly on FreeBSD. 2008-04-26 04:01:35 +00:00
John Birrell
e9c7a60421 Use FreeBSD's libdwarf which is BSD licensed instead of the GPL'd one that
is used in Solaris.
2008-04-26 03:59:24 +00:00
John Birrell
c01977ed3b We need to be consistent with prototype definitions. It isn't OK to
use 'const' and just override it whenever we feel like it. If we use
it at all, then we need to do it properly.

Add a couple of functions that were useful in getting this code ported.
2008-04-26 03:56:49 +00:00
John Birrell
9098da062c Make this file compile cleanly. 2008-04-26 03:54:23 +00:00
John Birrell
0f49724359 Apply FreeBSD changes. 2008-04-26 03:47:34 +00:00
John Birrell
9f1fe401d9 On FreeBSD we can't afford to have a build fail simply because there
was some sort of CTF conversion error.
2008-04-26 03:44:47 +00:00
John Birrell
0bf4507c08 Add a missing include file. We care about function prototype definitions. 2008-04-26 03:40:56 +00:00
John Birrell
a6847cf6de Apply FreeBSD changes.
There is an incomplete piece of code in here which requires the process
handling library which is still under development.
2008-04-26 03:39:02 +00:00
John Birrell
4257781cdc * Set the path to perl on FreeBSD.
* Use the FreeBSD shell.
* On FreeBSD the tests run from the OBJDIR, so output files go there
  rather than in the source tree like they do on Solaris.
* FreeBSD doesn't need a special path to the compiler.
2008-04-26 03:36:28 +00:00
John Birrell
a56e400f78 Set the path to perl on FreeBSD. 2008-04-26 03:34:22 +00:00
John Birrell
f8ac9d32d3 Port these test files to work under FreeBSD. 2008-04-26 03:32:20 +00:00
John Birrell
20594ebf90 This commit was generated by cvs2svn to compensate for changes in r178528,
which included commits to RCS files with non-trunk default branches.
2008-04-26 00:54:52 +00:00
John Birrell
d876124d6a This commit was generated by cvs2svn to compensate for changes in r178525,
which included commits to RCS files with non-trunk default branches.
2008-04-25 23:33:18 +00:00
John Birrell
1673e4046d This commit was generated by cvs2svn to compensate for changes in r178481,
which included commits to RCS files with non-trunk default branches.
2008-04-25 09:07:28 +00:00