diff options
author | njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2005-06-12 02:43:17 +0000 |
---|---|---|
committer | njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2005-06-12 02:43:17 +0000 |
commit | f39e9a36dca9642668a66c6b054f81c88650bcb9 (patch) | |
tree | 0345dce5ccaaf9cc97d24b64fa748e9a1a17ba46 /include | |
parent | d0e0ec07ea83bd2e57c7ea6319aa2af097a660cd (diff) | |
download | valgrind-f39e9a36dca9642668a66c6b054f81c88650bcb9.tar.gz |
Finished the modularisation of vg_mylibc.c, which meant it could be removed.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3894 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'include')
-rw-r--r-- | include/Makefile.am | 1 | ||||
-rw-r--r-- | include/pub_tool_libcassert.h | 7 | ||||
-rw-r--r-- | include/pub_tool_libcproc.h | 80 | ||||
-rw-r--r-- | include/tool.h | 44 |
4 files changed, 88 insertions, 44 deletions
diff --git a/include/Makefile.am b/include/Makefile.am index 1a2c73408..9ece13dfa 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -14,6 +14,7 @@ incinc_HEADERS = \ pub_tool_libcfile.h \ pub_tool_libcmman.h \ pub_tool_libcprint.h \ + pub_tool_libcproc.h \ pub_tool_libcsignal.h \ pub_tool_mallocfree.h \ pub_tool_options.h \ diff --git a/include/pub_tool_libcassert.h b/include/pub_tool_libcassert.h index 22a46e08a..079485f2a 100644 --- a/include/pub_tool_libcassert.h +++ b/include/pub_tool_libcassert.h @@ -46,6 +46,13 @@ 0))) __attribute__ ((__noreturn__)) +extern void VG_(exit)( Int status ); + +/* Prints a panic message, appends newline and bug reporting info, aborts. */ +__attribute__ ((__noreturn__)) +extern void VG_(tool_panic) ( Char* str ); + +__attribute__ ((__noreturn__)) extern void VG_(assert_fail) ( Bool isCore, const Char* expr, const Char* file, Int line, const Char* fn, const HChar* format, ... ); diff --git a/include/pub_tool_libcproc.h b/include/pub_tool_libcproc.h new file mode 100644 index 000000000..6776b2beb --- /dev/null +++ b/include/pub_tool_libcproc.h @@ -0,0 +1,80 @@ + +/*--------------------------------------------------------------------*/ +/*--- Process-related libc stuff pub_tool_libcproc.h ---*/ +/*--------------------------------------------------------------------*/ + +/* + This file is part of Valgrind, a dynamic binary instrumentation + framework. + + Copyright (C) 2000-2005 Julian Seward + jseward@acm.org + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307, USA. + + The GNU General Public License is contained in the file COPYING. +*/ + +#ifndef __PUB_TOOL_LIBCPROC_H +#define __PUB_TOOL_LIBCPROC_H + +/* --------------------------------------------------------------------- + Command-line and environment stuff + ------------------------------------------------------------------ */ + +/* Client args and environment (which can be inspected with VG_(getenv)(). */ +extern Int VG_(client_argc); +extern Char** VG_(client_argv); +extern Char** VG_(client_envp); + +/* Looks up VG_(client_envp) */ +extern Char* VG_(getenv) ( Char* name ); + +/* --------------------------------------------------------------------- + Important syscalls + ------------------------------------------------------------------ */ + +extern Int VG_(waitpid)( Int pid, Int *status, Int options ); +extern Int VG_(system) ( Char* cmd ); + +/* --------------------------------------------------------------------- + Resource limits + ------------------------------------------------------------------ */ + +extern Int VG_(getrlimit) ( Int resource, struct vki_rlimit *rlim ); +extern Int VG_(setrlimit) ( Int resource, const struct vki_rlimit *rlim ); + +/* --------------------------------------------------------------------- + pids, etc + ------------------------------------------------------------------ */ + +extern Int VG_(gettid) ( void ); +extern Int VG_(getpid) ( void ); +extern Int VG_(getppid) ( void ); +extern Int VG_(getpgrp) ( void ); +extern Int VG_(setpgid) ( Int pid, Int pgrp ); + +/* --------------------------------------------------------------------- + Timing + ------------------------------------------------------------------ */ + +extern UInt VG_(read_millisecond_timer) ( void ); + +#endif // __PUB_TOOL_LIBCPROC_H + +/*--------------------------------------------------------------------*/ +/*--- end ---*/ +/*--------------------------------------------------------------------*/ diff --git a/include/tool.h b/include/tool.h index 60fa41331..d837f3c9e 100644 --- a/include/tool.h +++ b/include/tool.h @@ -66,14 +66,6 @@ /* Path to all our library/aux files */ extern const Char *VG_(libdir); -/* Client args */ -extern Int VG_(client_argc); -extern Char** VG_(client_argv); - -/* Client environment. Can be inspected with VG_(getenv)() */ -extern Char** VG_(client_envp); - - /*====================================================================*/ /*=== Useful stuff to call from generated code ===*/ /*====================================================================*/ @@ -105,38 +97,6 @@ extern Addr VG_(get_IP) ( ThreadId tid ); /*====================================================================*/ /* ------------------------------------------------------------------ */ -/* stdlib.h */ - -/* terminate everything */ -extern void VG_(exit)( Int status ) - __attribute__ ((__noreturn__)); - -/* Prints a panic message (a constant string), appends newline and bug - reporting info, aborts. */ -__attribute__ ((__noreturn__)) -extern void VG_(tool_panic) ( Char* str ); - -/* Looks up VG_(client_envp) */ -extern Char* VG_(getenv) ( Char* name ); - -/* Get client resource limit*/ -extern Int VG_(getrlimit) ( Int resource, struct vki_rlimit *rlim ); - -/* Set client resource limit*/ -extern Int VG_(setrlimit) ( Int resource, const struct vki_rlimit *rlim ); - -/* Crude stand-in for the glibc system() call. */ -extern Int VG_(system) ( Char* cmd ); - -/* ------------------------------------------------------------------ */ -/* unistd.h, fcntl.h, sys/stat.h */ -extern Int VG_(getpid) ( void ); -extern Int VG_(getppid) ( void ); -extern Int VG_(getpgrp) ( void ); -extern Int VG_(gettid) ( void ); -extern Int VG_(setpgid) ( Int pid, Int pgrp ); - -/* ------------------------------------------------------------------ */ /* Register an interest in apparently internal faults; used code which wanders around dangerous memory (ie, leakcheck). The catcher is not expected to return. */ @@ -145,12 +105,8 @@ extern void VG_(set_fault_catcher)(void (*catcher)(Int sig, Addr addr)); /* Calls "mark_addr" with register values (which may or may not be pointers) */ extern void VG_(mark_from_registers)(void (*mark_addr)(Addr addr)); -extern Int VG_(waitpid) ( Int pid, Int *status, Int options ); - /* ------------------------------------------------------------------ */ /* other, randomly useful functions */ -extern UInt VG_(read_millisecond_timer) ( void ); - extern Bool VG_(has_cpuid) ( void ); extern void VG_(cpuid) ( UInt eax, |