Bump memcached from 1.4.10 to 1.4.13. 1.4.10 introduced a lot of bugs. For a complete list of fixes see: http://code.google.com/p/memcached/wiki/ReleaseNotes1413 http://code.google.com/p/memcached/wiki/ReleaseNotes1412 http://code.google.com/p/memcached/wiki/ReleaseNotes1411
Remove old patches for 1.4.5. Signed-off-by: George McCollister <george.mccollis...@gmail.com> --- .../0001-Switch-AC_RUN-to-AC_LINK.patch | 42 ---------- ...Change-configure.ac-to-use-AC_C_BIGENDIAN.patch | 57 -------------- ...ype-punning-issues-exposed-with-GCC-4.5.1.patch | 80 -------------------- patches/memcached-1.4.5/autogen.sh | 1 - patches/memcached-1.4.5/series | 5 - rules/memcached.make | 4 +- 6 files changed, 2 insertions(+), 187 deletions(-) delete mode 100644 patches/memcached-1.4.5/0001-Switch-AC_RUN-to-AC_LINK.patch delete mode 100644 patches/memcached-1.4.5/0002-Change-configure.ac-to-use-AC_C_BIGENDIAN.patch delete mode 100644 patches/memcached-1.4.5/0003-Fix-type-punning-issues-exposed-with-GCC-4.5.1.patch delete mode 120000 patches/memcached-1.4.5/autogen.sh delete mode 100644 patches/memcached-1.4.5/series diff --git a/patches/memcached-1.4.5/0001-Switch-AC_RUN-to-AC_LINK.patch b/patches/memcached-1.4.5/0001-Switch-AC_RUN-to-AC_LINK.patch deleted file mode 100644 index c967235..0000000 --- a/patches/memcached-1.4.5/0001-Switch-AC_RUN-to-AC_LINK.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: George McCollister <george.mccollis...@gmail.com> -Date: Wed, 17 Nov 2010 10:57:25 -0600 -Subject: [PATCH] Switch AC_RUN to AC_LINK - -AC_RUN checks fail when cross compiling, switched them to AC_LINK. - -Signed-off-by: George McCollister <george.mccollis...@gmail.com> -Signed-off-by: Marc Kleine-Budde <m...@pengutronix.de> ---- - configure.ac | 5 +++-- - 1 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 9d2a485..d604de1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -45,11 +45,12 @@ AC_DEFUN([DETECT_SUNCC], - [ - SUNCC="no" - AC_MSG_CHECKING([for Sun cc in use]) -- AC_RUN_IFELSE( -+ AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([], [dnl - #ifdef __SUNPRO_C - return 0; - #else -+#error not sun cc - return 1; - #endif - ]) -@@ -392,7 +393,7 @@ AC_DEFUN([AC_C_HTONLL], - [ - AC_MSG_CHECKING([for htonll]) - have_htoll="no" -- AC_RUN_IFELSE([ -+ AC_LINK_IFELSE([ - AC_LANG_PROGRAM([ - #include <sys/types.h> - #include <netinet/in.h> --- -1.7.2.3 - diff --git a/patches/memcached-1.4.5/0002-Change-configure.ac-to-use-AC_C_BIGENDIAN.patch b/patches/memcached-1.4.5/0002-Change-configure.ac-to-use-AC_C_BIGENDIAN.patch deleted file mode 100644 index f84fb08..0000000 --- a/patches/memcached-1.4.5/0002-Change-configure.ac-to-use-AC_C_BIGENDIAN.patch +++ /dev/null @@ -1,57 +0,0 @@ -From: George McCollister <george.mccollis...@gmail.com> -Date: Thu, 18 Nov 2010 10:39:18 -0600 -Subject: [PATCH] Change configure.ac to use AC_C_BIGENDIAN - -Use AC_C_BIGENDIAN instead of a custom check in configure.ac. - -Signed-off-by: George McCollister <george.mccollis...@gmail.com> -Signed-off-by: Marc Kleine-Budde <m...@pengutronix.de> ---- - configure.ac | 31 ++++++------------------------- - 1 files changed, 6 insertions(+), 25 deletions(-) - -diff --git a/configure.ac b/configure.ac -index d604de1..4e86589 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -363,31 +363,12 @@ fi - - AC_C_SOCKLEN_T - --dnl Check if we're a little-endian or a big-endian system, needed by hash code --AC_DEFUN([AC_C_ENDIAN], --[AC_CACHE_CHECK(for endianness, ac_cv_c_endian, --[ -- AC_RUN_IFELSE( -- [AC_LANG_PROGRAM([], [dnl -- long val = 1; -- char *c = (char *) &val; -- exit(*c == 1); -- ]) -- ],[ -- ac_cv_c_endian=big -- ],[ -- ac_cv_c_endian=little -- ]) --]) --if test $ac_cv_c_endian = big; then -- AC_DEFINE(ENDIAN_BIG, 1, [machine is bigendian]) --fi --if test $ac_cv_c_endian = little; then -- AC_DEFINE(ENDIAN_LITTLE, 1, [machine is littleendian]) --fi --]) -- --AC_C_ENDIAN -+AC_C_BIGENDIAN( -+ AC_DEFINE(ENDIAN_BIG, 1, [machine is bigendian]), -+ AC_DEFINE(ENDIAN_LITTLE, 1, [machine is littleendian]), -+ AC_MSG_ERROR(unknown endianess), -+ AC_MSG_ERROR(universial endianess not supported) -+) - - AC_DEFUN([AC_C_HTONLL], - [ --- -1.7.2.3 - diff --git a/patches/memcached-1.4.5/0003-Fix-type-punning-issues-exposed-with-GCC-4.5.1.patch b/patches/memcached-1.4.5/0003-Fix-type-punning-issues-exposed-with-GCC-4.5.1.patch deleted file mode 100644 index 6532739..0000000 --- a/patches/memcached-1.4.5/0003-Fix-type-punning-issues-exposed-with-GCC-4.5.1.patch +++ /dev/null @@ -1,80 +0,0 @@ -From: Dan McGee <d...@archlinux.org> -Date: Tue, 2 Nov 2010 18:43:00 -0500 -Subject: [PATCH] Fix type-punning issues exposed with GCC 4.5.1 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The errors below are due to pointer magic that isn't allowed if following C -strict-aliasing rules: - - memcached.c: In function ‘complete_incr_bin’: - memcached.c:1023:16: error: dereferencing type-punned pointer will break - strict-aliasing rules - memcached.c:1044:13: error: dereferencing type-punned pointer will break - strict-aliasing rules - memcached.c:1061:17: error: dereferencing type-punned pointer will break - strict-aliasing rules - -Fix this by introducing a union type that allows access to the uint64_t -member as necessary, but doesn't add any additional length to the structure. -The size remains the same before and after; the only difference is explict -casts are now refactored into union member accesses and all compilers should -be happy. - -Signed-off-by: Dan McGee <d...@archlinux.org> ---- - memcached.h | 25 +++++++++++++++++-------- - 1 files changed, 17 insertions(+), 8 deletions(-) - -diff --git a/memcached.h b/memcached.h -index 4a7295b..74a6592 100644 ---- a/memcached.h -+++ b/memcached.h -@@ -77,18 +77,22 @@ - #define TAIL_REPAIR_TIME (3 * 3600) - - /* warning: don't use these macros with a function, as it evals its arg twice */ --#define ITEM_get_cas(i) ((uint64_t)(((i)->it_flags & ITEM_CAS) ? \ -- *(uint64_t*)&((i)->end[0]) : 0x0)) --#define ITEM_set_cas(i,v) { if ((i)->it_flags & ITEM_CAS) { \ -- *(uint64_t*)&((i)->end[0]) = v; } } -+#define ITEM_get_cas(i) (((i)->it_flags & ITEM_CAS) ? \ -+ (i)->data->cas : (uint64_t)0) - --#define ITEM_key(item) (((char*)&((item)->end[0])) \ -+#define ITEM_set_cas(i,v) { \ -+ if ((i)->it_flags & ITEM_CAS) { \ -+ (i)->data->cas = v; \ -+ } \ -+} -+ -+#define ITEM_key(item) (((char*)&((item)->data)) \ - + (((item)->it_flags & ITEM_CAS) ? sizeof(uint64_t) : 0)) - --#define ITEM_suffix(item) ((char*) &((item)->end[0]) + (item)->nkey + 1 \ -+#define ITEM_suffix(item) ((char*) &((item)->data) + (item)->nkey + 1 \ - + (((item)->it_flags & ITEM_CAS) ? sizeof(uint64_t) : 0)) - --#define ITEM_data(item) ((char*) &((item)->end[0]) + (item)->nkey + 1 \ -+#define ITEM_data(item) ((char*) &((item)->data) + (item)->nkey + 1 \ - + (item)->nsuffix \ - + (((item)->it_flags & ITEM_CAS) ? sizeof(uint64_t) : 0)) - -@@ -302,7 +306,12 @@ typedef struct _stritem { - uint8_t it_flags; /* ITEM_* above */ - uint8_t slabs_clsid;/* which slab class we're in */ - uint8_t nkey; /* key length, w/terminating null and padding */ -- void * end[]; -+ /* this odd type prevents type-punning issues when we do -+ * the little shuffle to save space when not using CAS. */ -+ union { -+ uint64_t cas; -+ char end; -+ } data[]; - /* if it_flags & ITEM_CAS we have 8 bytes CAS */ - /* then null-terminated key */ - /* then " flags length\r\n" (no terminating null) */ --- -1.7.2.3 - diff --git a/patches/memcached-1.4.5/autogen.sh b/patches/memcached-1.4.5/autogen.sh deleted file mode 120000 index 9f8a4cb..0000000 --- a/patches/memcached-1.4.5/autogen.sh +++ /dev/null @@ -1 +0,0 @@ -../autogen.sh \ No newline at end of file diff --git a/patches/memcached-1.4.5/series b/patches/memcached-1.4.5/series deleted file mode 100644 index 90647cb..0000000 --- a/patches/memcached-1.4.5/series +++ /dev/null @@ -1,5 +0,0 @@ -# generated by git-ptx-patches -0001-Switch-AC_RUN-to-AC_LINK.patch -0002-Change-configure.ac-to-use-AC_C_BIGENDIAN.patch -0003-Fix-type-punning-issues-exposed-with-GCC-4.5.1.patch -# 072bd6f23f8727b4c3060fb3d4197ee5 - git-ptx-patches magic diff --git a/rules/memcached.make b/rules/memcached.make index b3ecf51..e323e19 100644 --- a/rules/memcached.make +++ b/rules/memcached.make @@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_MEMCACHED) += memcached # # Paths and names # -MEMCACHED_VERSION := 1.4.10 -MEMCACHED_MD5 := 8e18054ec5edfd96f7de87f02622052a +MEMCACHED_VERSION := 1.4.13 +MEMCACHED_MD5 := 6d18c6d25da945442fcc1187b3b63b7f MEMCACHED := memcached-$(MEMCACHED_VERSION) MEMCACHED_SUFFIX := tar.gz MEMCACHED_URL := http://memcached.googlecode.com/files/$(MEMCACHED).$(MEMCACHED_SUFFIX) -- 1.7.8.4 -- ptxdist mailing list ptxdist@pengutronix.de