libthread: use consistent stack calculation code in makecontext
Also reduce duplication: makecontext is per-arch not per-os-arch. May fix #353.
This commit is contained in:
parent
ac8042dfa9
commit
41b3e8b989
11 changed files with 36 additions and 83 deletions
|
|
@ -7,24 +7,37 @@ NetBSD)
|
|||
echo ${SYSNAME}-${OBJTYPE}-asm.o $SYSNAME.o stkmalloc.o
|
||||
;;
|
||||
OpenBSD)
|
||||
echo ${SYSNAME}-${OBJTYPE}-asm.o ${SYSNAME}-${OBJTYPE}.o pthread.o stkmmap.o
|
||||
echo ${SYSNAME}-${OBJTYPE}-asm.o pthread.o stkmmap.o
|
||||
;;
|
||||
*)
|
||||
echo pthread.o stkmalloc.o
|
||||
esac
|
||||
|
||||
# Various libc don't supply swapcontext, makecontext, so we do.
|
||||
case "$OBJTYPE-$SYSNAME" in
|
||||
sparc64-Linux)
|
||||
# Debian glibc doesn't supply swapcontext, makecontext
|
||||
# so we supply our own copy from the latest glibc.
|
||||
echo Linux-sparc64-context.o Linux-sparc64-swapcontext.o
|
||||
386-OpenBSD)
|
||||
echo 386-ucontext.o
|
||||
;;
|
||||
arm-Linux)
|
||||
# ARM doesn't supply them either.
|
||||
echo Linux-arm-context.o Linux-arm-swapcontext.o
|
||||
echo arm-ucontext.o
|
||||
echo Linux-arm-context.o # setcontext, getcontext
|
||||
;;
|
||||
arm-NetBSD)
|
||||
echo arm-ucontext.o
|
||||
;;
|
||||
power-OpenBSD)
|
||||
echo power-ucontext.o
|
||||
;;
|
||||
sparc64-Linux)
|
||||
echo sparc64-ucontext.o
|
||||
echo Linux-sparc64-swapcontext.o # setcontext, getcontext
|
||||
;;
|
||||
x86_64-Darwin)
|
||||
echo Darwin-x86_64-asm.o Darwin-x86_64-swapcontext.o
|
||||
echo x86_64-ucontext.o
|
||||
echo Darwin-x86_64-asm.o # setcontext, getcontext
|
||||
;;
|
||||
x86_64-OpenBSD)
|
||||
echo x86_64-ucontext.o
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue