From 745b1f6a0bef785ecfa3b70b4938d159ef018f7a Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sat, 28 May 2016 14:36:23 +0200 Subject: [PATCH] =?UTF-8?q?Improve=20=5FUnwind=5FResume=20description=20an?= =?UTF-8?q?d=20remove=20claim=20about=20the=20=E2=80=9Cnext=20post?= =?UTF-8?q?=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blog/post/2016-04-11-kernel-heap.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/blog/post/2016-04-11-kernel-heap.md b/blog/post/2016-04-11-kernel-heap.md index d9164c20..82903723 100644 --- a/blog/post/2016-04-11-kernel-heap.md +++ b/blog/post/2016-04-11-kernel-heap.md @@ -326,9 +326,7 @@ target/x86_64-unknown-linux-gnu/debug/libblog_os.a(bump_allocator-[…].0.o): undefined reference to `_Unwind_Resume' ``` -This function is part of Rust's unwinding machinery. We disabled most of by passing `-Z no-landing-pads` to rustc, but apparently some panic related code still links to it. The new “[panic as abort]” feature might fix this. - -[panic as abort]: https://github.com/rust-lang/rust/issues/32837 +This function is part of Rust's unwinding machinery. We disabled most of by passing `-Z no-landing-pads` to rustc, but apparently our precompiled `libcollections` still links to it. To work around this issue for now, we add a dummy function: @@ -341,7 +339,7 @@ pub extern fn _Unwind_Resume() -> ! { } ``` -This is just a temporary fix to keep this post simple. The next post will resolve this issue in a better way using a new build setup. +This is just a temporary fix to keep this post simple. We will resolve this issue in a better way in a future post. Now our kernel compiles again. But when we run it, a triple fault occurs and causes permanent rebooting. We use QEMU for debugging as described [in the previous post][qemu debugging]: