generate offsets for ucontext.S
This commit is contained in:
parent
9b7938d815
commit
cb1418a5e1
3 changed files with 37 additions and 26 deletions
|
@ -1,5 +1,15 @@
|
|||
# rts sources
|
||||
.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/sys-minix
|
||||
HERE=${.CURDIR}/arch/${MACHINE_ARCH}/sys-minix
|
||||
.PATH: ${HERE}
|
||||
|
||||
TMP=ucontextoffsets.h.tmp
|
||||
INCLS=../../include
|
||||
ARCHINCLS=$(INCLS)/arch/i386/include/
|
||||
CF=ucontextoffsets.cf
|
||||
|
||||
INCS+=ucontextoffsets.h
|
||||
|
||||
ucontext.d: ucontextoffsets.h
|
||||
|
||||
SRCS+= \
|
||||
__sigreturn.S \
|
||||
|
@ -7,3 +17,10 @@ SRCS+= \
|
|||
_senda.S \
|
||||
brksize.S \
|
||||
ucontext.S
|
||||
|
||||
ucontextoffsets.h: $(CF) $(ARCHINCLS)/stackframe.h $(INCLS)/sys/ucontext.h
|
||||
${_MKTARGET_CREATE}
|
||||
cat ${HERE}/$(CF) | \
|
||||
${TOOL_GENASSYM} -- ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} >$TMP && \
|
||||
mv -f $TMP $@
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include <machine/asm.h>
|
||||
#include <ucontextoffsets.h>
|
||||
|
||||
#ifdef __ACK__
|
||||
.text
|
||||
|
@ -21,31 +22,6 @@ IMPORT(setuctx)
|
|||
IMPORT(resumecontext)
|
||||
|
||||
|
||||
/* Offsets into ucontext_t structure. Keep in sync with <sys/ucontext.h>! */
|
||||
#define UC_FLAGS 0
|
||||
#define UC_LINK UC_FLAGS + 4
|
||||
#define MCTX UC_LINK + 4
|
||||
#define MAGIC MCTX
|
||||
#define GS MAGIC+4
|
||||
#define FS GS+2
|
||||
#define ES FS+2
|
||||
#define DS ES+2
|
||||
#define DI DS+2
|
||||
#define SI DI+4
|
||||
#define BP SI+4
|
||||
#define ST BP+4 /* Hole for another SP */
|
||||
#define BX ST+4
|
||||
#define DX BX+4
|
||||
#define CX DX+4
|
||||
#define AX CX+4
|
||||
#define RETADR AX+4
|
||||
#define PC RETADR+4
|
||||
#define CS PC+4
|
||||
#define PSW CS+4
|
||||
#define SP PSW+4
|
||||
#define SS SP+4
|
||||
|
||||
|
||||
/* MCF_MAGIC value from <mcontext.h> */
|
||||
#define MCF_MAGIC 0xc0ffee
|
||||
|
||||
|
|
18
lib/libc/arch/i386/sys-minix/ucontextoffsets.cf
Normal file
18
lib/libc/arch/i386/sys-minix/ucontextoffsets.cf
Normal file
|
@ -0,0 +1,18 @@
|
|||
|
||||
include <minix/type.h>
|
||||
include <sys/ucontext.h>
|
||||
|
||||
struct __ucontext
|
||||
member UC_FLAGS uc_flags
|
||||
member UC_LINK uc_link
|
||||
member MAGIC uc_mcontext.mc_magic
|
||||
member DI uc_mcontext.mc_p_reg.di
|
||||
member SI uc_mcontext.mc_p_reg.si
|
||||
member BP uc_mcontext.mc_p_reg.fp
|
||||
member AX uc_mcontext.mc_p_reg.retreg
|
||||
member BX uc_mcontext.mc_p_reg.bx
|
||||
member CX uc_mcontext.mc_p_reg.cx
|
||||
member DX uc_mcontext.mc_p_reg.dx
|
||||
member PC uc_mcontext.mc_p_reg.pc
|
||||
member SP uc_mcontext.mc_p_reg.sp
|
||||
|
Loading…
Reference in a new issue