summaryrefslogtreecommitdiff
path: root/lang/rust-nightly/files/patch-src_libbacktrace_fileline.c
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2018-02-24 06:17:17 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2018-02-24 06:17:17 +0000
commit01b60efd6f1dcb88ae5af68b322e65c319909022 (patch)
tree117b807343b8d48b2603671aeba52d6ec1fee64d /lang/rust-nightly/files/patch-src_libbacktrace_fileline.c
parentNo need to actually recompress rust-std, libarchive does the right thing (diff)
Unbreak on i386/amd64 and update to 1.25.0-2018-02-19
- Stop using git to build as it is unmaintainable due to submodules, but more importantly because src/vendor is no longer bundled. Just fetch the source already generated that has all dependencies bundled. It may be a bit slower to get updates but is far more maintainable. - Copy all patches to lang/rust-nightly/files since they may not always apply exactly between both versions. - Add in patch for llvm-config getting -lexecinfo wrong, this is in review with LLVM at https://reviews.llvm.org/D42702. - Bring in other random updates from lang/rust.
Notes
Notes: svn path=/head/; revision=462769
Diffstat (limited to 'lang/rust-nightly/files/patch-src_libbacktrace_fileline.c')
-rw-r--r--lang/rust-nightly/files/patch-src_libbacktrace_fileline.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/lang/rust-nightly/files/patch-src_libbacktrace_fileline.c b/lang/rust-nightly/files/patch-src_libbacktrace_fileline.c
new file mode 100644
index 000000000000..88e16025ddfc
--- /dev/null
+++ b/lang/rust-nightly/files/patch-src_libbacktrace_fileline.c
@@ -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