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
signature.asc
Description: Digital signature