[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