svn commit: r449581 - in head/lang/rust: . files

Thomas Zander riggs at FreeBSD.org
Sun Sep 10 16:49:47 UTC 2017


Author: riggs
Date: Sun Sep 10 16:49:46 2017
New Revision: 449581
URL: https://svnweb.freebsd.org/changeset/ports/449581

Log:
  Allow RUST_BACKTRACE to work without /proc mounted
  
  Submitted by:	jbeich
  Differential Revision:	https://reviews.freebsd.org/D11574

Added:
  head/lang/rust/files/patch-src_libbacktrace_fileline.c   (contents, props changed)
Deleted:
  head/lang/rust/pkg-message
Modified:
  head/lang/rust/Makefile

Modified: head/lang/rust/Makefile
==============================================================================
--- head/lang/rust/Makefile	Sun Sep 10 16:09:49 2017	(r449580)
+++ head/lang/rust/Makefile	Sun Sep 10 16:49:46 2017	(r449581)
@@ -3,6 +3,7 @@
 
 PORTNAME=	rust
 PORTVERSION?=	1.19.0
+PORTREVISION?=	1
 CATEGORIES=	lang
 MASTER_SITES=	http://static.rust-lang.org/dist/:src \
 		https://static.rust-lang.org/dist/:rust_bootstrap \

Added: head/lang/rust/files/patch-src_libbacktrace_fileline.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/rust/files/patch-src_libbacktrace_fileline.c	Sun Sep 10 16:49:46 2017	(r449581)
@@ -0,0 +1,42 @@
+--- src/libbacktrace/fileline.c.orig	2017-06-06 00:42:59 UTC
++++ src/libbacktrace/fileline.c
+@@ -38,8 +38,39 @@ POSSIBILITY OF SUCH DAMAGE.  */
+ #include <fcntl.h>
+ #include <stdlib.h>
+ 
++#if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__)
++#include <sys/sysctl.h>
++#include <limits.h>
++#endif
++
+ #include "backtrace.h"
+ #include "internal.h"
++
++#if !defined(HAVE_GETEXECNAME) && defined(KERN_PROC_PATHNAME)
++/* Return pathname of executable or 0 on failure. */
++#define HAVE_GETEXECNAME
++static char execname[PATH_MAX + 1];
++static const char *
++getexecname(void)
++{
++  size_t path_len = sizeof(execname);
++  int mib[] = {
++    CTL_KERN,
++#if defined(__NetBSD__)
++    KERN_PROC_ARGS,
++    -1,
++    KERN_PROC_PATHNAME,
++#else
++    KERN_PROC,
++    KERN_PROC_PATHNAME,
++    -1,
++#endif
++  };
++  u_int miblen = sizeof(mib) / sizeof(mib[0]);
++  int rc = sysctl(mib, miblen, execname, &path_len, NULL, 0);
++  return rc ? NULL : execname;
++}
++#endif /* !HAVE_GETEXECNAME && KERN_PROC_PATHNAME */
+ 
+ #ifndef HAVE_GETEXECNAME
+ #define getexecname() NULL


More information about the svn-ports-head mailing list