Commit Graph

91 Commits (a42fb86da041e7b362381a35fcfacd9d1008208f)

Author SHA1 Message Date
Ariadne Conill a42fb86da0 sh: add plausible swapcontext implementation 2020-12-11 22:37:21 +00:00
Ariadne Conill 00261d70e8 sh: add plausible setcontext implementation 2020-12-11 22:25:23 +00:00
Ariadne Conill fd06f42bc3 sh: add first attempt at a getcontext implementation 2020-12-11 21:58:56 +00:00
Ariadne Conill 2692ecf74a sh: defs: define REG_GBR, REG_MACH, REG_MACL 2020-12-11 21:35:12 +00:00
Ariadne Conill 42a4fbe9d1 sh: add makecontext 2020-12-11 21:13:20 +00:00
Ariadne Conill c10cde83da ppc: fix build with libucontext_ namespacing changes 2020-12-06 14:04:22 +00:00
Ariadne Conill a04dc12d72 aarch64: add freestanding port 2020-12-06 13:50:50 +00:00
Ariadne Conill f3f52fc17c arm: add freestanding port 2020-12-06 13:43:04 +00:00
Ariadne Conill 7d149e6358 mips: add freestanding port 2020-12-06 06:34:56 -07:00
Ariadne Conill 20fd2b6f52 mips64: add freestanding port 2020-12-06 06:24:50 -07:00
Ariadne Conill 0c6077854a riscv64: add freestanding port 2020-12-06 06:10:00 -07:00
Ariadne Conill 50bb9432c8 s390x: add freestanding port 2020-12-06 12:37:08 +00:00
Ariadne Conill b33c7df219 s390x: update makecontext prototype 2020-12-06 12:30:44 +00:00
Ariadne Conill da736b6add ppc64: chase API changes related to freestanding stuff
freestanding is however NOT supported here
2020-12-06 12:23:09 +00:00
Ariadne Conill 131e825f50 x86: add freestanding port 2020-12-06 11:37:19 +00:00
Ariadne Conill 9c0ffd8fbb x86: fix conflicts with musl headers + freestanding adaptations 2020-12-06 11:24:23 +00:00
Ariadne Conill 9aef11752f x86_64: add freestanding port 2020-12-06 03:22:27 -07:00
Ariadne Conill a8415a0c4e m68k: add freestanding bits.h file 2020-12-06 03:53:45 -06:00
Ariadne Conill c31decc3d4 build: use internal definitions to replace things pulled in from ucontext.h 2020-12-06 03:44:45 -06:00
Ariadne Conill 40c8016144 bits: alias greg_t as libucontext_greg_t in non-freestanding builds 2020-12-06 03:40:55 -06:00
Ariadne Conill 0953d71ed1 build: fill in more details for freestanding builds 2020-12-06 03:31:48 -06:00
Ariadne Conill 2979186379 common: define libucontext_ucontext_t for non-freestanding case 2020-12-06 03:18:41 -06:00
Ariadne Conill e65e485630 everywhere: rename __swapcontext to libucontext_swapcontext 2020-12-06 03:04:22 -06:00
Ariadne Conill 37fe7afd5f everywhere: rename __setcontext to libucontext_setcontext 2020-12-06 03:03:07 -06:00
Ariadne Conill 99ed5bbe12 everywhere: rename __getcontext to libucontext_getcontext 2020-12-06 03:02:25 -06:00
Ariadne Conill 2f31efaa95 everywhere: rename __start_context to better descriptive libucontext_trampoline 2020-12-06 02:59:59 -06:00
Ariadne Conill c693dc663c rename __makecontext to libucontext_makecontext 2020-12-06 02:56:59 -06:00
Ariadne Conill fe19127c66 build: add support for EXPORT_UNPREFIXED=no
In an EXPORT_UNPREFIXED=no build, getcontext/makecontext/setcontext/swapcontext
symbols are not provided.
2020-12-06 02:54:01 -06:00
Ariadne Conill 15ba7b039c m68k: add startcontext trampoline 2020-12-06 02:24:49 -06:00
Ariadne Conill 5f6135c0f9 m68k: fixups for makecontext 2020-12-06 02:24:05 -06:00
Ariadne Conill 22520be2de m68k: fix register layout off by one 2020-12-06 00:52:05 -06:00
Ariadne Conill 89536b198d m68k: add swapcontext 2020-12-06 00:04:50 -06:00
Ariadne Conill c462af8a3c m68k: implement getcontext and setcontext 2020-12-05 23:54:36 -06:00
Ariadne Conill 76f1fd75b8 m68k: add makecontext() implementation 2020-12-05 23:30:39 -06:00
Ariadne Conill 5ee9c4e8a5 m68k: add register definitions 2020-12-05 23:22:40 -06:00
Ariadne Conill a6e76834d7 riscv64: align ucontext register access with musl 1.2 headers 2020-12-05 20:07:34 -07:00
Drew DeVault 5928947223 riscv64: fix PIC-incompatible assembly 2020-12-05 18:53:49 -07:00
Ariadne Conill b1ea2ae83b everywhere: use ucontext.h instead of signal.h for pulling in ucontext definitions
This allows building libucontext against newlib.
2020-12-04 11:19:02 -07:00
Ariadne Conill 34472b8884 riscv64: chase musl ab3eb89a8b83353cdaab12ed017a67a7730f90e9 changes 2020-12-03 18:25:04 -07:00
Ariadne Conill e11fa34822 riscv64: add makecontext() and __start_context() trampoline 2020-05-18 03:19:22 +00:00
Ariadne Conill e9308ef58f riscv64: add swapcontext 2020-05-18 02:48:28 +00:00
Ariadne Conill e32eb6ef59 riscv64: implement getcontext/setcontext 2020-05-18 02:43:27 +00:00
Ariadne Conill 4d42f482dc riscv64: add architectural defines 2020-05-18 02:19:14 +00:00
Khem Raj b6732f6884 Remove using .end directive with clang
Clang does not support this asm directive
Fixes Issue #19

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-04-10 11:23:39 -07:00
A. Wilcox 467ee2916d
x86: Update copyright statement
Commit d0ccf2f96f contains the makecontext
fix from Adélie commit aaeb73ea701388e55b7640e32509a5f6a57f6350[1], as
seen at AdelieLinux/libucontext@aaeb73ea – but it didn't include the
addition of my author line.

The full commit text, for future documentation/reference, was:

```
x86: Write link pointer at correct stack offset

It must come *after* the parameters, not *before*.
```

Fixes: d0ccf2f96f ("x86: modernize")
Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>

[1]: aaeb73ea70
2020-03-30 17:25:30 -05:00
Ariadne Conill d7d746f44e s390x: modernize assembly code 2020-03-30 01:12:07 -05:00
Ariadne Conill ef42ad682a s390x: fix makecontext(3) implementation for passing arguments via stack 2020-03-30 01:04:16 -05:00
Ariadne Conill f708c95659 arm: modernize 2020-03-30 05:04:18 +00:00
Ariadne Conill fb27ad693b aarch64: modernize 2020-03-30 04:38:53 +00:00
Ariadne Conill b04da78fb8 mips: use REG_OFFSET 2020-03-30 04:07:41 +00:00