aboutsummaryrefslogtreecommitdiff
path: root/kern/exception.h
diff options
context:
space:
mode:
authorSergey Bugaev <bugaevc@gmail.com>2023-03-19 18:09:46 +0300
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-04-03 00:44:04 +0200
commit4096bd9d9cbdbac9b1bfce99a393295f63a88cc5 (patch)
tree14310d54975eada411a5e494f1ad944d58376234 /kern/exception.h
parentf9b1676d4526ce89e6c6d41d8caf5759007d8c75 (diff)
downloadgnumach-4096bd9d9cbdbac9b1bfce99a393295f63a88cc5.tar.gz
gnumach-4096bd9d9cbdbac9b1bfce99a393295f63a88cc5.tar.bz2
gnumach-4096bd9d9cbdbac9b1bfce99a393295f63a88cc5.zip
Make exception subcode a long
On EXC_BAD_ACCESS, exception subcode is used to pass the faulting memory address, so it needs to be (at least) pointer-sized. Thus, make it into a long. This requires matching changes in glibc and the Hurd. Message-Id: <20230319151017.531737-4-bugaevc@gmail.com>
Diffstat (limited to 'kern/exception.h')
-rw-r--r--kern/exception.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/kern/exception.h b/kern/exception.h
index 55902dd1..36138da8 100644
--- a/kern/exception.h
+++ b/kern/exception.h
@@ -26,13 +26,13 @@ extern void
exception(
integer_t _exception,
integer_t code,
- integer_t subcode) __attribute__ ((noreturn));
+ long_integer_t subcode) __attribute__ ((noreturn));
extern void
exception_try_task(
integer_t _exception,
integer_t code,
- integer_t subcode) __attribute__ ((noreturn));
+ long_integer_t subcode) __attribute__ ((noreturn));
extern void
exception_no_server(void) __attribute__ ((noreturn));
@@ -44,7 +44,7 @@ exception_raise(
ipc_port_t task_port,
integer_t _exception,
integer_t code,
- integer_t subcode) __attribute__ ((noreturn));
+ long_integer_t subcode) __attribute__ ((noreturn));
extern kern_return_t
exception_parse_reply(ipc_kmsg_t kmsg);