Commit Graph

40 Commits (b9bd4045fb34f060d6cf37fc7da7ab13b91462de)

Author SHA1 Message Date
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