[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 0/4] lbuilds: Rust



Moinsen,

Diese Serie bringt rust-libc und Rust selbst in die Crosstools, und im
Anschluss ein kleines Testprogramm (sonst wärs ja wirklich langweilig).

Leider ist die Serie ein bisschen zu groß für eine Liste (finde ich),
nämlich insgesamt 96 kB, und deshalb ist hier nur der Coverletter.  Der
Branch befindet sich hier:

  https://git.xanclic.moe/XanClic/lbuilds.git rust-v1


Ganz ehrlich, eigentlich ist das alles hier nur compile-getestet.  Aber
darauf kommts bei Rust ja schließlich an, nicht wahr? O:)

Sicher ist noch vieles kaputt.  Threads gehen zum Beispiel so gar nicht,
und zwar in so einer Art und Weise gar nicht, dass jeder Zugriff auf
Threadinformationen eine Panic wirft.  Das ist schade, weil Panics
darauf zugreifen.  Also gibt es in so einem Fall eine Endlosrekursion,
bis der Speicher leer ist.

Panics gehen deshalb dann logischerweise auch nicht.  Also, schon, aber
dann panict eben der Kernel wegen OOM.

Andererseits muss man ganz klar sagen, es wäre schade, wenn jetzt alle
Arbeit getan wäre.  Man muss den nachfolgenden Generationen schließlich
noch etwas zum Tüfteln lassen.


Hanna Reitz (4):
  crosstools: rust-libc
  crosstools: Rust
  toolchain.sh: tc-cargo-run
  simple_rust_test: Einfacher Rust-Test

 .../0/simple_rust_test-0.lbuild               |  36 +
 lclasses/toolchain.sh                         |  13 +
 .../0001-Ein-bisschen-t-ndur-Support.patch    | 865 ++++++++++++++++++
 .../rust/backtrace/0001-t-ndur-Support.patch  |  42 +
 patches/rust/backtrace/path                   |   1 +
 ...1-errno-und-set_errno-implementieren.patch |  67 ++
 .../rust/rust/0002-Umgebungsvariablen.patch   |  67 ++
 ...n-normalen-Argumentparser-f-r-t-ndur.patch |  31 +
 .../0004-os-linux-Modul-exportieren.patch     |  45 +
 ...5-libc-off_t-ist-nicht-unbedingt-u64.patch |  54 ++
 .../rust/0006-stat-nderungen-f-r-t-ndur.patch | 151 +++
 .../0007-linkat-gibt-es-nicht-nur-link.patch  |  26 +
 .../0008-dirent.d_name-ist-ein-C-String.patch |  33 +
 ...Zeitstempel-haben-keine-Nanosekunden.patch |  53 ++
 .../0010-dirent-hat-kaum-Informationen.patch  |  59 ++
 ...Implementiere-CLOEXEC-Flag-ber-fcntl.patch |  43 +
 ...0012-register_dtor-Fallback-benutzen.patch |  33 +
 ...3-Deaktivere-unix-net-genau-wie-L4Re.patch | 119 +++
 ...nding-Sachen-f-r-t-ndur-deaktivieren.patch |  76 ++
 ...Weak-Symbole-f-r-t-ndur-deaktivieren.patch |  32 +
 ...read-set_name-unimplementiert-lassen.patch |  27 +
 ...ziertes-in-Command-do_exec-weglassen.patch | 100 ++
 .../0018-read2-unimplementiert-lassen.patch   |  48 +
 .../0019-home_dir-hat-keinen-Fallback.patch   |  39 +
 .../rust/0020-current_exe-gibt-es-nicht.patch |  26 +
 ...21-sanitize_standard_fds-leer-lassen.patch |  32 +
 .../0022-Keinen-main-Thread-erstellen.patch   |  71 ++
 ...Markiere-std-unter-t-ndur-als-stabil.patch |  31 +
 ...-ge-t-ndur-Abschnitt-zu-env.rs-hinzu.patch |  36 +
 ...025-Neues-Target-i686-unknown-tyndur.patch | 143 +++
 scripts/build_crosstools                      | 164 ++++
 31 files changed, 2563 insertions(+)
 create mode 100644 lbuilds/simple_rust_test/0/simple_rust_test-0.lbuild
 create mode 100644 patches/rust-libc/0001-Ein-bisschen-t-ndur-Support.patch
 create mode 100644 patches/rust/backtrace/0001-t-ndur-Support.patch
 create mode 100644 patches/rust/backtrace/path
 create mode 100644 patches/rust/rust/0001-errno-und-set_errno-implementieren.patch
 create mode 100644 patches/rust/rust/0002-Umgebungsvariablen.patch
 create mode 100644 patches/rust/rust/0003-Benutze-den-normalen-Argumentparser-f-r-t-ndur.patch
 create mode 100644 patches/rust/rust/0004-os-linux-Modul-exportieren.patch
 create mode 100644 patches/rust/rust/0005-libc-off_t-ist-nicht-unbedingt-u64.patch
 create mode 100644 patches/rust/rust/0006-stat-nderungen-f-r-t-ndur.patch
 create mode 100644 patches/rust/rust/0007-linkat-gibt-es-nicht-nur-link.patch
 create mode 100644 patches/rust/rust/0008-dirent.d_name-ist-ein-C-String.patch
 create mode 100644 patches/rust/rust/0009-unix-fs.rs-Zeitstempel-haben-keine-Nanosekunden.patch
 create mode 100644 patches/rust/rust/0010-dirent-hat-kaum-Informationen.patch
 create mode 100644 patches/rust/rust/0011-Implementiere-CLOEXEC-Flag-ber-fcntl.patch
 create mode 100644 patches/rust/rust/0012-register_dtor-Fallback-benutzen.patch
 create mode 100644 patches/rust/rust/0013-Deaktivere-unix-net-genau-wie-L4Re.patch
 create mode 100644 patches/rust/rust/0014-Unwinding-Sachen-f-r-t-ndur-deaktivieren.patch
 create mode 100644 patches/rust/rust/0015-Weak-Symbole-f-r-t-ndur-deaktivieren.patch
 create mode 100644 patches/rust/rust/0016-Thread-set_name-unimplementiert-lassen.patch
 create mode 100644 patches/rust/rust/0017-Kompliziertes-in-Command-do_exec-weglassen.patch
 create mode 100644 patches/rust/rust/0018-read2-unimplementiert-lassen.patch
 create mode 100644 patches/rust/rust/0019-home_dir-hat-keinen-Fallback.patch
 create mode 100644 patches/rust/rust/0020-current_exe-gibt-es-nicht.patch
 create mode 100644 patches/rust/rust/0021-sanitize_standard_fds-leer-lassen.patch
 create mode 100644 patches/rust/rust/0022-Keinen-main-Thread-erstellen.patch
 create mode 100644 patches/rust/rust/0023-Markiere-std-unter-t-ndur-als-stabil.patch
 create mode 100644 patches/rust/rust/0024-F-ge-t-ndur-Abschnitt-zu-env.rs-hinzu.patch
 create mode 100644 patches/rust/rust/0025-Neues-Target-i686-unknown-tyndur.patch

-- 
2.31.0