FreeBSD Bugzilla – Attachment 238716 Details for
Bug 268321
lang/mono: fix build with clang 15 (on i386)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
lang/mono: fix build with clang 15
lang__mono-fix-clang15-build-1.diff (text/plain), 1.85 KB, created by
Dimitry Andric
on 2022-12-11 22:47:13 UTC
(
hide
)
Description:
lang/mono: fix build with clang 15
Filename:
MIME Type:
Creator:
Dimitry Andric
Created:
2022-12-11 22:47:13 UTC
Size:
1.85 KB
patch
obsolete
>commit 199b2c1f4d061eb7514134f204c2eefcbc65d879 >Author: Dimitry Andric <dim@FreeBSD.org> >Date: Sun Dec 11 23:12:36 2022 +0100 > > lang/mono: fix build with clang 15 > > During an exp-run for llvm 15 (see bug 265425), it turned out that > lang/mono failed to build with clang 15, on i386: > > mini-runtime.c:806:24: error: incompatible pointer to integer conversion assigning to 'guint32' (aka 'unsigned int') from 'MonoLMF *' (aka 'struct MonoLMF *') [-Wint-conversion] > ext->lmf.previous_lmf = *lmf_addr; > ^ ~~~~~~~~~ > mini-runtime.c:808:24: error: incompatible pointer to integer conversion assigning to 'guint32' (aka 'unsigned int') from 'gpointer' (aka 'void *') [-Wint-conversion] > ext->lmf.previous_lmf = (gpointer)(((gssize)ext->lmf.previous_lmf) | 2); > ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > As noted, this is because on i386 the previous_lmf field is declared as > guint32, while other architectures use gpointer. > > Upstream changed the field to gpointer in > <https://github.com/mono/mono/pull/8308/commits/1c43a8476b5>, which got > merged into main in <https://github.com/mono/mono/commit/384c4a4e2ea>. > >diff --git a/lang/mono/files/patch-mono_mini_mini-x86.h b/lang/mono/files/patch-mono_mini_mini-x86.h >new file mode 100644 >index 000000000000..d804a58edb74 >--- /dev/null >+++ b/lang/mono/files/patch-mono_mini_mini-x86.h >@@ -0,0 +1,11 @@ >+--- mono/mini/mini-x86.h.orig 2018-08-24 15:17:13 UTC >++++ mono/mini/mini-x86.h >+@@ -139,7 +139,7 @@ struct MonoLMF { >+ * If the second lowest bit is set to 1, then this is a MonoLMFExt structure, and >+ * the other fields are not valid. >+ */ >+- guint32 previous_lmf; >++ gpointer previous_lmf; >+ gpointer lmf_addr; >+ /* Only set in trampoline LMF frames */ >+ MonoMethod *method;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 268321
: 238716