Date: Sun, 10 Sep 2017 16:49:46 +0000 (UTC) From: Thomas Zander <riggs@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r449581 - in head/lang/rust: . files Message-ID: <201709101649.v8AGnkMb006421@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201709101649.v8AGnkMb006421>