pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/erlang lang/erlang: Fix incorrect internal consis...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/742b665c6c51
branches:  trunk
changeset: 370476:742b665c6c51
user:      fhajny <fhajny%pkgsrc.org@localhost>
date:      Tue Oct 17 14:47:36 2017 +0000

description:
lang/erlang: Fix incorrect internal consistency failure
for binary matching code. Bump PKGREVISION.

diffstat:

 lang/erlang/Makefile                                           |   4 +-
 lang/erlang/distinfo                                           |   3 +-
 lang/erlang/patches/patch-lib_compiler_src_beam__validator.erl |  24 ++++++++++
 3 files changed, 28 insertions(+), 3 deletions(-)

diffs (58 lines):

diff -r 6afee69a1f43 -r 742b665c6c51 lang/erlang/Makefile
--- a/lang/erlang/Makefile      Tue Oct 17 14:11:20 2017 +0000
+++ b/lang/erlang/Makefile      Tue Oct 17 14:47:36 2017 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.81 2017/10/04 16:20:51 jperkin Exp $
+# $NetBSD: Makefile,v 1.82 2017/10/17 14:47:36 fhajny Exp $
 
 DISTNAME=              otp_src_${DIST_VERSION_MAJOR}.${DIST_VERSION_MINOR}
 PKGNAME=               ${DISTNAME:S/otp_src_/erlang-/}
-PKGREVISION=           1
+PKGREVISION=           2
 CATEGORIES=            lang
 MASTER_SITES=          http://www.erlang.org/download/
 
diff -r 6afee69a1f43 -r 742b665c6c51 lang/erlang/distinfo
--- a/lang/erlang/distinfo      Tue Oct 17 14:11:20 2017 +0000
+++ b/lang/erlang/distinfo      Tue Oct 17 14:47:36 2017 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.53 2017/10/04 16:20:51 jperkin Exp $
+$NetBSD: distinfo,v 1.54 2017/10/17 14:47:36 fhajny Exp $
 
 SHA1 (erlang/otp_src_20.1.tar.gz) = 8facdb71696118b5c58238e57106ca23d14166d0
 RMD160 (erlang/otp_src_20.1.tar.gz) = 65ed1ad934dea860f277648663db714881b9cb97
@@ -9,5 +9,6 @@
 SHA1 (patch-erts_configure) = dba8d72974e8c493cf2bb90e6b149a84dd9073da
 SHA1 (patch-erts_emulator_drivers_common_inet__drv.c) = b7784e5e8e025ca75d5279a63e0cb3f74c54bd6a
 SHA1 (patch-erts_emulator_sys_common_erl__poll.c) = b2068ed4f1994407cb2ec3cd10220bebae85b01d
+SHA1 (patch-lib_compiler_src_beam__validator.erl) = 57cf4823f57bed333f7c2901509143bbba61cfbd
 SHA1 (patch-lib_crypto_c__src_Makefile.in) = 0ab1db36c03999524e933d60f913ff5608b0622e
 SHA1 (patch-make_output.mk.in) = d7b3da58bfb471d52c41242e2a03d1598ce24e62
diff -r 6afee69a1f43 -r 742b665c6c51 lang/erlang/patches/patch-lib_compiler_src_beam__validator.erl
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/erlang/patches/patch-lib_compiler_src_beam__validator.erl    Tue Oct 17 14:47:36 2017 +0000
@@ -0,0 +1,24 @@
+$NetBSD: patch-lib_compiler_src_beam__validator.erl,v 1.1 2017/10/17 14:47:36 fhajny Exp $
+
+Fix incorrect internal consistency failure for binary matching code.
+Backport from trunk as per https://bugs.erlang.org/browse/ERL-490.
+
+--- lib/compiler/src/beam_validator.erl.orig   2017-09-25 19:10:38.000000000 +0000
++++ lib/compiler/src/beam_validator.erl
+@@ -1430,13 +1430,13 @@ merge_types(bool, {atom,A}) ->
+     merge_bool(A);
+ merge_types({atom,A}, bool) ->
+     merge_bool(A);
+-merge_types(#ms{id=Id1,valid=B0,slots=Slots},
+-          #ms{id=Id2,valid=B1,slots=Slots}) ->
++merge_types(#ms{id=Id1,valid=B1,slots=Slots1},
++          #ms{id=Id2,valid=B2,slots=Slots2}) ->
+     Id = if
+              Id1 =:= Id2 -> Id1;
+              true -> make_ref()
+          end,
+-    #ms{id=Id,valid=B0 band B1,slots=Slots};
++    #ms{id=Id,valid=B1 band B2,slots=min(Slots1, Slots2)};
+ merge_types(T1, T2) when T1 =/= T2 ->
+     %% Too different. All we know is that the type is a 'term'.
+     term.



Home | Main Index | Thread Index | Old Index