Your message dated Thu, 03 Apr 2014 05:19:09 +0000 with message-id <[email protected]> and subject line Bug#743395: fixed in trafficserver 4.1.2-1.1 has caused the Debian Bug report #743395, regarding trafficserver: support for mips to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 743395: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743395 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: trafficserver Version: 4.1.2-1 Tags: sid patch Severity: important Justification: FTBFS User: [email protected] Usertags: mips-patch 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. Beside these changes, for trafficserver version 4.1.2-1 it is needed to apply patch: 0001-TS-2454-Fix-undefined-reference-to-__sync_fetch_and_.patch from: 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. Could you please consider including these changes in order to support trafficserver for MIPS platform? Thanks, Dejandiff -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" #endifFrom 71c0cfdd7e8da6d792e1ac5771eff6e31561659f Mon Sep 17 00:00:00 2001 From: Yunkai Zhang <[email protected]> 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 Signed-off-by: Yunkai Zhang <[email protected]> Signed-off-by: Yunkai Zhang <[email protected]> --- 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
--- End Message ---
--- Begin Message ---Source: trafficserver Source-Version: 4.1.2-1.1 We believe that the bug you reported is fixed in the latest version of trafficserver, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [email protected], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Anibal Monsalve Salazar <[email protected]> (supplier of updated trafficserver package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Thu, 03 Apr 2014 04:18:23 +0100 Source: trafficserver Binary: trafficserver trafficserver-dev Architecture: source mipsel Version: 4.1.2-1.1 Distribution: unstable Urgency: medium Maintainer: Arno Töll <[email protected]> Changed-By: Anibal Monsalve Salazar <[email protected]> Description: trafficserver - fast, scalable and extensible HTTP/1.1 compliant caching proxy se trafficserver-dev - Apache Traffic Server Software Developers Kit (SDK) Closes: 737510 743395 Changes: 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 Checksums-Sha1: d9ef738060db4e60c1af8a41f912136bcc519c8c 2244 trafficserver_4.1.2-1.1.dsc 57fb68f4b6cbbae7e3635f9e6470584440338387 19240 trafficserver_4.1.2-1.1.debian.tar.xz 236d48c4beaa468b27fff8bc7a4f081b9cc47b21 2226128 trafficserver_4.1.2-1.1_mipsel.deb 0911bc8d04f26470e49796864401e8ad68c1afa7 178250 trafficserver-dev_4.1.2-1.1_mipsel.deb Checksums-Sha256: b0d30f8f360cc67c6fd1956e89e5c74ef8036fb32b81a1f8d562c4aa120b4a7f 2244 trafficserver_4.1.2-1.1.dsc dc08e9992f74882a3b35806112cadc99f475ea1ab3aff30e7b8cdaa90412aa04 19240 trafficserver_4.1.2-1.1.debian.tar.xz b399d32816f0807b750244cdb913967f5f2e698419ff1043b42a9bf702114267 2226128 trafficserver_4.1.2-1.1_mipsel.deb ed2f26cff1ceb026fa8ce285996434933595454424ccb3e1a71642dadfb55f8b 178250 trafficserver-dev_4.1.2-1.1_mipsel.deb Files: 53e6e7a01adbc79b05ba75463a09cd7b 2244 web extra trafficserver_4.1.2-1.1.dsc 9b2b6b1cf16bce84c420d500a8cf8224 19240 web extra trafficserver_4.1.2-1.1.debian.tar.xz d096c37c84864990de7bd16821987af3 2226128 web extra trafficserver_4.1.2-1.1_mipsel.deb 5bbd263040d5e3e7155abc1d700e8573 178250 web extra trafficserver-dev_4.1.2-1.1_mipsel.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCgAGBQJTPOt4AAoJEHxWrP6UeJfYUSoP/3DZaUmIadzF+ABfMuYVChJW 6uvBcxRtlcbs/ug+hrpswRy2BhnUpx3MsoTbJWXWeYKWo0BaWIv08AgcePul3800 z2PdV65E2xXKwtDv++68Tr9exwSpoq5VrpQJwHJH2zWX0GIx5tLYl0xdjwoTt7fS rPtA2JENbiiZfbxLkhjypmvFHGqrYdvC4ujJF36wqomtLGhoCq0+kx43NVq82Xxg tWrpv6uvfoabkrv7Jx5679gBXVQ3sOUk/+E1gUTcrGiO8rWf11/ve0fSc+KK+1qT +RDBBkg80wDcciUvHLCsFs582C0XptF5Re609RDfg+rUh1dE9/bnbXEah4EKS/c5 71OHDBXfdE0UC9bvViVoluZZjL2721/IIw6/Np0U9wuy9Zny57dBRlLbn6DsBlkx ZUzDcyVo0GZQRReOPm6e0qQ4VcK6F6S9wg4pY9TKORUZc6+8bMHJyGoZgv+oQJtQ xLDL0sIdRk1ExZA3jIVNd8MYJ54GhXsb/SQssHKC9jsEt6eGdZcye5JEmVRnYL/U NVDI4dMAGGGjac7NW/ptLnYZEZCy0nPa52dPEShoWLwQNXd8kuo1w3/5G93EbDoM TgA4ewQUoeU7pQEv3K9HgDxzddKCZeTHU+3JoiziDq2ERgcmGJO4xoh9DL4blPt8 9ByD2BMDKl/8OutlltST =2iYm -----END PGP SIGNATURE-----
--- End Message ---

