From owner-p4-projects@FreeBSD.ORG Fri Jul 10 01:36:45 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DC28F1065673; Fri, 10 Jul 2009 01:36:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9C028106566B for ; Fri, 10 Jul 2009 01:36:44 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8A6C88FC16 for ; Fri, 10 Jul 2009 01:36:44 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n6A1airP034056 for ; Fri, 10 Jul 2009 01:36:44 GMT (envelope-from attilio@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n6A1aile034054 for perforce@freebsd.org; Fri, 10 Jul 2009 01:36:44 GMT (envelope-from attilio@FreeBSD.org) Date: Fri, 10 Jul 2009 01:36:44 GMT Message-Id: <200907100136.n6A1aile034054@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to attilio@FreeBSD.org using -f From: Attilio Rao To: Perforce Change Reviews Cc: Subject: PERFORCE change 165892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jul 2009 01:36:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=165892 Change 165892 by attilio@attilio_valgrind on 2009/07/10 01:35:51 - Move the signal handling from the MD includes to the MI part. - Move the ucontext handling from the MD includes to the MI part. Sponsored by: Sandvine Incorporated Affected files ... .. //depot/projects/valgrind/include/vki/vki-amd64-freebsd.h#8 edit .. //depot/projects/valgrind/include/vki/vki-freebsd.h#14 edit .. //depot/projects/valgrind/include/vki/vki-x86-freebsd.h#6 edit Differences ... ==== //depot/projects/valgrind/include/vki/vki-amd64-freebsd.h#8 (text+ko) ==== @@ -26,99 +26,22 @@ #ifndef __VKI_AMD64_FREEBSD_H #define __VKI_AMD64_FREEBSD_H -#define VKI_LITTLE_ENDIAN 1 - /* PAGE_SHIFT determines the page size. */ #define VKI_PAGE_SHIFT 12 #define VKI_PAGE_SIZE (1UL << VKI_PAGE_SHIFT) #define VKI_MAX_PAGE_SHIFT VKI_PAGE_SHIFT #define VKI_MAX_PAGE_SIZE VKI_PAGE_SIZE -#define VKI_MINSIGSTKSZ 2048 - -#define VKI_SIG_BLOCK 1 /* for blocking signals */ -#define VKI_SIG_UNBLOCK 2 /* for unblocking signals */ -#define VKI_SIG_SETMASK 3 /* for setting the signal mask */ - -/* Type of a signal handler. */ -typedef void __vki_signalfn_t(int); -typedef __vki_signalfn_t *__vki_sighandler_t; +#define VKI_MINSIGSTKSZ 2048 -#define VKI_SIG_DFL ((__vki_sighandler_t)0) /* default signal handling */ -#define VKI_SIG_IGN ((__vki_sighandler_t)1) /* ignore signal */ - #define _VKI_NSIG 128 #define _VKI_NSIG_BPW 64 #define _VKI_NSIG_WORDS (_VKI_NSIG / _VKI_NSIG_BPW) -/* Beware, not longword aligned in struct sigaction */ typedef struct { - vki_uint64_t sig[_VKI_NSIG_WORDS]; + vki_uint64_t sig[_VKI_NSIG_WORDS]; } vki_sigset_t; -#define VKI_SIGHUP 1 -#define VKI_SIGINT 2 -#define VKI_SIGQUIT 3 -#define VKI_SIGILL 4 -#define VKI_SIGTRAP 5 -#define VKI_SIGABRT 6 -#define VKI_SIGEMT 7 -#define VKI_SIGFPE 8 -#define VKI_SIGKILL 9 -#define VKI_SIGBUS 10 -#define VKI_SIGSEGV 11 -#define VKI_SIGSYS 12 -#define VKI_SIGPIPE 13 -#define VKI_SIGALRM 14 -#define VKI_SIGTERM 15 -#define VKI_SIGURG 16 -#define VKI_SIGSTOP 17 -#define VKI_SIGTSTP 18 -#define VKI_SIGCONT 19 -#define VKI_SIGCHLD 20 -#define VKI_SIGTTIN 21 -#define VKI_SIGTTOU 22 -#define VKI_SIGIO 23 -#define VKI_SIGXCPU 24 -#define VKI_SIGXFSZ 25 -#define VKI_SIGVTALRM 26 -#define VKI_SIGPROF 27 -#define VKI_SIGWINCH 28 -#define VKI_SIGINFO 29 -#define VKI_SIGUSR1 30 -#define VKI_SIGUSR2 31 -#define VKI_SIGTHR 32 - -#define VKI_SIGRTMIN 65 -#define VKI_SIGRTMAX 126 - -#define VKI_SA_ONSTACK 0x0001 -#define VKI_SA_RESTART 0x0002 -#define VKI_SA_RESETHAND 0x0004 -#define VKI_SA_NOCLDSTOP 0x0008 -#define VKI_SA_NODEFER 0x0010 -#define VKI_SA_NOCLDWAIT 0x0020 -#define VKI_SA_SIGINFO 0x0040 - -#define VKI_SS_ONSTACK 0x0001 -#define VKI_SS_DISABLE 0x0004 - -#define VKI_SA_ONESHOT VKI_SA_RESETHAND -#define VKI_SA_NOMASK VKI_SA_NODEFER - -struct vki_sigaction { - __vki_sighandler_t ksa_handler; - unsigned int sa_flags; - vki_sigset_t sa_mask __attribute__((__packed__)); - unsigned int __sa_pad; -}; - -typedef struct vki_sigaltstack { - void *ss_sp; - vki_size_t ss_size; - int ss_flags; -} vki_stack_t; - struct _vki_fpstate { unsigned short cwd; unsigned short swd; @@ -247,14 +170,4 @@ #define VKI_FPOWNED_FPU 0x20001 #define VKI_FPOWNED_PCB 0x20002 -struct vki_ucontext { - vki_sigset_t uc_sigmask; - struct vki_mcontext uc_mcontext; - struct vki_ucontext *uc_link; - vki_stack_t uc_stack; - int uc_flags; -#define VKI_UCF_SWAPPED 1 - unsigned int __spare__[4]; -}; - #endif /* __VKI_AMD64_FREEBSD_H */ ==== //depot/projects/valgrind/include/vki/vki-freebsd.h#14 (text+ko) ==== @@ -377,6 +377,79 @@ // From sys/signal.h //---------------------------------------------------------------------- +#define VKI_SIG_BLOCK 1 /* block specified signal set */ +#define VKI_SIG_UNBLOCK 2 /* unblock specified signal set */ +#define VKI_SIG_SETMASK 3 /* set specified signal set */ + +#define VKI_SIG_DFL ((__vki_sighandler_t)0) +#define VKI_SIG_IGN ((__vki_sighandler_t)1) +#define VKI_SIG_ERR ((__vki_sighandler_t)-1) + +typedef void __vki_signalfn_t(int); +typedef __vki_signalfn_t *__vki_sighandler_t; + +#define VKI_SIGHUP 1 +#define VKI_SIGINT 2 +#define VKI_SIGQUIT 3 +#define VKI_SIGILL 4 +#define VKI_SIGTRAP 5 +#define VKI_SIGABRT 6 +#define VKI_SIGEMT 7 +#define VKI_SIGFPE 8 +#define VKI_SIGKILL 9 +#define VKI_SIGBUS 10 +#define VKI_SIGSEGV 11 +#define VKI_SIGSYS 12 +#define VKI_SIGPIPE 13 +#define VKI_SIGALRM 14 +#define VKI_SIGTERM 15 +#define VKI_SIGURG 16 +#define VKI_SIGSTOP 17 +#define VKI_SIGTSTP 18 +#define VKI_SIGCONT 19 +#define VKI_SIGCHLD 20 +#define VKI_SIGTTIN 21 +#define VKI_SIGTTOU 22 +#define VKI_SIGIO 23 +#define VKI_SIGXCPU 24 +#define VKI_SIGXFSZ 25 +#define VKI_SIGVTALRM 26 +#define VKI_SIGPROF 27 +#define VKI_SIGWINCH 28 +#define VKI_SIGINFO 29 +#define VKI_SIGUSR1 30 +#define VKI_SIGUSR2 31 +#define VKI_SIGTHR 32 + +#define VKI_SIGRTMIN 65 +#define VKI_SIGRTMAX 126 + +#define VKI_SA_ONSTACK 0x0001 +#define VKI_SA_RESTART 0x0002 +#define VKI_SA_RESETHAND 0x0004 +#define VKI_SA_NOCLDSTOP 0x0008 +#define VKI_SA_NODEFER 0x0010 +#define VKI_SA_NOCLDWAIT 0x0020 +#define VKI_SA_SIGINFO 0x0040 + +#define VKI_SS_ONSTACK 0x0001 +#define VKI_SS_DISABLE 0x0004 + +#define VKI_SA_ONESHOT VKI_SA_RESETHAND +#define VKI_SA_NOMASK VKI_SA_NODEFER + +struct vki_sigaction { + __vki_sighandler_t ksa_handler; + int sa_flags; + vki_sigset_t sa_mask; +}; + +typedef struct vki_sigaltstack { + void *ss_sp; + vki_size_t ss_size; + int ss_flags; +} vki_stack_t; + typedef union vki_sigval { int sival_int; void *sival_ptr; @@ -1130,6 +1203,20 @@ long mq_curmsgs; /* number of messages currently queued */ }; +//---------------------------------------------------------------------- +// From sys/ucontext.h +//---------------------------------------------------------------------- + +#define VKI_UCF_SWAPPED 1 + +struct vki_ucontext { + vki_sigset_t uc_sigmask; + struct vki_mcontext uc_mcontext; + struct vki_ucontext *uc_link; + vki_stack_t uc_stack; + int uc_flags; + unsigned int __spare__[4]; +}; //---------------------------------------------------------------------- // From sys/utsname.h ==== //depot/projects/valgrind/include/vki/vki-x86-freebsd.h#6 (text+ko) ==== @@ -31,10 +31,6 @@ #ifndef __VKI_X86_LINUX_H #define __VKI_X86_LINUX_H -// x86 is little-endian. -#define VKI_LITTLE_ENDIAN 1 - - //---------------------------------------------------------------------- // From somewhere //---------------------------------------------------------------------- @@ -49,89 +45,16 @@ // From sys/signal.h //---------------------------------------------------------------------- -#define VKI_MINSIGSTKSZ 2048 +#define VKI_MINSIGSTKSZ 2048 -#define VKI_SIG_BLOCK 1 /* for blocking signals */ -#define VKI_SIG_UNBLOCK 2 /* for unblocking signals */ -#define VKI_SIG_SETMASK 3 /* for setting the signal mask */ - -/* Type of a signal handler. */ -typedef void __vki_signalfn_t(int); -typedef __vki_signalfn_t *__vki_sighandler_t; - -#define VKI_SIG_DFL ((__vki_sighandler_t)0) /* default signal handling */ -#define VKI_SIG_IGN ((__vki_sighandler_t)1) /* ignore signal */ - #define _VKI_NSIG 128 #define _VKI_NSIG_BPW 32 #define _VKI_NSIG_WORDS (_VKI_NSIG / _VKI_NSIG_BPW) typedef struct { - vki_uint32_t sig[_VKI_NSIG_WORDS]; + vki_uint32_t sig[_VKI_NSIG_WORDS]; } vki_sigset_t; -#define VKI_SIGHUP 1 -#define VKI_SIGINT 2 -#define VKI_SIGQUIT 3 -#define VKI_SIGILL 4 -#define VKI_SIGTRAP 5 -#define VKI_SIGABRT 6 -#define VKI_SIGEMT 7 -#define VKI_SIGFPE 8 -#define VKI_SIGKILL 9 -#define VKI_SIGBUS 10 -#define VKI_SIGSEGV 11 -#define VKI_SIGSYS 12 -#define VKI_SIGPIPE 13 -#define VKI_SIGALRM 14 -#define VKI_SIGTERM 15 -#define VKI_SIGURG 16 -#define VKI_SIGSTOP 17 -#define VKI_SIGTSTP 18 -#define VKI_SIGCONT 19 -#define VKI_SIGCHLD 20 -#define VKI_SIGTTIN 21 -#define VKI_SIGTTOU 22 -#define VKI_SIGIO 23 -#define VKI_SIGXCPU 24 -#define VKI_SIGXFSZ 25 -#define VKI_SIGVTALRM 26 -#define VKI_SIGPROF 27 -#define VKI_SIGWINCH 28 -#define VKI_SIGINFO 29 -#define VKI_SIGUSR1 30 -#define VKI_SIGUSR2 31 -#define VKI_SIGTHR 32 - -#define VKI_SIGRTMIN 65 -#define VKI_SIGRTMAX 126 - -#define VKI_SA_ONSTACK 0x0001 -#define VKI_SA_RESTART 0x0002 -#define VKI_SA_RESETHAND 0x0004 -#define VKI_SA_NOCLDSTOP 0x0008 -#define VKI_SA_NODEFER 0x0010 -#define VKI_SA_NOCLDWAIT 0x0020 -#define VKI_SA_SIGINFO 0x0040 - -#define VKI_SS_ONSTACK 0x0001 -#define VKI_SS_DISABLE 0x0004 - -#define VKI_SA_ONESHOT VKI_SA_RESETHAND -#define VKI_SA_NOMASK VKI_SA_NODEFER - -struct vki_sigaction { - __vki_sighandler_t ksa_handler; - unsigned int sa_flags; - vki_sigset_t sa_mask; /* mask last for extensibility */ -}; - -typedef struct vki_sigaltstack { - void *ss_sp; - vki_size_t ss_size; - int ss_flags; -} vki_stack_t; - //---------------------------------------------------------------------- // From linux-2.6.8.1/include/asm-i386/sigcontext.h //---------------------------------------------------------------------- @@ -354,24 +277,6 @@ int spare[17]; }; -struct vki_ucontext6 { - vki_sigset_t uc_sigmask; - struct vki_mcontext6 uc_mcontext; - struct vki_ucontext6 *uc_link; - vki_stack_t uc_stack; - int uc_flags; -#define VKI_UCF_SWAPPED 1 - unsigned int __spare__[4]; -}; - -struct vki_ucontext { - vki_sigset_t uc_sigmask; - struct vki_mcontext uc_mcontext; - struct vki_ucontext *uc_link; - vki_stack_t uc_stack; - unsigned int __spare__[8]; -}; - #if 0 //----------------------------------------------------------------------