Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Dec 2022 22:46:39 +0000
From:      bugzilla-noreply@freebsd.org
To:        mono@FreeBSD.org
Subject:   maintainer-feedback requested: [Bug 268321] lang/mono: fix build with clang 15 (on i386)
Message-ID:  <bug-268321-23699-NHi6Y2wjb5@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-268321-23699@https.bugs.freebsd.org/bugzilla/>
References:  <bug-268321-23699@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-mono (Nobody)
<mono@FreeBSD.org> for maintainer-feedback:
Bug 268321: lang/mono: fix build with clang 15 (on i386)
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D268321



--- Description ---
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 =3D *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 =3D (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 mer=
ged
into main in <https://github.com/mono/mono/commit/384c4a4e2ea>.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-268321-23699-NHi6Y2wjb5>