svn commit: r492292 - in head/devel/google-perftools: . files

Yuri Victorovich yuri at FreeBSD.org
Wed Feb 6 08:02:45 UTC 2019


Author: yuri
Date: Wed Feb  6 08:02:43 2019
New Revision: 492292
URL: https://svnweb.freebsd.org/changeset/ports/492292

Log:
  devel/google-perftools: fix build with GCC-based architectures
  
  PR:		235498
  Submitted by:	Piotr Kubaj <pkubaj at anongoth.pl>

Added:
  head/devel/google-perftools/files/patch-configure   (contents, props changed)
  head/devel/google-perftools/files/patch-src_stacktrace__powerpc-darwin-inl.h   (contents, props changed)
Modified:
  head/devel/google-perftools/Makefile

Modified: head/devel/google-perftools/Makefile
==============================================================================
--- head/devel/google-perftools/Makefile	Wed Feb  6 07:58:35 2019	(r492291)
+++ head/devel/google-perftools/Makefile	Wed Feb  6 08:02:43 2019	(r492292)
@@ -14,13 +14,9 @@ COMMENT=	Fast, multi-threaded malloc() and nifty perfo
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-BROKEN_powerpc=		fails to build: assembly not supported, see PR\#94: http://code.google.com/p/google-perftools/issues/detail?id=94&can=1
-BROKEN_powerpc64=	fails to build: assembly not supported, see PR\#94: http://code.google.com/p/google-perftools/issues/detail?id=94&can=1
-BROKEN_sparc64=		fails to build: assembly not supported, see PR\#94: http://code.google.com/p/google-perftools/issues/detail?id=94&can=1
-
 DOCSDIR=	${PREFIX}/share/doc/gperftools
 
-USES=		compiler gmake libtool
+USES=		compiler:c11 gmake libtool
 GNU_CONFIGURE=	yes
 USE_LDCONFIG=	yes
 TEST_TARGET=	check

Added: head/devel/google-perftools/files/patch-configure
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/google-perftools/files/patch-configure	Wed Feb  6 08:02:43 2019	(r492292)
@@ -0,0 +1,10 @@
+--- configure.orig	2018-04-30 06:05:33 UTC
++++ configure
+@@ -18110,6 +18110,7 @@ $as_echo_n "checking how to access the program counter
+    pc_fields="$pc_fields uc_mcontext.arm_pc"           # Linux (arm arch 5)
+    pc_fields="$pc_fields uc_mcontext.gp_regs[PT_NIP]"  # Suse SLES 11 (ppc64)
+    pc_fields="$pc_fields uc_mcontext.mc_eip"           # FreeBSD (i386)
++   pc_fields="$pc_fields uc_mcontext.mc_srr0"          # FreeBSD (powerpc, powerpc64)
+    pc_fields="$pc_fields uc_mcontext.mc_rip"           # FreeBSD (x86_64 [untested])
+    pc_fields="$pc_fields uc_mcontext.__gregs[_REG_EIP]"  # NetBSD (i386)
+    pc_fields="$pc_fields uc_mcontext.__gregs[_REG_RIP]"  # NetBSD (x86_64)

Added: head/devel/google-perftools/files/patch-src_stacktrace__powerpc-darwin-inl.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/google-perftools/files/patch-src_stacktrace__powerpc-darwin-inl.h	Wed Feb  6 08:02:43 2019	(r492292)
@@ -0,0 +1,14 @@
+--- src/stacktrace_powerpc-darwin-inl.h.orig	2016-08-25 05:12:24 UTC
++++ src/stacktrace_powerpc-darwin-inl.h
+@@ -97,7 +97,11 @@ int GET_STACK_TRACE_OR_FRAMES {
+   // different asm syntax.  I don't know quite the best way to discriminate
+   // systems using the old as from the new one; I've gone with __APPLE__.
+   // TODO(csilvers): use autoconf instead, to look for 'as --version' == 1 or 2
++#ifdef __FreeBSD__
++  __asm__ volatile ("mr %0,1" : "=r" (sp));
++#else
+   __asm__ volatile ("mr %0,r1" : "=r" (sp));
++#endif
+ 
+   // On PowerPC, the "Link Register" or "Link Record" (LR), is a stack
+   // entry that holds the return address of the subroutine call (what


More information about the svn-ports-head mailing list