diff options
author | Ian Lance Taylor <iant@golang.org> | 2020-02-15 15:29:02 -0800 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2020-05-09 15:20:13 -0700 |
commit | 261356844a6cb3404f2627a58302f296fb6bebb2 (patch) | |
tree | 84dbfe1a8086ad45ee32fabca2ca1212b6050b85 /libbacktrace/configure.ac | |
parent | 925b418e065a9d94bd2c0d87fbfc93b573a309af (diff) | |
download | gcc-261356844a6cb3404f2627a58302f296fb6bebb2.zip gcc-261356844a6cb3404f2627a58302f296fb6bebb2.tar.gz gcc-261356844a6cb3404f2627a58302f296fb6bebb2.tar.bz2 |
libbacktrace: support fetching executable name using sysctl
This supports FreeBSD and NetBSD when /proc is not mounted.
libbacktrace/
* fileline.c (sysctl_exec_name): New static function.
(sysctl_exec_name1): New macro or static function.
(sysctl_exec_name2): Likewise.
(fileline_initialize): Try sysctl_exec_name[12].
* configure.ac: Check for sysctl args to fetch executable name.
* configure: Regenerate.
* config.h.in: Regenerate.
Diffstat (limited to 'libbacktrace/configure.ac')
-rw-r--r-- | libbacktrace/configure.ac | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/libbacktrace/configure.ac b/libbacktrace/configure.ac index 3730d7c..5beed68 100644 --- a/libbacktrace/configure.ac +++ b/libbacktrace/configure.ac @@ -388,6 +388,36 @@ if test "$have_getexecname" = "yes"; then AC_DEFINE(HAVE_GETEXECNAME, 1, [Define if getexecname is available.]) fi +# Check for sysctl definitions. + +AC_CACHE_CHECK([for KERN_PROC], +[libbacktrace_cv_proc], +[AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([ +#include <sys/types.h> +#include <sys/sysctl.h> +], [int mib0 = CTL_KERN; int mib1 = KERN_PROC; int mib2 = KERN_PROC_PATHNAME;])], + [libbacktrace_cv_proc=yes], + [libbacktrace_cv_proc=no])]) +if test "$libbacktrace_cv_proc" = "yes"; then + AC_DEFINE([HAVE_KERN_PROC], 1, + [Define to 1 if you have KERN_PROC and KERN_PROC_PATHNAME in <sys/sysctl.h>.]) +fi + +AC_CACHE_CHECK([for KERN_PROG_ARGS], +[libbacktrace_cv_procargs], +[AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([ +#include <sys/types.h> +#include <sys/sysctl.h> +], [int mib0 = CTL_KERN; int mib1 = KERN_PROC_ARGS; int mib2 = KERN_PROC_PATHNAME;])], + [libbacktrace_cv_procargs=yes], + [libbacktrace_cv_procargs=no])]) +if test "$libbacktrace_cv_procargs" = "yes"; then + AC_DEFINE([HAVE_KERN_PROC_ARGS], 1, + [Define to 1 if you have KERN_PROCARGS and KERN_PROC_PATHNAME in <sys/sysctl.h>.]) +fi + # Check for the clock_gettime function. AC_CHECK_FUNCS(clock_gettime) clock_gettime_link= |