NetBSD/lib/libpthread/arch/i386/genassym.cf

87 lines
3.5 KiB
CFEngine3

# $NetBSD: genassym.cf,v 1.2 2003/01/18 10:34:18 thorpej Exp $
# Copyright (c) 2001 The NetBSD Foundation, Inc.
# All rights reserved.
#
# This code is derived from software contributed to The NetBSD Foundation
# by Nathan J. Williams.
#
# 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 <ucontext.h>
include <sys/queue.h>
include "pthread.h"
include "pthread_int.h"
include "pthread_md.h"
define PT_NEXT offsetof(struct pthread_st, pt_next)
define PT_STATE offsetof(struct pthread_st, pt_state)
define PT_SWITCHTO offsetof(struct pthread_st, pt_switchto)
define PT_SWITCHTOUC offsetof(struct pthread_st, pt_switchtouc)
define PT_SLEEPUC offsetof(struct pthread_st, pt_sleepuc)
define PT_SPINLOCKS offsetof(struct pthread_st, pt_spinlocks)
define PT_HELDLOCK offsetof(struct pthread_st, pt_heldlock)
define PT_UC offsetof(struct pthread_st, pt_uc)
define CONTEXTSIZE sizeof(ucontext_t)
define UC_FLAGS offsetof(ucontext_t, uc_flags)
define UC_REGS offsetof(ucontext_t, uc_mcontext.__gregs)
define UC_EIP offsetof(ucontext_t, uc_mcontext.__gregs[_REG_EIP])
define UC_FPREGS offsetof(ucontext_t, uc_mcontext.__fpregs.__fp_reg_set.__fpchip_state.__fp_state)
define UC_FXSAVEREGS offsetof(ucontext_t, uc_mcontext.__fpregs.__fp_reg_set.__fp_xmm_state.__fp_xmm)
define PT_STATE_RECYCLABLE PT_STATE_RECYCLABLE
define STACKSPACE STACKSPACE
define _UC_CPU _UC_CPU
define _UC_FPU _UC_FPU
define _UC_USER _UC_USER
define _UC_USER_BIT _UC_USER_BIT
define _REG_GS _REG_GS
define _REG_FS _REG_FS
define _REG_ES _REG_ES
define _REG_DS _REG_DS
define _REG_EDI _REG_EDI
define _REG_ESI _REG_ESI
define _REG_EBP _REG_EBP
define _REG_ESP _REG_ESP
define _REG_EBX _REG_EBX
define _REG_EDX _REG_EDX
define _REG_ECX _REG_ECX
define _REG_EAX _REG_EAX
define _REG_TRAPNO _REG_TRAPNO
define _REG_ERR _REG_ERR
define _REG_EIP _REG_EIP
define _REG_CS _REG_CS
define _REG_EFL _REG_EFL
define _REG_UESP _REG_UESP
define _REG_SS _REG_SS