From 20eb8b73f7914c86812eda4b3b14ee2d0cd5a826 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Mon, 23 Nov 2020 14:52:17 +0100 Subject: userprog makefile --- rust/Cargo.toml | 20 ++++++++++++++++++++ rust/Makefile | 2 ++ rust/rust-toolchain | 1 + rust/src/lib.rs | 19 +++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 rust/Cargo.toml create mode 100644 rust/Makefile create mode 100644 rust/rust-toolchain create mode 100644 rust/src/lib.rs (limited to 'rust') diff --git a/rust/Cargo.toml b/rust/Cargo.toml new file mode 100644 index 0000000..a74fdd6 --- /dev/null +++ b/rust/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "pintos-rs" +version = "0.1.0" +authors = ["Gustav Sörnäs "] +edition = "2018" + +[lib] +name = "rust" +crate-type = ["staticlib"] + +[profile.dev] +panic = "abort" + +[profile.release] +panic = "abort" + +[dependencies.libc] +version = "0.2" +default-features = false +features = ["extra_traits"] diff --git a/rust/Makefile b/rust/Makefile new file mode 100644 index 0000000..23187c9 --- /dev/null +++ b/rust/Makefile @@ -0,0 +1,2 @@ +all: + cargo rustc -- -C link-arg= -L. diff --git a/rust/rust-toolchain b/rust/rust-toolchain new file mode 100644 index 0000000..adfa491 --- /dev/null +++ b/rust/rust-toolchain @@ -0,0 +1 @@ +nightly-i686-unknown-linux-gnu diff --git a/rust/src/lib.rs b/rust/src/lib.rs new file mode 100644 index 0000000..43470b2 --- /dev/null +++ b/rust/src/lib.rs @@ -0,0 +1,19 @@ +#![no_std] +//#![feature(asm)] +//#![feature(link_args)] +//#![link_args = "-L -lpintos"] + +#[panic_handler] +fn panic(_info: &core::panic::PanicInfo) -> ! { + loop {} +} + +#[no_mangle] +pub unsafe extern "C" fn entry() { + exit(0x69); +} + +#[link(name="pintos", kind="static")] +extern { + fn exit(status: i32); +} -- cgit v1.2.1