[Pkg-erlang-commits] r1530 - in erlang/trunk/debian: . patches

sgolovan at alioth.debian.org sgolovan at alioth.debian.org
Fri Aug 23 19:10:02 UTC 2013


Author: sgolovan
Date: 2013-08-23 19:10:02 +0000 (Fri, 23 Aug 2013)
New Revision: 1530

Added:
   erlang/trunk/debian/patches/efile.patch
Modified:
   erlang/trunk/debian/changelog
   erlang/trunk/debian/control
   erlang/trunk/debian/patches/series
Log:
[erlang]
  * Require libsctp-dev in build dependencies for all linux architectures
    (closes: #634614).
  * Added patch by upstream which fixes bad_object_header errors in dets
    (closes: #720415).


Modified: erlang/trunk/debian/changelog
===================================================================
--- erlang/trunk/debian/changelog	2013-08-17 17:21:08 UTC (rev 1529)
+++ erlang/trunk/debian/changelog	2013-08-23 19:10:02 UTC (rev 1530)
@@ -1,8 +1,11 @@
-erlang (1:16.b.1-dfsg-5) UNRELEASED; urgency=low
+erlang (1:16.b.1-dfsg-5) unstable; urgency=low
 
-  * NOT RELEASED YET
+  * Require libsctp-dev in build dependencies for all linux architectures
+    (closes: #634614).
+  * Added patch by upstream which fixes bad_object_header errors in dets
+    (closes: #720415).
 
- -- Sergei Golovan <sgolovan at debian.org>  Sun, 07 Jul 2013 09:46:18 +0400
+ -- Sergei Golovan <sgolovan at debian.org>  Fri, 23 Aug 2013 22:31:17 +0400
 
 erlang (1:16.b.1-dfsg-4) unstable; urgency=low
 

Modified: erlang/trunk/debian/control
===================================================================
--- erlang/trunk/debian/control	2013-08-17 17:21:08 UTC (rev 1529)
+++ erlang/trunk/debian/control	2013-08-23 19:10:02 UTC (rev 1530)
@@ -8,8 +8,7 @@
  libncurses5-dev, autotools-dev, unixodbc-dev, bison, flex, ed,
  libwxgtk2.8-dev, dctrl-tools, xsltproc,
  libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | libglu-dev,
- libsctp-dev [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64 !solaris-i386],
- kfreebsd-kernel-headers [kfreebsd-i386 kfreebsd-amd64]
+ libsctp-dev [linux-any]
 Build-Depends-Indep: fop, default-jdk | sun-java6-jdk
 Build-Conflicts: autoconf2.13, libwxgtk2.4-dev, libwxgtk2.6-dev
 Homepage: http://www.erlang.org/

Added: erlang/trunk/debian/patches/efile.patch
===================================================================
--- erlang/trunk/debian/patches/efile.patch	                        (rev 0)
+++ erlang/trunk/debian/patches/efile.patch	2013-08-23 19:10:02 UTC (rev 1530)
@@ -0,0 +1,166 @@
+--- erlang-16.b.1-dfsg.orig/erts/emulator/beam/erl_alloc_util.c
++++ erlang-16.b.1-dfsg/erts/emulator/beam/erl_alloc_util.c
+@@ -4369,7 +4369,7 @@
+ #endif
+ 		   "option lmbcs: %beu\n"
+ 		   "option smbcs: %beu\n"
+-		   "option mbcgs: %beu\n",
++		   "option mbcgs: %beu\n"
+ 		   "option acul: %d\n",
+ 		   topt,
+ 		   allctr->ramv ? "true" : "false",
+--- erlang-16.b.1-dfsg.orig/erts/emulator/drivers/common/efile_drv.c
++++ erlang-16.b.1-dfsg/erts/emulator/drivers/common/efile_drv.c
+@@ -546,53 +546,81 @@
+     (((char *)(ev)->iov[(q)].iov_base) + (p))
+ 
+ /* int EV_GET_CHAR(ErlIOVec *ev, char *p, int *pp, int *qp) */
+-#define EV_GET_CHAR(ev, p, pp, qp)                      \
+-    (*(pp)+1 <= (ev)->iov[*(qp)].iov_len                \
+-     ? (*(p) = *EV_CHAR_P(ev, *(pp), *(qp)),            \
+-        *(pp) = (    *(pp)+1 < (ev)->iov[*(qp)].iov_len \
+-                 ?   *(pp)+1                            \
+-                 : ((*(qp))++, 0)),                     \
+-        !0)                                             \
+-     : 0)
++#define EV_GET_CHAR(ev, p, pp, qp) efile_ev_get_char(ev, p ,pp, qp)
++static int
++efile_ev_get_char(ErlIOVec *ev, char *p, int *pp, int *qp) {
++  if (*(pp)+1 <= (ev)->iov[*(qp)].iov_len) {
++    *(p) = *EV_CHAR_P(ev, *(pp), *(qp));
++    if (*(pp)+1 < (ev)->iov[*(qp)].iov_len)
++      *(pp) = *(pp)+1;
++    else {
++      (*(qp))++;
++      *pp = 0;
++    }
++    return !0;
++  }
++  return 0;
++}
+ 
+ /* Uint32 EV_UINT32(ErlIOVec *ev, int p, int q)*/
+ #define EV_UINT32(ev, p, q) \
+     ((Uint32) *(((unsigned char *)(ev)->iov[(q)].iov_base) + (p)))
+ 
+ /* int EV_GET_UINT32(ErlIOVec *ev, Uint32 *p, int *pp, int *qp) */
+-#define EV_GET_UINT32(ev, p, pp, qp)                      \
+-    (*(pp)+4 <= (ev)->iov[*(qp)].iov_len                  \
+-     ? (*(p) = (EV_UINT32(ev, *(pp),   *(qp)) << 24)      \
+-             | (EV_UINT32(ev, *(pp)+1, *(qp)) << 16)      \
+-             | (EV_UINT32(ev, *(pp)+2, *(qp)) << 8)       \
+-             | (EV_UINT32(ev, *(pp)+3, *(qp))),           \
+-        *(pp) = (    *(pp)+4 < (ev)->iov[*(qp)].iov_len   \
+-                 ?   *(pp)+4                              \
+-                 : ((*(qp))++, 0)),                       \
+-        !0)                                               \
+-     : 0)
++#define EV_GET_UINT32(ev, p, pp, qp) efile_ev_get_uint32(ev,p,pp,qp)
++static int
++efile_ev_get_uint32(ErlIOVec *ev, Uint32 *p, int *pp, int *qp) {
++  if (*(pp)+4 <= (ev)->iov[*(qp)].iov_len) {
++    *(p) = (EV_UINT32(ev, *(pp),   *(qp)) << 24)
++      | (EV_UINT32(ev, *(pp)+1, *(qp)) << 16)		  
++      | (EV_UINT32(ev, *(pp)+2, *(qp)) << 8)		  
++      | (EV_UINT32(ev, *(pp)+3, *(qp)));
++    if (*(pp)+4 < (ev)->iov[*(qp)].iov_len)
++      *(pp) = *(pp)+4;
++    else {
++      (*(qp))++;
++      *pp = 0;
++    }
++    return !0;
++  }
++  return 0;
++}
+ 
+ /* Uint64 EV_UINT64(ErlIOVec *ev, int p, int q)*/
+ #define EV_UINT64(ev, p, q) \
+     ((Uint64) *(((unsigned char *)(ev)->iov[(q)].iov_base) + (p)))
+ 
+-/* int EV_GET_UINT64(ErlIOVec *ev, Uint32 *p, int *pp, int *qp) */
+-#define EV_GET_UINT64(ev, p, pp, qp)                      \
+-    (*(pp)+8 <= (ev)->iov[*(qp)].iov_len                  \
+-     ? (*(p) = (EV_UINT64(ev, *(pp),   *(qp)) << 56)      \
+-             | (EV_UINT64(ev, *(pp)+1, *(qp)) << 48)      \
+-             | (EV_UINT64(ev, *(pp)+2, *(qp)) << 40)      \
+-             | (EV_UINT64(ev, *(pp)+3, *(qp)) << 32)      \
+-             | (EV_UINT64(ev, *(pp)+4, *(qp)) << 24)      \
+-             | (EV_UINT64(ev, *(pp)+5, *(qp)) << 16)      \
+-             | (EV_UINT64(ev, *(pp)+6, *(qp)) << 8)       \
+-             | (EV_UINT64(ev, *(pp)+7, *(qp))),           \
+-        *(pp) = (    *(pp)+8 < (ev)->iov[*(qp)].iov_len   \
+-                 ?   *(pp)+8                              \
+-                 : ((*(qp))++, 0)),                       \
+-        !0)                                               \
+-     : 0)
++/* int EV_GET_UINT64(ErlIOVec *ev, Uint64 *p, int *pp, int *qp) */
++#define EV_GET_UINT64(ev, p, pp, qp) efile_ev_get_uint64(ev,p,pp,qp)
++static int
++efile_ev_get_uint64(ErlIOVec *ev, Uint64 *p, int *pp, int *qp) {
++  if (*(pp)+8 <= (ev)->iov[*(qp)].iov_len) {
++    *(p) = (EV_UINT64(ev, *(pp),   *(qp)) << 56)
++      | (EV_UINT64(ev, *(pp)+1, *(qp)) << 48)
++      | (EV_UINT64(ev, *(pp)+2, *(qp)) << 40)
++      | (EV_UINT64(ev, *(pp)+3, *(qp)) << 32)
++      | (EV_UINT64(ev, *(pp)+4, *(qp)) << 24)
++      | (EV_UINT64(ev, *(pp)+5, *(qp)) << 16)
++      | (EV_UINT64(ev, *(pp)+6, *(qp)) << 8)
++      | (EV_UINT64(ev, *(pp)+7, *(qp)));
++    if (*(pp)+8 < (ev)->iov[*(qp)].iov_len)
++      *(pp) = *(pp)+8;
++    else {
++      (*(qp))++;
++      *pp = 0;
++    }
++    return !0;
++  }
++  return 0;
++}
+ 
++/* int EV_GET_SINT64(ErlIOVec *ev, Uint64 *p, int *pp, int *qp) */
++#define EV_GET_SINT64(ev, p, pp, qp) efile_ev_get_sint64(ev,p,pp,qp)
++static int
++efile_ev_get_sint64(ErlIOVec *ev, Sint64 *p, int *pp, int *qp) {
++  Uint64 *tmp = (Uint64*)p;
++  return EV_GET_UINT64(ev,tmp,pp,qp);
++}
+ 
+ #if 0
+ 
+@@ -3604,7 +3632,7 @@
+ 	for(i = 0; i < n; i++) {
+ 	    Uint32 sizeH, sizeL;
+ 	    size_t size;
+-	    if (   !EV_GET_UINT64(ev, &d->c.pwritev.specs[i].offset, &p, &q)
++	    if (   !EV_GET_SINT64(ev, &d->c.pwritev.specs[i].offset, &p, &q)
+ 		|| !EV_GET_UINT32(ev, &sizeH, &p, &q)
+ 		|| !EV_GET_UINT32(ev, &sizeL, &p, &q)) {
+ 		/* Misalignment in buffer */
+@@ -3746,7 +3774,7 @@
+ 	for (i = 1; i < 1+n; i++) {
+ 	    Uint32 sizeH, sizeL;
+ 	    size_t size;
+-	    if (   !EV_GET_UINT64(ev, &d->c.preadv.offsets[i-1], &p, &q)
++	    if (   !EV_GET_SINT64(ev, &d->c.preadv.offsets[i-1], &p, &q)
+ 		|| !EV_GET_UINT32(ev, &sizeH, &p, &q)
+ 		|| !EV_GET_UINT32(ev, &sizeL, &p, &q)) {
+ 		reply_posix_error(desc, EINVAL);
+@@ -3814,7 +3842,7 @@
+ 	Uint32 origin;		/* Origin of seek. */
+ 
+ 	if (ev->size < 1+8+4
+-	    || !EV_GET_UINT64(ev, &offset, &p, &q)
++	    || !EV_GET_SINT64(ev, &offset, &p, &q)
+ 	    || !EV_GET_UINT32(ev, &origin, &p, &q)) {
+ 	    /* Wrong length of buffer to contain offset and origin */
+ 	    reply_posix_error(desc, EINVAL);
+@@ -3927,7 +3955,7 @@
+ 	    goto done;
+ 	}
+ 	if (ev->size < 1+1+8+4
+-	    || !EV_GET_UINT64(ev, &hdr_offset, &p, &q)
++	    || !EV_GET_SINT64(ev, &hdr_offset, &p, &q)
+ 	    || !EV_GET_UINT32(ev, &max_size, &p, &q)) {
+ 	    /* Buffer too short to contain 
+ 	     * the header offset and max size spec */

Modified: erlang/trunk/debian/patches/series
===================================================================
--- erlang/trunk/debian/patches/series	2013-08-17 17:21:08 UTC (rev 1529)
+++ erlang/trunk/debian/patches/series	2013-08-23 19:10:02 UTC (rev 1530)
@@ -9,3 +9,4 @@
 hppa.patch
 powerpc.patch
 odbcserver.patch
+efile.patch




More information about the Pkg-erlang-commits mailing list