svn commit: r519762 - head/devel/glog/files
Sunpoet Po-Chuan Hsieh
sunpoet at FreeBSD.org
Tue Dec 10 17:16:32 UTC 2019
Author: sunpoet
Date: Tue Dec 10 17:16:31 2019
New Revision: 519762
URL: https://svnweb.freebsd.org/changeset/ports/519762
Log:
Fix build on powerpc64 ELFv2
- Teach glog how to use program counter
PR: 242343
Submitted by: pkubaj
Added:
head/devel/glog/files/
head/devel/glog/files/patch-m4-pc_from_ucontext.m4 (contents, props changed)
head/devel/glog/files/patch-src-stacktrace_powerpc-inl.h (contents, props changed)
Added: head/devel/glog/files/patch-m4-pc_from_ucontext.m4
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/glog/files/patch-m4-pc_from_ucontext.m4 Tue Dec 10 17:16:31 2019 (r519762)
@@ -0,0 +1,10 @@
+--- m4/pc_from_ucontext.m4.orig 2019-09-01 20:36:55 UTC
++++ m4/pc_from_ucontext.m4
+@@ -21,6 +21,7 @@ AC_DEFUN([AC_PC_FROM_UCONTEXT],
+ pc_fields="$pc_fields uc_mcontext.gregs[[R15]]" # Linux (arm old [untested])
+ pc_fields="$pc_fields uc_mcontext.arm_pc" # Linux (arm new [untested])
+ 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/glog/files/patch-src-stacktrace_powerpc-inl.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/glog/files/patch-src-stacktrace_powerpc-inl.h Tue Dec 10 17:16:31 2019 (r519762)
@@ -0,0 +1,11 @@
+--- src/stacktrace_powerpc-inl.h.orig 2019-12-01 18:35:43 UTC
++++ src/stacktrace_powerpc-inl.h
+@@ -107,7 +107,7 @@ int GetStackTrace(void** result, int max_depth, int sk
+ // Link Register is. For DARWIN and AIX (used by apple and
+ // linux ppc64), it's in sp[2]. For SYSV (used by linux ppc),
+ // it's in sp[1].
+-#if defined(_CALL_AIX) || defined(_CALL_DARWIN)
++#if defined(_CALL_AIX) || defined(_CALL_DARWIN) || defined(_CALL_ELF)
+ result[n++] = *(sp+2);
+ #elif defined(_CALL_SYSV)
+ result[n++] = *(sp+1);
More information about the svn-ports-all
mailing list