debdiff trafficserver_4.1.2-1.dsc trafficserver_4.1.2-1.1.dsc
diff -Nru trafficserver-4.1.2/debian/changelog 
trafficserver-4.1.2/debian/changelog
--- trafficserver-4.1.2/debian/changelog        2014-01-29 14:01:16.000000000 
+0000
+++ trafficserver-4.1.2/debian/changelog        2014-04-03 04:22:04.000000000 
+0100
@@ -1,3 +1,22 @@
+trafficserver (4.1.2-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix undefined reference to `__sync_fetch_and_sub_8' on ARM 32bit
+    Add 0001-TS-2454-Fix-undefined-reference-to-__sync_fetch_and_.patch
+    from https://issues.apache.org/jira/browse/TS-2454
+    Patch by Yunkai Zhang
+  * Add support for MIPS
+    Add add-mips-support.patch
+    Submitted: https://issues.apache.org/jira/browse/TS-2687
+    Merged: 
https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=2f81790
+    Patch by Dejan Latinovic
+    Closes: 743395
+  * Build-depend on libboost-dev
+    Patch by Dejan Latinovic
+    Closes: #737510
+
+ -- Anibal Monsalve Salazar <ani...@debian.org>  Thu, 03 Apr 2014 04:18:23 
+0100
+
 trafficserver (4.1.2-1) unstable; urgency=medium
 
   * Merge the experimental branch of trafficserver to unstable
diff -Nru trafficserver-4.1.2/debian/control trafficserver-4.1.2/debian/control
--- trafficserver-4.1.2/debian/control  2014-01-29 12:51:43.000000000 +0000
+++ trafficserver-4.1.2/debian/control  2014-03-28 20:02:37.000000000 +0000
@@ -6,7 +6,7 @@
 Build-Depends: debhelper (>= 8.0), libssl-dev, tcl-dev, libexpat1-dev,
   libpcre3-dev, libsqlite3-dev, libtool, libaio-dev [linux-any],
   libcap-dev [linux-any], bison [linux-any], flex [linux-any],
-  dpkg-dev (>= 1.16.1~), pkg-config, libboost1.53-dev, libgeoip-dev,
+  dpkg-dev (>= 1.16.1~), pkg-config, libboost-dev, libgeoip-dev,
   liblua5.1-0-dev, libmysqlclient-dev
 Standards-Version: 3.9.5
 Homepage: http://trafficserver.apache.org/
diff -Nru 
trafficserver-4.1.2/debian/patches/0001-TS-2454-Fix-undefined-reference-to-__sync_fetch_and_.patch
 
trafficserver-4.1.2/debian/patches/0001-TS-2454-Fix-undefined-reference-to-__sync_fetch_and_.patch
--- 
trafficserver-4.1.2/debian/patches/0001-TS-2454-Fix-undefined-reference-to-__sync_fetch_and_.patch
  1970-01-01 01:00:00.000000000 +0100
+++ 
trafficserver-4.1.2/debian/patches/0001-TS-2454-Fix-undefined-reference-to-__sync_fetch_and_.patch
  2014-04-03 04:18:11.000000000 +0100
@@ -0,0 +1,96 @@
+From 71c0cfdd7e8da6d792e1ac5771eff6e31561659f Mon Sep 17 00:00:00 2001
+From: Yunkai Zhang <yun...@redstar.celldoft.com>
+Date: Sat, 28 Dec 2013 19:59:33 +0800
+Subject: [PATCH] TS-2454: Fix undefined reference to `__sync_fetch_and_sub_8'
+ on ARM 32bit system
+
+trafficserver version 4.1.2-1 needs
+0001-TS-2454-Fix-undefined-reference-to-__sync_fetch_and_.patch
+available at:
+https://issues.apache.org/jira/browse/TS-2454.
+
+These changes are needed to avoid an error:
+> ../../lib/ts/.libs/libtsutil.so: undefined reference to 
`__sync_fetch_and_sub_8'
+
+This patch is included in newer 4.2.0 trafficserver version.
+
+Signed-off-by: Yunkai Zhang <yun...@redstar.celldoft.com>
+Signed-off-by: Yunkai Zhang <qiushu....@taobao.com>
+---
+ lib/ts/ink_atomic.h | 39 ++++++++++++++++++++++++++++++++-------
+ 1 file changed, 32 insertions(+), 7 deletions(-)
+
+diff --git a/lib/ts/ink_atomic.h b/lib/ts/ink_atomic.h
+index 51d87c0..fc8a9f3 100644
+--- a/lib/ts/ink_atomic.h
++++ b/lib/ts/ink_atomic.h
+@@ -50,6 +50,7 @@ typedef volatile int8_t vint8;
+ typedef volatile int16_t vint16;
+ typedef volatile int32_t vint32;
+ typedef volatile int64_t vint64;
++typedef volatile uint64_t vuint64;
+ typedef volatile long vlong;
+ typedef volatile void *vvoidp;
+ 
+@@ -57,6 +58,7 @@ typedef vint8 *pvint8;
+ typedef vint16 *pvint16;
+ typedef vint32 *pvint32;
+ typedef vint64 *pvint64;
++typedef vuint64 *pvuint64;
+ typedef vlong *pvlong;
+ typedef vvoidp *pvvoidp;
+ 
+@@ -194,9 +196,8 @@ ink_atomic_cas<int64_t>(pvint64 mem, int64_t old, int64_t 
new_value) {
+   return 0;
+ }
+ 
+-template<>
+-inline int64_t
+-ink_atomic_increment<int64_t>(pvint64 mem, int64_t value) {
++template<typename Amount> static inline int64_t
++ink_atomic_increment(pvint64 mem, Amount value) {
+   int64_t curr;
+   ink_mutex_acquire(&__global_death);
+   curr = *mem;
+@@ -205,10 +206,34 @@ ink_atomic_increment<int64_t>(pvint64 mem, int64_t 
value) {
+   return curr;
+ }
+ 
+-template<>
+-inline int64_t
+-ink_atomic_increment<int64_t>(pvint64 mem, int value) {
+-  return ink_atomic_increment(mem, static_cast<int64_t>(value));
++template<typename Amount> static inline int64_t
++ink_atomic_decrement(pvint64 mem, Amount value) {
++  int64_t curr;
++  ink_mutex_acquire(&__global_death);
++  curr = *mem;
++  *mem = curr - value;
++  ink_mutex_release(&__global_death);
++  return curr;
++}
++
++template<typename Amount> static inline uint64_t
++ink_atomic_increment(pvuint64 mem, Amount value) {
++  uint64_t curr;
++  ink_mutex_acquire(&__global_death);
++  curr = *mem;
++  *mem = curr + value;
++  ink_mutex_release(&__global_death);
++  return curr;
++}
++
++template<typename Amount> static inline uint64_t
++ink_atomic_decrement(pvuint64 mem, Amount value) {
++  uint64_t curr;
++  ink_mutex_acquire(&__global_death);
++  curr = *mem;
++  *mem = curr - value;
++  ink_mutex_release(&__global_death);
++  return curr;
+ }
+ 
+ #endif /* Special hacks for ARM 32-bit */
+-- 
+1.8.4.2
+
diff -Nru trafficserver-4.1.2/debian/patches/add-mips-support.patch 
trafficserver-4.1.2/debian/patches/add-mips-support.patch
--- trafficserver-4.1.2/debian/patches/add-mips-support.patch   1970-01-01 
01:00:00.000000000 +0100
+++ trafficserver-4.1.2/debian/patches/add-mips-support.patch   2014-04-03 
04:13:23.000000000 +0100
@@ -0,0 +1,117 @@
+From: Dejan Latinovic <dejan.latino...@imgtec.com>
+Subject: trafficserver: support for mips
+Date: Wed, 2 Apr 2014 10:30:15 +0000
+
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743395
+
+While trying to build trafficserver on mips architecture,
+build fails with an error:
+
+  In file included from ../../lib/ts/libts.h:64:0,
+                   from P_EventSystem.h:34,
+                   from EventSystem.cc:31:
+  ../../lib/ts/ink_queue.h:144:2: error: #error "unsupported processor"
+   #error "unsupported processor"
+
+After some extensions,
+I was able to build trafficserver successfully.
+Also, all tests passed.
+Mips related changes are included in add-mips-support.patch.
+
+This patch was submitted upstream:
+
+https://issues.apache.org/jira/browse/TS-2687
+
+And it was merged:
+
+Commit 2f8179056402694ac7df828a264b4aa92ec964ea in trafficserver's
+branch refs/heads/master from Dejan Latinovic
+[ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=2f81790 ]
+
+diff -uNr trafficserver-4.1.2/lib/ts/ink_atomic.h 
trafficserver-4.1.2.mips/lib/ts/ink_atomic.h
+--- trafficserver-4.1.2.orig/lib/ts/ink_atomic.h       2013-12-05 
22:07:48.000000000 +0000
++++ trafficserver-4.1.2/lib/ts/ink_atomic.h    2014-02-12 16:10:38.000000000 
+0000
+@@ -168,7 +170,7 @@
+ }
+ 
+ // Special hacks for ARM 32-bit
+-#if defined(__arm__) && (SIZEOF_VOIDP == 4)
++#if (defined(__arm__)|| defined(__mips__))  && (SIZEOF_VOIDP == 4)
+ extern ProcessMutex __global_death;
+ 
+ template<>
+diff -uNr trafficserver-4.1.2/lib/ts/ink_queue.h 
trafficserver-4.1.2.mips/lib/ts/ink_queue.h
+--- trafficserver-4.1.2.orig/lib/ts/ink_queue.h        2013-12-05 
22:07:48.000000000 +0000
++++ trafficserver-4.1.2/lib/ts/ink_queue.h     2014-02-12 14:09:35.000000000 
+0000
+@@ -85,7 +85,7 @@
+   // lock, use INK_QUEUE_LD to read safely.
+   typedef union
+   {
+-#if (defined(__i386__) || defined(__arm__)) && (SIZEOF_VOIDP == 4)
++#if (defined(__i386__) || defined(__arm__) || defined(__mips__)) && 
(SIZEOF_VOIDP == 4)
+     struct
+     {
+       void *pointer;
+@@ -124,7 +124,7 @@
+ #define TO_PTR(_x) ((void*)(_x))
+ #endif
+ 
+-#if (defined(__i386__) || defined(__arm__)) && (SIZEOF_VOIDP == 4)
++#if (defined(__i386__) || defined(__arm__) || defined(__mips__)) && 
(SIZEOF_VOIDP == 4)
+ #define FREELIST_POINTER(_x) (_x).s.pointer
+ #define FREELIST_VERSION(_x) (_x).s.version
+ #define SET_FREELIST_POINTER_VERSION(_x,_p,_v) \
+diff -uNr trafficserver-4.1.2/lib/ts/ink_queue_utils.cc 
trafficserver-4.1.2.mips/lib/ts/ink_queue_utils.cc
+--- trafficserver-4.1.2.orig/lib/ts/ink_queue_utils.cc 2013-12-05 
22:07:48.000000000 +0000
++++ trafficserver-4.1.2/lib/ts/ink_queue_utils.cc      2014-02-28 
15:11:43.000000000 +0000
+@@ -68,7 +68,7 @@
+ void
+ ink_queue_load_64(void *dst, void *src)
+ {
+-#if (defined(__i386__) || defined(__arm__)) && (SIZEOF_VOIDP == 4)
++#if (defined(__i386__) || defined(__arm__) || defined(__mips__)) && 
(SIZEOF_VOIDP == 4)
+   volatile int32_t src_version = (*(head_p *) src).s.version;
+   void *src_pointer = (*(head_p *) src).s.pointer;
+ 
+diff -uNr trafficserver-4.1.2/plugins/experimental/geoip_acl/lulu.h 
trafficserver-4.1.2.mips/plugins/experimental/geoip_acl/lulu.h
+--- trafficserver-4.1.2.orig/plugins/experimental/geoip_acl/lulu.h     
2013-12-05 22:07:48.000000000 +0000
++++ trafficserver-4.1.2/plugins/experimental/geoip_acl/lulu.h  2014-02-12 
16:35:36.000000000 +0000
+@@ -42,6 +42,10 @@
+ #define mb()  __asm__ __volatile__ ( "dmb" : : : "memory")
+ #define rmb() __asm__ __volatile__ ( "dmb" : : : "memory")
+ #define wmb() __asm__ __volatile__ ( "" : : : "memory")
++#elif defined(__mips__)
++#define mb()  __asm__ __volatile__ ( "sync" : : : "memory")
++#define rmb() __asm__ __volatile__ ( "sync" : : : "memory")
++#define wmb() __asm__ __volatile__ ( "" : : : "memory")
+ #else
+ #error "Define barriers"
+ #endif
+diff -uNr trafficserver-4.1.2/plugins/header_filter/lulu.h 
trafficserver-4.1.2.mips/plugins/header_filter/lulu.h
+--- trafficserver-4.1.2.orig/plugins/header_filter/lulu.h      2013-12-05 
22:07:48.000000000 +0000
++++ trafficserver-4.1.2/plugins/header_filter/lulu.h   2014-02-12 
16:30:46.000000000 +0000
+@@ -41,6 +41,10 @@
+ #define mb()  __asm__ __volatile__ ( "dmb" : : : "memory")
+ #define rmb() __asm__ __volatile__ ( "dmb" : : : "memory")
+ #define wmb() __asm__ __volatile__ ( "" : : : "memory")
++#elif defined(__mips__)
++#define mb()  __asm__ __volatile__ ( "sync" : : : "memory")
++#define rmb() __asm__ __volatile__ ( "sync" : : : "memory")
++#define wmb() __asm__ __volatile__ ( "" : : : "memory")
+ #elif defined(__arm__)
+ #else
+ #error "Define barriers"
+diff -uNr trafficserver-4.1.2/plugins/header_rewrite/lulu.h 
trafficserver-4.1.2.mips/plugins/header_rewrite/lulu.h
+--- trafficserver-4.1.2.orig/plugins/header_rewrite/lulu.h     2013-12-05 
22:07:48.000000000 +0000
++++ trafficserver-4.1.2/plugins/header_rewrite/lulu.h  2014-02-12 
16:31:46.000000000 +0000
+@@ -39,6 +39,10 @@
+ #define mb()  __asm__ __volatile__ ( "dmb" : : : "memory")
+ #define rmb() __asm__ __volatile__ ( "dmb" : : : "memory")
+ #define wmb() __asm__ __volatile__ ( "" : : : "memory")
++#elif defined(__mips__)
++#define mb()  __asm__ __volatile__ ( "sync" : : : "memory")
++#define rmb() __asm__ __volatile__ ( "sync" : : : "memory")
++#define wmb() __asm__ __volatile__ ( "" : : : "memory")
+ #else
+ #error "Define barriers"
+ #endif
diff -Nru trafficserver-4.1.2/debian/patches/series 
trafficserver-4.1.2/debian/patches/series
--- trafficserver-4.1.2/debian/patches/series   2014-01-01 15:22:12.000000000 
+0000
+++ trafficserver-4.1.2/debian/patches/series   2014-03-28 20:00:17.000000000 
+0000
@@ -1 +1,3 @@
 0001-TS-1821.patch
+add-mips-support.patch
+0001-TS-2454-Fix-undefined-reference-to-__sync_fetch_and_.patch

Attachment: signature.asc
Description: Digital signature



Reply via email to