The no_mangle attribute is unsafe since Rust 2024

This commit is contained in:
Philipp Oppermann
2025-03-27 15:39:15 +01:00
parent 9345886d44
commit 9753695744
47 changed files with 149 additions and 149 deletions

View File

@@ -298,7 +298,7 @@ _never_ | _unlock `WRITER`_ |
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
[]
loop {
@@ -461,7 +461,7 @@ pub fn hlt_loop() -> ! {
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
[]
@@ -486,7 +486,7 @@ fn panic(info: &PanicInfo) -> ! {
/// Entry point for `cargo test`
#[cfg(test)]
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
init();
test_main();

View File

@@ -297,7 +297,7 @@ _(決して起こらない)_ | _`WRITER` のロックを解放する_ |
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
[]
loop {
@@ -460,7 +460,7 @@ pub fn hlt_loop() -> ! {
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
[]
@@ -485,7 +485,7 @@ fn panic(info: &PanicInfo) -> ! {
/// `cargo test` のエントリポイント
#[cfg(test)]
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
init();
test_main();

View File

@@ -299,7 +299,7 @@ pub fn _print(args: fmt::Arguments) {
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
[]
loop {
@@ -462,7 +462,7 @@ pub fn hlt_loop() -> ! {
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
[]
@@ -487,7 +487,7 @@ fn panic(info: &PanicInfo) -> ! {
/// `cargo test`의 실행 시작 지점
#[cfg(test)]
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
init();
test_main();

View File

@@ -294,7 +294,7 @@ We can easily provoke such a deadlock in our kernel by printing something in the
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
[]
loop {
@@ -457,7 +457,7 @@ We can now use this `hlt_loop` instead of the endless loops in our `_start` and
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
[]
@@ -482,7 +482,7 @@ Let's update our `lib.rs` as well:
/// Entry point for `cargo test`
#[cfg(test)]
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
init();
test_main();

View File

@@ -300,7 +300,7 @@ pub fn _print(args: fmt::Arguments) {
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
[]
loop {
@@ -463,7 +463,7 @@ pub fn hlt_loop() -> ! {
```rust
// in src/main.rs
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
[]
@@ -488,7 +488,7 @@ fn panic(info: &PanicInfo) -> ! {
/// Entry point for `cargo test`
#[cfg(test)]
#[no_mangle]
#[unsafe(no_mangle)]
pub extern "C" fn _start() -> ! {
init();
test_main();