Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Jul 2014 19:46:32 +0000 (UTC)
From:      Rui Paulo <rpaulo@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r361001 - in head/devel/umem: . files
Message-ID:  <201407061946.s66JkWk3085309@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rpaulo (src committer)
Date: Sun Jul  6 19:46:31 2014
New Revision: 361001
URL: http://svnweb.freebsd.org/changeset/ports/361001
QAT: https://qat.redports.org/buildarchive/r361001/

Log:
  umem: fix the insta-crash of libumem
  
  On amd64, libumem simply crashes because the size of the the cpu cache
  structure is not a power of two. We need to pad it on LP64 architectures as
  well.
  
  Reviewed by:	bapt
  Approved by:	bapt

Added:
  head/devel/umem/files/
  head/devel/umem/files/patch-umem_impl.h   (contents, props changed)
Modified:
  head/devel/umem/Makefile

Modified: head/devel/umem/Makefile
==============================================================================
--- head/devel/umem/Makefile	Sun Jul  6 19:20:32 2014	(r361000)
+++ head/devel/umem/Makefile	Sun Jul  6 19:46:31 2014	(r361001)
@@ -3,15 +3,14 @@
 
 PORTNAME=	umem
 PORTVERSION=	1.0.1
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	devel
 MASTER_SITES=	https://labs.omniti.com/portableumem/releases/${PORTVERSION:R}/
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	Port of the Solaris memory allocator
 
-USES=		libtool:keepla
-USE_BZIP2=	yes
+USES=		libtool:keepla tar:bzip2
 USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
 ONLY_FOR_ARCHS=	i386 amd64

Added: head/devel/umem/files/patch-umem_impl.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/umem/files/patch-umem_impl.h	Sun Jul  6 19:46:31 2014	(r361001)
@@ -0,0 +1,15 @@
+--- umem_impl.h.orig	2014-07-04 11:29:34.393156748 -0700
++++ umem_impl.h	2014-07-04 11:29:54.599155604 -0700
+@@ -255,12 +255,7 @@
+ 	int		cc_prounds;	/* number of objects in previous mag */
+ 	int		cc_magsize;	/* number of rounds in a full mag */
+ 	int		cc_flags;	/* CPU-local copy of cache_flags */
+-#if (!defined(_LP64) || defined(UMEM_PTHREAD_MUTEX_TOO_BIG)) && !defined(_WIN32)
+-	/* on win32, UMEM_CPU_PAD evaluates to zero, and the MS compiler
+-	 * won't allow static initialization of arrays containing structures
+-	 * that contain zero size arrays */
+ 	char		cc_pad[UMEM_CPU_PAD]; /* for nice alignment (32-bit) */
+-#endif
+ } umem_cpu_cache_t;
+ 
+ /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407061946.s66JkWk3085309>