Commit Graph

18 Commits

Author SHA1 Message Date
mwojcik 688e643078 firmware: update rust to 2021-09-01 nightly 2024-05-17 15:36:56 +08:00
pca006132 4132c450a5 firmware: runtime changes for exception
Ported from:
M-Labs/artiq-zynq#162

This includes new API for exception handling, some refactoring to avoid
code duplication for exception structures, and modified protocols to
send nested exceptions and avoid string allocation.
2022-01-26 07:16:54 +08:00
pca006132 12ee326fb4 firmware: fixed personality function 2022-01-11 09:30:19 +08:00
Sebastien Bourdeauducq e8fe8409b2 libartiq_support: compatibility with recent stable rustc 2021-09-10 13:25:12 +08:00
Sebastien Bourdeauducq 072053c3b2 compiler: remove obsolete watchdog code (#1458) 2020-12-08 13:25:08 +08:00
whitequark 2648b1b7a1 firmware: migrate to Rust 1.28.0.
This also updates / is a prerequisite for updating smoltcp.

Rationale for changes made:
  * compiler_builtins is now shipped in the rust prefix.
  * rustc's libpanic_unwind no longer works for us because it
    has a hard dependency on Box (and it's a horrible hack);
    fortunately, we only ever needed a personality function
    from it.
  * panic and oom handlers are now set in a completely different
    way.
  * allocators are quite different (and finally stable).
  * NLL caused internal compiler errors in runtime, so code using
    NLL was rewritten to not rely on it and it was turned off.
2018-08-12 19:17:45 +00:00
whitequark 259f1576c3 Fix tests after a74958f0. 2018-08-07 06:06:49 +00:00
whitequark 25c9b8827a firmware: mark __artiq_{re,}raise as #[unwind].
This is required for correctness.
2017-02-05 09:04:22 +00:00
whitequark f94028b8df Fix c39394b. 2017-02-04 16:23:32 +00:00
whitequark c39394b4d5 firmware: port the exception handling routines to Rust. 2017-02-04 08:21:07 +00:00
whitequark b9cbedceb1 firmware: migrate last vestiges of the old runtime build system. 2017-02-03 12:59:35 +00:00
whitequark fd8b11532f compiler, firmware: use Pascal strings everywhere.
This removes a large amount of very ugly code, and also simplifies
the compiler and runtime.
2017-02-03 11:53:27 +00:00
whitequark 0df8a24135 Fix c2cf60e. 2017-02-02 01:08:20 +00:00
whitequark f10a4498c7 test: fix printf specifier. 2016-10-16 23:54:29 +00:00
whitequark 7618907cad runtime: use i64 for watchdog timeout, not i32. 2016-10-16 16:32:43 +00:00
whitequark edafb08b43 test: fix d6193365. 2016-10-06 16:27:12 +00:00
whitequark d619336503 test: update libartiq_support for changed personality ABI. 2016-10-06 15:44:55 +00:00
Robert Jördens d7e4783cae lit-test: move to artiq/test 2016-01-18 15:28:24 -07:00