MONO_ARCH_EXPLICIT_NULL_CHECKS

<[email protected]> Tue, 27 Feb 2018 15:42:32 -0400
Newsgroups gmane.comp.gnome.mono.devel
Message-ID <[email protected]>
--===============8608021777133025769==
Content-Type: multipart/alternative;
	boundary="_17C41D40-3C4B-489E-9EED-868138835126_"

--_17C41D40-3C4B-489E-9EED-868138835126_
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

Heads up for the S390X people on the list: (and anyone attempting to port M=
ono to similar platforms) I=E2=80=99ve heard S390X Linux has a =E2=80=98nul=
l page=E2=80=99 that allows reading from NULL; circumventing the runtime=E2=
=80=99s signal handler to detect such things. I know AIX also has it, which=
 is why I got MONO_ARCH_EXPLICIT_NULL_CHECKS added to master. Since I don=
=E2=80=99t have access to S390X to verify; if you run into issues with thin=
gs that dereference null *and* are resolved with MONO_DEBUG=3D=E2=80=99expl=
icit-null-checks=E2=80=99, then you should probably add said define to the =
architecture-specific headers for the JIT.

--_17C41D40-3C4B-489E-9EED-868138835126_
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="utf-8"

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta ht=
tp-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8"><meta name=
=3DGenerator content=3D"Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:"Yu Gothic";
	panose-1:2 11 4 0 0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:"\@Yu Gothic";
	panose-1:2 11 4 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style></head><body lang=3DEN-CA link=3Dblue vlink=3D"#954F72"><div cla=
ss=3DWordSection1><p class=3DMsoNormal>Heads up for the S390X people on the=
 list: (and anyone attempting to port Mono to similar platforms) I=E2=80=99=
ve heard S390X Linux has a =E2=80=98null page=E2=80=99 that allows reading =
from NULL; circumventing the runtime=E2=80=99s signal handler to detect suc=
h things. I know AIX also has it, which is why I got MONO_ARCH_EXPLICIT_NUL=
L_CHECKS added to master. Since I don=E2=80=99t have access to S390X to ver=
ify; if you run into issues with things that dereference null *<b>and</b>* =
are resolved with MONO_DEBUG=3D=E2=80=99explicit-null-checks=E2=80=99, then=
 you should probably add said define to the architecture-specific headers f=
or the JIT.<o:p></o:p></p></div></body></html>=

--_17C41D40-3C4B-489E-9EED-868138835126_--


--===============8608021777133025769==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTW9uby1kZXZl
bC1saXN0IG1haWxpbmcgbGlzdApNb25vLWRldmVsLWxpc3RAbGlzdHMuZG90Lm5ldApodHRwOi8v
bGlzdHMuZG90Lm5ldC9tYWlsbWFuL2xpc3RpbmZvL21vbm8tZGV2ZWwtbGlzdAo=

--===============8608021777133025769==--