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-all
mailing list