From d8f9699debd435da5e1aef22c94c47154be4e2be Mon Sep 17 00:00:00 2001 From: Kimplul Date: Wed, 2 Apr 2025 21:13:03 +0300 Subject: fix big endian compilation + Code used some assumptions about type aliasing that might not hold for all systems --- src/ejit.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/ejit.c') diff --git a/src/ejit.c b/src/ejit.c index 2224198..0ee3986 100644 --- a/src/ejit.c +++ b/src/ejit.c @@ -1726,6 +1726,10 @@ struct ejit_arg ejit_run_func(struct ejit_func *f, size_t argc, struct ejit_arg }; case EJIT_UINT64: + return (struct ejit_arg){ + .u64 = ejit_run_func_l(f, argc, args), + .type = f->rtype + }; case EJIT_INT64: return (struct ejit_arg){ .i64 = ejit_run_func_l(f, argc, args), @@ -1734,7 +1738,7 @@ struct ejit_arg ejit_run_func(struct ejit_func *f, size_t argc, struct ejit_arg default: return (struct ejit_arg){ - .i64 = ejit_run_func_i(f, argc, args), + .l = ejit_run_func_i(f, argc, args), .type = f->rtype }; } -- cgit v1.2.3