mirror of
https://git.FreeBSD.org/ports.git
synced 2025-02-07 11:49:40 +00:00
![Bryan Drewery](/assets/img/avatar_default.png)
- 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.
43 lines
1.0 KiB
C
43 lines
1.0 KiB
C
--- 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
|