Bobby Bingham
b9bd4045fb
ppc32/64: fix back chain pointer
...
The ABI states that sp[0] should point to the previous stack frame, or be
zero if there is no previous stack frame. makecontext previously set this
slot to point to the __start_context function, rather than to a valid
stack frame.
2019-04-05 14:15:49 -05:00
Bobby Bingham
b6a9b5e279
ppc32: fix stack alignment
...
The stack should be 16-byte aligned, not 8 mod 16.
2019-04-05 14:15:44 -05:00
Bobby Bingham
cb59e7ee95
test calls to getcontext without makecontext
2019-04-05 13:28:36 -05:00
Bobby Bingham
94216c60c4
test ability to pass 10 args through makecontext
2019-04-05 13:28:36 -05:00
A. Wilcox
6046eb47e4
Reorder registers in other x86_64 assembler files
...
This fixes the previous commit which changed the register order in
swapcontext only, which caused setcontext to subtly corrupt the stack.
2018-07-19 17:18:19 -05:00
William Pitcock
4f190cc561
Merge pull request #10 from fabled/master
...
fix x86_64 register order for swapcontext
2018-07-19 00:33:12 -05:00
Timo Teräs
790ed28aff
fix x86_64 register order for swapcontext
...
rbp and rsi were reversed causing argument passing to fail since
rsi is used to pass 2nd argument.
fixes #9
2018-07-18 15:47:27 +03:00
William Pitcock
7b1a302ed4
README: we support s390x now
2018-02-15 05:55:26 +00:00
William Pitcock
a76df6b81a
arch: add s390x port
2018-02-15 05:54:17 +00:00
William Pitcock
f0741bc7a0
build: use -lucontext instead of libucontext.so in linker flags for test program
2018-02-15 04:41:22 +00:00
William Pitcock
f370b25ffc
ppc64: trampoline: cleanups
2018-02-15 04:36:47 +00:00
William Pitcock
f4d92bb7bd
ppc: trampoline: cleanups
2018-02-15 04:36:36 +00:00
William Pitcock
0622245f06
x86_64: trampoline: do same cleanups as in x86
2018-02-15 04:34:37 +00:00
William Pitcock
ef2fa49912
x86: trampoline: fix GOT clobbering, pointed out by fabled
2018-02-15 04:32:16 +00:00
William Pitcock
556da6ce99
x86/x86_64: getcontext: no need to restore %ecx or %rcx
2018-02-14 05:12:09 +00:00
William Pitcock
0143bbac98
x86: trampoline: kill textrel
2018-02-14 03:37:25 +00:00
William Pitcock
70089a405c
build: use absolute path for LD_LIBRARY_PATH when testing
2018-02-14 03:30:50 +00:00
William Pitcock
79415db5a8
README: update for 0.1.0
2018-02-14 03:06:01 +00:00
William Pitcock
0188f29771
build: remove test_libucontext on make clean
2018-02-14 03:01:35 +00:00
William Pitcock
71979e9cf6
arch: ppc64: now working
2018-02-06 08:05:53 +00:00
William Pitcock
9e5aba6b48
arch: add ppc64 port does not work yet
2018-02-06 06:19:44 +00:00
William Pitcock
8ff8bb3280
README: note that ppc implementation uses kernel assistance
2018-02-02 18:51:55 +00:00
William Pitcock
f3fe8ea781
arch: ppc: new port
2018-02-02 18:46:21 +00:00
William Pitcock
66919bb222
README: x86 now supported
2018-02-01 01:28:19 +00:00
William Pitcock
c28af0399e
build: rebuild test program if it is modified
2018-02-01 01:27:13 +00:00
William Pitcock
ee1526c903
arch: add x86 port
2018-02-01 01:26:34 +00:00
William Pitcock
54a31e566d
test_libucontext: explain the stack poisoning part
2018-01-31 23:23:45 +00:00
William Pitcock
13283f5eba
arch: add aarch64 port
2018-01-31 21:23:18 +00:00
William Pitcock
3f63152bbc
build: add -Iarch/${ARCH} to CFLAGS
2018-01-31 20:37:00 +00:00
William Pitcock
b686d707b2
build: fix arch detection
2018-01-31 05:58:26 +00:00
William Pitcock
e43fc2698a
README: we support ARM
2018-01-31 04:13:42 +00:00
William Pitcock
a6dfb59ef2
build: default ARCH to $(uname -m)
2018-01-31 04:13:32 +00:00
William Pitcock
f17103b6f4
build: build testsuite with -ggdb3
2018-01-31 04:12:09 +00:00
William Pitcock
247f30400c
arch: arm: add armv6+ port
2018-01-31 04:11:46 +00:00
William Pitcock
0e437d3fc7
add README
2018-01-30 03:56:01 +00:00
William Pitcock
29225e0974
build: add libucontext test program
2018-01-30 03:53:04 +00:00
William Pitcock
da10e5a66d
implement ucontext functions on x86_64
2018-01-30 03:41:02 +00:00
William Pitcock
6062fc83b1
don't bother with glibc stuff afterall, kernel defines ABI to use
2018-01-29 21:50:49 +00:00
William Pitcock
f1d1976e7a
add symbols.h
2018-01-29 17:05:35 +00:00
William Pitcock
816d0fdb91
Initial commit
2018-01-29 10:23:18 -06:00