diff options
author | Russ Cox <rsc@swtch.com> | 2020-01-19 22:39:22 -0500 |
---|---|---|
committer | Russ Cox <rsc@swtch.com> | 2020-01-19 23:04:58 -0500 |
commit | 41b3e8b9893a8561af7e85ca98444bc284b4013d (patch) | |
tree | e9bf7fdeefbdb7d2e6c1ebc25c7888b81f0bb16b /src/libthread/sysofiles.sh | |
parent | ac8042dfa9819f76ccfedd4aa36c1239322808b8 (diff) | |
download | plan9port-41b3e8b9893a8561af7e85ca98444bc284b4013d.tar.gz plan9port-41b3e8b9893a8561af7e85ca98444bc284b4013d.tar.bz2 plan9port-41b3e8b9893a8561af7e85ca98444bc284b4013d.zip |
libthread: use consistent stack calculation code in makecontext
Also reduce duplication: makecontext is per-arch not per-os-arch.
May fix #353.
Diffstat (limited to 'src/libthread/sysofiles.sh')
-rw-r--r-- | src/libthread/sysofiles.sh | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/libthread/sysofiles.sh b/src/libthread/sysofiles.sh index 9a7301a8..8a65d0f6 100644 --- a/src/libthread/sysofiles.sh +++ b/src/libthread/sysofiles.sh @@ -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 |