From e9e498464378506bc5933270cf5d6a0ec22dd8ff Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sat, 5 Jan 2019 14:35:34 +0100 Subject: [PATCH] Mention LLVM bug that leads to wrong error code See https://github.com/phil-opp/blog_os/issues/513 --- .../content/second-edition/posts/06-cpu-exceptions/index.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/blog/content/second-edition/posts/06-cpu-exceptions/index.md b/blog/content/second-edition/posts/06-cpu-exceptions/index.md index e083eb34..671d21e4 100644 --- a/blog/content/second-edition/posts/06-cpu-exceptions/index.md +++ b/blog/content/second-edition/posts/06-cpu-exceptions/index.md @@ -190,6 +190,12 @@ In the `x86_64` crate, the exception stack frame is represented by the [`Excepti [`ExceptionStackFrame`]: https://docs.rs/x86_64/0.2.8/x86_64/structures/idt/struct.ExceptionStackFrame.html +Note that there is currently [a bug in LLVM] that leads to wrong error code arguments. The cause of the issue is already known and a solution is [being worked on]. + +[a bug in LLVM]: https://github.com/rust-lang/rust/issues/57270 +[being worked on]: https://reviews.llvm.org/D56275 + + ### Behind the Scenes The `x86-interrupt` calling convention is a powerful abstraction that hides almost all of the messy details of the exception handling process. However, sometimes it's useful to know what's happening behind the curtain. Here is a short overview of the things that the `x86-interrupt` calling convention takes care of: