Re: OTP 18.2 HiPE fix on FreeBSD 10.2

Kenji Rikitake <[email protected]> Fri, 18 Dec 2015 12:57:18 +0900
Newsgroups gmane.comp.lang.erlang.bugs
Message-ID <CANWtcNi3Eab3HgziXMiOEKFJU_-Dmvuj9Xv=n8-USvA_7cL5xg@mail.gmail.com>
--===============1446597149104811258==
Content-Type: multipart/alternative; boundary=001a113f97a2e59bb305272423c3

--001a113f97a2e59bb305272423c3
Content-Type: text/plain; charset=UTF-8

Kawano-san: very much appreciated.

I've tested with --enable-hipe --enable-fp-exceptions --enable-native-libs
and so far the BEAM with HiPE seems to be working.

I have to check out the following issues:
* Is the sigaction() handling really OK on FreeBSD?
* Is the dlsym() handling really OK on FreeBSD?
Maybe I need more input from FreeBSD people.

For those who want to test a tentative Port, check here:
https://github.com/jj1bdx/erlang-freebsd-port/tree/18.2-20151218
though I'm sure Jimmy Olgeni, the maintainer of FreeBSD Erlang Ports,
will override mine in a short period.

Regards,
Kenji Rikitake


On Thu, Dec 17, 2015 at 10:52 PM, Tatsuya Kawano <[email protected]>
wrote:

> Hi Kenji,
>
> On Thu, Dec 17, 2015, at 08:12 PM CST, Kenji Rikitake wrote:
> >> The following includes a quick workaround and I need FreeBSD people
> >> to further test the HiPE functionalities. (Any good test cases?)
> ...
> > I mixed up patches for 18.2 and master branches. Here's the fixed one
> for 18.2:
> >
> > https://github.com/erlang/otp/pull/926
>
> Thank you for the patch. It worked like a charm; I was able to build OTP
> 18.2 on FreeBSD 10.2 with HiPE enabled.
>
> So far, I have only tested it against boundary bear
> <https://github.com/boundary/bear>, which has HiPE enabled by default.
> It passed all eunit cases.
>
> --------------------------------------------------
> /home/tatsuya% freebsd-version
> 10.2-RELEASE-p8
>
> /home/tatsuya% cat .kerlrc
> KERL_CONFIGURE_OPTIONS="--enable-hipe --enable-smp-support
> --enable-threads --enable-kernel-poll"
>
> /home/tatsuya% kerl build git https://github.com/jj1bdx/otp.git \
>     jj1bdx-18.2-freebsd-hipe-fix-2 18.2_hipe_pr926
> Checking Erlang/OTP git repository from
> https://github.com/jj1bdx/otp.git...
> Building Erlang/OTP 18.2_hipe_pr926 from git, please wait...
> Erlang/OTP 18.2_hipe_pr926 from git has been successfully built
>
> /home/tatsuya% kerl install 18.2_hipe_pr926 ~/erlang/18.2_hipe_pr926
> Installing Erlang/OTP git (18.2_hipe_pr926) in
> /home/tatsuya/erlang/18.2_hipe_pr926...
> You can activate this installation running the following command:
> . /home/tatsuya/erlang/18.2_hipe_pr926/activate
> Later on, you can leave the installation typing:
> kerl_deactivate
>
> /home/tatsuya% . /home/tatsuya/erlang/18.2_hipe_pr926/activate
> /home/tatsuya% erl
> Erlang/OTP 18 [erts-7.2] [source-e616e04] [64-bit] [smp:8:8]
> [async-threads:10] [hipe] [kernel-poll:false]
>
> Eshell V7.2  (abort with ^G)
> 1>
> User switch command
>  --> q
>
> /home/tatsuya% cd workhub/dev/hibari/hibari/lib/bear/
> /home/tatsuya/workhub/dev/hibari/hibari/lib/bear% grep native src/*
> src/bear.erl:-compile([native]).
>
> /home/tatsuya/workhub/dev/hibari/hibari/lib/bear% ./rebar clean compile
> eunit
> ==> bear (clean)
> ==> bear (compile)
> Compiled src/bear.erl
> ==> bear (eunit)
> Compiled test/bear_test.erl
> Compiled src/bear.erl
>   All 47 tests passed.
> Cover analysis:
> /usr/home/tatsuya/workhub/dev/hibari/hibari/lib/bear/.eunit/index.html
> --------------------------------------------------
>
> Thanks,
> Tatsuya Kawano
>

--001a113f97a2e59bb305272423c3
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Kawano-san: very much appreciated.<div><br></div><div>I&#3=
9;ve tested with --enable-hipe --enable-fp-exceptions --enable-native-libs<=
/div><div>and so far the BEAM with HiPE seems to be working.</div><div><br>=
</div><div>I have to check out the following issues:</div><div>* Is the sig=
action() handling really OK on FreeBSD?</div><div>* Is the dlsym() handling=
 really OK on FreeBSD?</div><div>Maybe I need more input from FreeBSD peopl=
e.</div><div><br></div><div>For those who want to test a tentative Port, ch=
eck here:</div><div><a href=3D"https://github.com/jj1bdx/erlang-freebsd-por=
t/tree/18.2-20151218">https://github.com/jj1bdx/erlang-freebsd-port/tree/18=
.2-20151218</a><br></div><div>though I&#39;m sure Jimmy Olgeni, the maintai=
ner of FreeBSD Erlang Ports,</div><div>will override mine in a short period=
.=C2=A0</div><div><br></div><div>Regards,</div><div>Kenji Rikitake</div><di=
v><br></div></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote"=
>On Thu, Dec 17, 2015 at 10:52 PM, Tatsuya Kawano <span dir=3D"ltr">&lt;<a =
href=3D"mailto:[email protected]" target=3D"_blank">[email protected]=
</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin=
:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Kenji,<br>
<br>
On Thu, Dec 17, 2015, at 08:12 PM CST, Kenji Rikitake wrote:<br>
&gt;&gt; The following includes a quick workaround and I need FreeBSD peopl=
e<br>
&gt;&gt; to further test the HiPE functionalities. (Any good test cases?)<b=
r>
...<br>
&gt; I mixed up patches for 18.2 and master branches. Here&#39;s the fixed =
one for 18.2:<br>
&gt;<br>
&gt; <a href=3D"https://github.com/erlang/otp/pull/926" rel=3D"noreferrer" =
target=3D"_blank">https://github.com/erlang/otp/pull/926</a><br>
<br>
Thank you for the patch. It worked like a charm; I was able to build OTP<br=
>
18.2 on FreeBSD 10.2 with HiPE enabled.<br>
<br>
So far, I have only tested it against boundary bear<br>
&lt;<a href=3D"https://github.com/boundary/bear" rel=3D"noreferrer" target=
=3D"_blank">https://github.com/boundary/bear</a>&gt;, which has HiPE enable=
d by default.<br>
It passed all eunit cases.<br>
<br>
--------------------------------------------------<br>
/home/tatsuya% freebsd-version<br>
10.2-RELEASE-p8<br>
<br>
/home/tatsuya% cat .kerlrc<br>
KERL_CONFIGURE_OPTIONS=3D&quot;--enable-hipe --enable-smp-support<br>
--enable-threads --enable-kernel-poll&quot;<br>
<br>
/home/tatsuya% kerl build git <a href=3D"https://github.com/jj1bdx/otp.git"=
 rel=3D"noreferrer" target=3D"_blank">https://github.com/jj1bdx/otp.git</a>=
 \<br>
=C2=A0 =C2=A0 jj1bdx-18.2-freebsd-hipe-fix-2 18.2_hipe_pr926<br>
Checking Erlang/OTP git repository from<br>
<a href=3D"https://github.com/jj1bdx/otp.git." rel=3D"noreferrer" target=3D=
"_blank">https://github.com/jj1bdx/otp.git.</a>..<br>
Building Erlang/OTP 18.2_hipe_pr926 from git, please wait...<br>
Erlang/OTP 18.2_hipe_pr926 from git has been successfully built<br>
<br>
/home/tatsuya% kerl install 18.2_hipe_pr926 ~/erlang/18.2_hipe_pr926<br>
Installing Erlang/OTP git (18.2_hipe_pr926) in<br>
/home/tatsuya/erlang/18.2_hipe_pr926...<br>
You can activate this installation running the following command:<br>
. /home/tatsuya/erlang/18.2_hipe_pr926/activate<br>
Later on, you can leave the installation typing:<br>
kerl_deactivate<br>
<br>
/home/tatsuya% . /home/tatsuya/erlang/18.2_hipe_pr926/activate<br>
/home/tatsuya% erl<br>
Erlang/OTP 18 [erts-7.2] [source-e616e04] [64-bit] [smp:8:8]<br>
[async-threads:10] [hipe] [kernel-poll:false]<br>
<br>
Eshell V7.2=C2=A0 (abort with ^G)<br>
1&gt;<br>
User switch command<br>
=C2=A0--&gt; q<br>
<br>
/home/tatsuya% cd workhub/dev/hibari/hibari/lib/bear/<br>
/home/tatsuya/workhub/dev/hibari/hibari/lib/bear% grep native src/*<br>
src/bear.erl:-compile([native]).<br>
<br>
/home/tatsuya/workhub/dev/hibari/hibari/lib/bear% ./rebar clean compile<br>
eunit<br>
=3D=3D&gt; bear (clean)<br>
=3D=3D&gt; bear (compile)<br>
Compiled src/bear.erl<br>
=3D=3D&gt; bear (eunit)<br>
Compiled test/bear_test.erl<br>
Compiled src/bear.erl<br>
=C2=A0 All 47 tests passed.<br>
Cover analysis:<br>
/usr/home/tatsuya/workhub/dev/hibari/hibari/lib/bear/.eunit/index.html<br>
--------------------------------------------------<br>
<br>
Thanks,<br>
Tatsuya Kawano<br>
</blockquote></div><br></div>

--001a113f97a2e59bb305272423c3--

--===============1446597149104811258==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
erlang-bugs mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-bugs

--===============1446597149104811258==--