From 71f2db14c8a4a5032f1ffb103bf6f7e7cf3c2499 Mon Sep 17 00:00:00 2001 From: matt Date: Wed, 3 Mar 2004 22:58:34 +0000 Subject: [PATCH] Use this to symbolically get into ucontext_t and struct sigcontext. --- lib/libc/arch/vax/genassym.cf | 70 +++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 lib/libc/arch/vax/genassym.cf diff --git a/lib/libc/arch/vax/genassym.cf b/lib/libc/arch/vax/genassym.cf new file mode 100644 index 000000000000..914abe815b18 --- /dev/null +++ b/lib/libc/arch/vax/genassym.cf @@ -0,0 +1,70 @@ +# $NetBSD: genassym.cf,v 1.1 2004/03/03 22:58:34 matt Exp $ + +# +# Copyright (c) 2001 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Matt Thomas . +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the NetBSD +# Foundation, Inc. and its contributors. +# 4. Neither the name of The NetBSD Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +include +include + +define UC_LEN sizeof(ucontext_t) +define UC_LINK offsetof(ucontext_t, uc_link) +define UC_FLAGS offsetof(ucontext_t, uc_flags) +define UC_SIGMASK offsetof(ucontext_t, uc_sigmask) +define UC_GREGS offsetof(ucontext_t, uc_mcontext.__gregs) +define _UC_SIGMASK _UC_SIGMASK +define _UC_CPU _UC_CPU + +define _REG_R0 4*_REG_R0 +define _REG_R1 4*_REG_R1 +define _REG_R2 4*_REG_R2 +define _REG_R4 4*_REG_R4 +define _REG_R6 4*_REG_R6 +define _REG_R8 4*_REG_R8 +define _REG_R10 4*_REG_R10 +define _REG_AP 4*_REG_AP +define _REG_SP 4*_REG_SP +define _REG_FP 4*_REG_FP +define _REG_PC 4*_REG_PC +define _REG_PSL 4*_REG_PSL + +define SC_LEN sizeof(struct sigcontext) +define SC_ONSTACK offsetof(struct sigcontext, sc_onstack) +define SC_SP offsetof(struct sigcontext, sc_sp) +define SC_FP offsetof(struct sigcontext, sc_fp) +define SC_AP offsetof(struct sigcontext, sc_ap) +define SC_PC offsetof(struct sigcontext, sc_pc) +define SC_PS offsetof(struct sigcontext, sc_ps) +define SC_MASK offsetof(struct sigcontext, sc_mask)