-dnl Process this file with autoconf to create configure. Use autoreconf.
+# Configure template for strace.
+#
+# Copyright (c) 1999-2001 Wichert Akkerman <wichert@deephackmode.org>
+# Copyright (c) 2002-2009 Roland McGrath <roland@redhat.com>
+# Copyright (c) 2006-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2008-2015 Mike Frysinger <vapier@gentoo.org>
+# Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
AC_PREREQ(2.57)
AC_INIT([strace],
m4_esyscmd([./git-version-gen .tarball-version]),
AC_CONFIG_SRCDIR([strace.c])
AC_CONFIG_AUX_DIR([.])
AC_CONFIG_HEADERS([config.h])
-AM_INIT_AUTOMAKE([foreign dist-xz no-dist-gzip silent-rules parallel-tests])
+AM_INIT_AUTOMAKE([foreign nostdinc dist-xz silent-rules parallel-tests])
AM_MAINTAINER_MODE
AC_CANONICAL_HOST
+RPM_CHANGELOGTIME="$(LC_TIME=C date '+%a %b %d %Y')"
+AC_SUBST(RPM_CHANGELOGTIME)
+DEB_CHANGELOGTIME="$(LC_TIME=C date -R)"
+AC_SUBST(DEB_CHANGELOGTIME)
+
AC_PROG_CC
+AC_PROG_CPP
+AX_PROG_CC_FOR_BUILD
+AC_PROG_INSTALL
+AC_PROG_RANLIB
+
AC_USE_SYSTEM_EXTENSIONS
+AX_CODE_COVERAGE
AC_MSG_CHECKING([for supported architecture])
+arch_m32=
+arch_mx32=
case "$host_cpu" in
bfin)
arch=bfin
;;
sparc64*)
arch=sparc64
+ arch_m32=sparc
AC_DEFINE([SPARC64], 1, [Define for the SPARC64 architecture.])
;;
sparc*)
# error 32 bit
#endif], [], arch=powerpc64, arch=powerpc)
if test "$arch" = "powerpc64"; then
+ arch_m32=powerpc
AC_DEFINE([POWERPC64], 1, [Define for the PowerPC64 architecture.])
fi
;;
;;
aarch64*)
arch=aarch64
+ arch_m32=arm
AC_DEFINE([AARCH64], 1, [Define for the AArch64 architecture.])
;;
avr32*)
AC_DEFINE([SH], 1, [Define for the SH architecture.])
;;
x86?64*)
+ arch_m32=i386
AC_TRY_COMPILE(
[#ifndef __ILP32__
# error not x32
#endif], [], arch=x32, arch=x86_64)
if test "$arch" = "x86_64"; then
+ arch_mx32=x32
AC_DEFINE([X86_64], 1, [Define for the 64bit AMD x86-64 architecture.])
else
AC_DEFINE([X32], 1, [Define for the 32bit AMD x86-64 architecture.])
arch=microblaze
AC_DEFINE([MICROBLAZE], 1, [Define for the MicroBlaze architecture.])
;;
+nios2*)
+ arch=nios2
+ AC_DEFINE([NIOS2], 1, [Define for the Nios-II architecture.])
+ ;;
+
or1k*)
arch=or1k
AC_DEFINE([OR1K], 1, [Define for the OpenRISC 1000 architecture.])
AC_DEFINE([XTENSA], 1, [Define for the Xtensa architecture])
;;
+riscv*)
+ arch=riscv
+ AC_DEFINE([RISCV], 1, [Define for the RISC-V architecture])
+ ;;
+
*)
AC_MSG_RESULT([NO!])
AC_MSG_ERROR([architecture $host_cpu is not supported by strace])
esac
AC_MSG_RESULT($arch)
+test -n "$arch_m32" ||
+ arch_m32=$arch
+test -n "$arch_mx32" ||
+ arch_mx32=$arch
AC_SUBST(arch)
+AC_SUBST(arch_m32)
+AC_SUBST(arch_mx32)
+MIPS_ABI=
if test "$arch" = mips; then
- AC_CACHE_CHECK([for MIPS ABI], [ac_cv_mips_abi],
+ AC_CACHE_CHECK([for _MIPS_SIM], [st_cv__MIPS_SIM],
+ [AC_COMPUTE_INT([st_cv__MIPS_SIM], [_MIPS_SIM],
+ [#include <sgidefs.h>],
+ [AC_MSG_ERROR([_MIPS_SIM cannot be determined])])])
+
+ AC_CACHE_CHECK([for MIPS ABI], [st_cv_mips_abi],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <sgidefs.h>]],
[[int i[_MIPS_SIM == _MIPS_SIM_ABI32 ? 1 : - 1];]])],
- [ac_cv_mips_abi=o32],
+ [st_cv_mips_abi=o32],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <sgidefs.h>]],
[[int i[_MIPS_SIM == _MIPS_SIM_NABI32 ? 1 : - 1];]])],
- [ac_cv_mips_abi=n32],
+ [st_cv_mips_abi=n32],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <sgidefs.h>]],
[[int i[_MIPS_SIM == _MIPS_SIM_ABI64 ? 1 : - 1];]])],
- [ac_cv_mips_abi=n64],
- [ac_cv_mips_abi=unknown])])])])
- case "$ac_cv_mips_abi" in
+ [st_cv_mips_abi=n64],
+ [st_cv_mips_abi=unknown])])])])
+
+ case "$st_cv_mips_abi" in
o32) AC_DEFINE([LINUX_MIPSO32], [1], [Define for _MIPS_SIM_ABI32.]);;
n32) AC_DEFINE([LINUX_MIPSN32], [1], [Define for _MIPS_SIM_NABI32.]);;
n64) AC_DEFINE([LINUX_MIPSN64], [1], [Define for _MIPS_SIM_ABI64.]);;
*) AC_MSG_ERROR([Unsupported _MIPS_SIM]);;
esac
+ MIPS_ABI="$st_cv_mips_abi"
fi
+AC_SUBST(MIPS_ABI)
AC_ARG_ENABLE([arm-oabi],
[AS_HELP_STRING([--enable-arm-oabi],
[Define to 1 if you want OABI support on ARM EABI.])
gl_WARN_ADD([-Wall])
-gl_WARN_ADD([-Wwrite-strings])
+gl_WARN_ADD([-Wempty-body])
+gl_WARN_ADD([-Wformat-security])
+gl_WARN_ADD([-Wignored-qualifiers])
+gl_WARN_ADD([-Winit-self])
+gl_WARN_ADD([-Wlogical-op])
+gl_WARN_ADD([-Wmissing-parameter-type])
+gl_WARN_ADD([-Wnested-externs])
+gl_WARN_ADD([-Wold-style-declaration])
+gl_WARN_ADD([-Wold-style-definition])
gl_WARN_ADD([-Wsign-compare])
+gl_WARN_ADD([-Wtype-limits])
+gl_WARN_ADD([-Wwrite-strings])
AC_ARG_ENABLE([gcc-Werror],
[AS_HELP_STRING([--enable-gcc-Werror], [turn on gcc's -Werror option])],
[case $enableval in
)
AC_SUBST([WARN_CFLAGS])
-AC_PROG_CPP
-AC_PROG_INSTALL
-AC_C_CONST
AC_C_BIGENDIAN
-AC_HEADER_STDC
-AC_HEADER_STDBOOL
-AC_HEADER_DIRENT
-AC_HEADER_STAT
-AC_CHECK_MEMBERS(m4_normalize([
- struct stat.st_blksize,
- struct stat.st_blocks,
- struct stat.st_flags,
- struct stat.st_fstype,
- struct stat.st_gen,
- struct stat.st_rdev
-]))
+AC_C_TYPEOF
-AC_TYPE_SIGNAL
AC_TYPE_UID_T
-AC_TYPE_MODE_T
-AC_TYPE_GETGROUPS
-AC_HEADER_MAJOR
-AC_CHECK_TYPES([sig_atomic_t],,, [#include <signal.h>])
-AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
-[#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>])
-AC_LITTLE_ENDIAN_LONG_LONG
AC_CHECK_FUNCS(m4_normalize([
+ accept4
+ fallocate
fanotify_mark
fopen64
fork
fputs_unlocked
+ fstatat
+ ftruncate
+ futimens
if_indextoname
- inet_ntop
+ open64
+ pipe2
prctl
preadv
process_vm_readv
pwritev
- sendmsg
- sendmmsg
- sigaction
+ readahead
+ signalfd
stpcpy
strerror
strsignal
+ sync_file_range
+ utimensat
]))
+
+AC_CHECK_TYPES([sig_atomic_t, struct sigcontext],,, [#include <signal.h>])
+
+AC_CHECK_TYPES([struct mmsghdr],,, [#include <sys/socket.h>])
+
+AC_CHECK_TYPES([__kernel_long_t, __kernel_ulong_t],,,
+[#include <asm/posix_types.h>])
+
+AC_CHECK_TYPES([struct stat64, struct __old_kernel_stat],,,
+[#include <sys/types.h>
+#include <asm/stat.h>])
+
+AC_CHECK_MEMBERS([struct stat.st_mtime_nsec, struct stat64.st_mtime_nsec],,,
+[#include <sys/types.h>
+#include <asm/stat.h>])
+
+AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec])
+
+AC_CHECK_TYPES(m4_normalize([
+ struct pt_all_user_regs,
+ struct ia64_fpreg,
+ struct ptrace_peeksiginfo_args
+]),,, [#include <sys/ptrace.h>])
+
+AC_CHECK_TYPES(m4_normalize([
+ struct flock,
+ struct flock64,
+ struct __kernel_flock,
+ struct __kernel_flock64
+]),,,
+[#include <sys/types.h>
+#include <linux/fcntl.h>])
+
+AC_CHECK_MEMBERS([struct timex.tai],,, [#include <sys/timex.h>])
+
+AC_CHECK_MEMBERS([struct utsname.domainname],,, [#include <sys/utsname.h>])
+
+AC_CHECK_MEMBERS(m4_normalize([
+ siginfo_t.si_syscall,
+ siginfo_t.si_timerid,
+ siginfo_t.si_overrun
+]),,, [#include <signal.h>])
+
AC_CHECK_HEADERS(m4_normalize([
asm/cachectl.h
asm/sysmips.h
bluetooth/bluetooth.h
elf.h
inttypes.h
- ioctls.h
linux/bsg.h
+ linux/dqblk_xfs.h
linux/falloc.h
+ linux/fiemap.h
linux/filter.h
linux/hiddev.h
+ linux/ip_vs.h
+ linux/ipc.h
linux/mmtimer.h
+ linux/msg.h
linux/perf_event.h
+ linux/quota.h
linux/seccomp.h
linux/securebits.h
+ linux/sem.h
+ linux/shm.h
+ linux/userfaultfd.h
linux/utsname.h
mqueue.h
netinet/sctp.h
- poll.h
+ netipx/ipx.h
scsi/sg.h
stropts.h
sys/conf.h
- sys/epoll.h
+ sys/eventfd.h
sys/fanotify.h
- sys/filio.h
- sys/ioctl.h
- sys/poll.h
+ sys/ipc.h
+ sys/msg.h
+ sys/quota.h
sys/reg.h
- sys/vfs.h
+ sys/sem.h
+ sys/shm.h
+ sys/signalfd.h
sys/xattr.h
]))
-AC_CHECK_HEADERS([linux/icmp.h linux/in6.h linux/netlink.h linux/if_packet.h],
- [], [], [#include <stddef.h>
-#include <sys/socket.h>
-#include <asm/types.h>])
-AC_CHECK_HEADERS([asm/sigcontext.h], [], [], [#include <signal.h>])
-AC_CHECK_TYPES([struct sigcontext],,, [#include <signal.h>])
-AC_CHECK_HEADERS([netinet/tcp.h netinet/udp.h],,, [#include <netinet/in.h>])
-
-AC_CHECK_TYPES([struct mmsghdr],,, [#include <sys/socket.h>])
-AC_CHECK_MEMBERS([struct msghdr.msg_control],,, [#include <sys/socket.h>])
-
-AC_CHECK_TYPES([struct stat64],,, [#include <sys/types.h>
-#include <asm/stat.h>])
-AC_CHECK_TYPES([struct __old_kernel_stat],,, [#include <asm/stat.h>])
-AC_CHECK_TYPES([struct statfs64],,, [#include <sys/vfs.h>])
-
-AC_CHECK_TYPES([struct pt_all_user_regs, struct ia64_fpreg, struct ptrace_peeksiginfo_args],,,
- [#include <sys/ptrace.h>])
-
-AC_CHECK_MEMBERS([struct utsname.domainname],,, [#include <sys/utsname.h>])
-AC_CHECK_MEMBERS([struct sigevent._sigev_un._pad,
- struct sigevent.__pad,
- siginfo_t.si_syscall,
- siginfo_t.si_timerid,
- siginfo_t.si_overrun],,, [#include <signal.h>])
+AC_CHECK_HEADERS([asm/sigcontext.h],,, [#include <signal.h>])
-AC_CHECK_MEMBERS([struct sysinfo.totalhigh,
- struct sysinfo.freehigh,
- struct sysinfo.mem_unit],,, [#include <sys/sysinfo.h>])
+AC_CHECK_HEADERS([netinet/tcp.h netinet/udp.h],,, [#include <netinet/in.h>])
-AC_CHECK_TYPES([struct flock64],,, [#include <fcntl.h>])
+AC_CHECK_HEADERS([linux/mqueue.h],,, [#include <linux/types.h>])
-AC_CHECK_HEADERS([libaio.h], [
- AC_CHECK_MEMBERS([struct iocb.u.c.flags],,, [#include <libaio.h>])
- AC_CHECK_DECLS([IO_CMD_PWRITE, IO_CMD_PWRITEV],,, [#include <libaio.h>])
-])
+AC_CHECK_HEADERS(m4_normalize([
+ linux/netfilter_arp/arp_tables.h
+ linux/netfilter_bridge/ebtables.h
+ linux/netfilter_ipv4/ip_tables.h
+ linux/netfilter_ipv6/ip6_tables.h
+]),,, [#include <netinet/in.h>
+#include <net/if.h>])
AC_CHECK_HEADERS([linux/input.h], [
AC_CHECK_MEMBERS([struct input_absinfo.resolution],,, [#include <linux/input.h>])
])
+AC_CHECK_HEADERS([linux/bpf.h], [
+ AC_CACHE_CHECK([whether union bpf_attr.log_buf initialization works],
+ [st_cv_have_union_bpf_attr_log_buf],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <linux/bpf.h>]],
+ [[union bpf_attr a = { .log_buf = 0 };]])],
+ [st_cv_have_union_bpf_attr_log_buf=yes],
+ [st_cv_have_union_bpf_attr_log_buf=no])])
+ if test $st_cv_have_union_bpf_attr_log_buf = yes; then
+ AC_DEFINE(HAVE_UNION_BPF_ATTR_LOG_BUF, [1],
+ [Define to 1 if union bpf_attr.log_buf initialization works])
+ fi
+])
+
+AC_CHECK_TYPES([struct statfs], [
+ AC_CHECK_MEMBERS([struct statfs.f_frsize],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+ AC_CHECK_MEMBERS([struct statfs.f_flags],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+ AC_CHECK_MEMBERS([struct statfs.f_fsid.val],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+ AC_CHECK_MEMBERS([struct statfs.f_fsid.__val],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+],, [#include <linux/types.h>
+#include <asm/statfs.h>])
+
+AC_CHECK_TYPES([struct statfs64], [
+ AC_CHECK_MEMBERS([struct statfs64.f_frsize],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+ AC_CHECK_MEMBERS([struct statfs64.f_flags],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+ AC_CHECK_MEMBERS([struct statfs64.f_fsid.val],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+ AC_CHECK_MEMBERS([struct statfs64.f_fsid.__val],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+],, [#include <linux/types.h>
+#include <asm/statfs.h>])
+
+AC_CHECK_TYPES([struct blk_user_trace_setup],,, [#include <linux/blktrace_api.h>])
+
+AC_CHECK_HEADERS([linux/btrfs.h], [
+ AC_CHECK_MEMBERS(m4_normalize([
+ struct btrfs_ioctl_feature_flags.compat_flags,
+ struct btrfs_ioctl_fs_info_args.nodesize,
+ struct btrfs_ioctl_defrag_range_args.start,
+ struct btrfs_ioctl_search_args_v2.buf_size
+ ]),,, [ #include <stdio.h>
+#include <linux/btrfs.h>])
+ AC_CHECK_DECLS(m4_normalize([BTRFS_COMPRESS_NONE, BTRFS_COMPRESS_ZLIB,
+ BTRFS_COMPRESS_LZO]),,,[ #include <stdio.h>
+#include <linux/btrfs.h>])])
+
AC_CHECK_DECLS([sys_errlist])
AC_CHECK_DECLS(m4_normalize([
PTRACE_PEEKUSER,
]),,, [#include <linux/loop.h>])
AC_CHECK_DECLS(m4_normalize([
- CTL_KERN,
- CTL_VM,
- CTL_NET,
CTL_PROC,
- CTL_FS,
- CTL_DEBUG,
- CTL_DEV,
- CTL_BUS,
- CTL_ABI,
- CTL_CPU,
CTL_ARLAN,
CTL_S390DBF,
CTL_SUNRPC,
CTL_PM,
CTL_FRV,
- KERN_OSTYPE,
- KERN_OSRELEASE,
- KERN_OSREV,
- KERN_VERSION,
- KERN_SECUREMASK,
- KERN_PROF,
- KERN_NODENAME,
- KERN_DOMAINNAME,
- KERN_PANIC,
- KERN_REALROOTDEV,
- KERN_SPARC_REBOOT,
- KERN_CTLALTDEL,
- KERN_PRINTK,
- KERN_NAMETRANS,
- KERN_PPC_HTABRECLAIM,
- KERN_PPC_ZEROPAGED,
- KERN_PPC_POWERSAVE_NAP,
- KERN_MODPROBE,
- KERN_SG_BIG_BUFF,
- KERN_ACCT,
- KERN_PPC_L2CR,
- KERN_RTSIGNR,
- KERN_RTSIGMAX,
- KERN_SHMMAX,
- KERN_MSGMAX,
- KERN_MSGMNB,
- KERN_MSGPOOL,
- KERN_SYSRQ,
- KERN_MAX_THREADS,
- KERN_RANDOM,
- KERN_SHMALL,
- KERN_MSGMNI,
- KERN_SEM,
- KERN_SPARC_STOP_A,
- KERN_SHMMNI,
- KERN_OVERFLOWUID,
- KERN_OVERFLOWGID,
- KERN_SHMPATH,
- KERN_HOTPLUG,
- KERN_IEEE_EMULATION_WARNINGS,
- KERN_S390_USER_DEBUG_LOGGING,
- KERN_CORE_USES_PID,
- KERN_TAINTED,
- KERN_CADPID,
- KERN_PIDMAX,
- KERN_CORE_PATTERN,
- KERN_PANIC_ON_OOPS,
- KERN_HPPA_PWRSW,
- KERN_HPPA_UNALIGNED,
KERN_PRINTK_RATELIMIT,
KERN_PRINTK_RATELIMIT_BURST,
KERN_PTY,
KERN_MAX_LOCK_DEPTH,
KERN_NMI_WATCHDOG,
KERN_PANIC_ON_NMI,
- NET_CORE,
- NET_ETHER,
- NET_802,
- NET_UNIX,
- NET_IPV4,
- NET_IPX,
- NET_ATALK,
- NET_NETROM,
- NET_AX25,
- NET_BRIDGE,
- NET_ROSE,
- NET_IPV6,
- NET_X25,
- NET_TR,
- NET_DECNET,
- NET_ECONET,
- NET_SCTP,
NET_LLC,
NET_NETFILTER,
NET_DCCP,
NET_IRDA,
- NET_CORE_WMEM_MAX,
- NET_CORE_RMEM_MAX,
- NET_CORE_WMEM_DEFAULT,
- NET_CORE_RMEM_DEFAULT,
NET_CORE_DESTROY_DELAY,
- NET_CORE_MAX_BACKLOG,
- NET_CORE_FASTROUTE,
- NET_CORE_MSG_COST,
- NET_CORE_MSG_BURST,
- NET_CORE_OPTMEM_MAX,
- NET_CORE_HOT_LIST_LENGTH,
- NET_CORE_DIVERT_VERSION,
- NET_CORE_NO_CONG_THRESH,
- NET_CORE_NO_CONG,
- NET_CORE_LO_CONG,
- NET_CORE_MOD_CONG,
- NET_CORE_DEV_WEIGHT,
- NET_CORE_SOMAXCONN,
NET_CORE_BUDGET,
NET_CORE_AEVENT_ETIME,
NET_CORE_AEVENT_RSEQTH,
NET_CORE_WARNINGS,
- NET_IPV4_FORWARD,
- NET_IPV4_DYNADDR,
- NET_IPV4_CONF,
- NET_IPV4_NEIGH,
- NET_IPV4_ROUTE,
- NET_IPV4_FIB_HASH,
- NET_IPV4_NETFILTER,
- NET_IPV4_TCP_TIMESTAMPS,
- NET_IPV4_TCP_WINDOW_SCALING,
- NET_IPV4_TCP_SACK,
- NET_IPV4_TCP_RETRANS_COLLAPSE,
- NET_IPV4_DEFAULT_TTL,
- NET_IPV4_AUTOCONFIG,
- NET_IPV4_NO_PMTU_DISC,
- NET_IPV4_TCP_SYN_RETRIES,
- NET_IPV4_IPFRAG_HIGH_THRESH,
- NET_IPV4_IPFRAG_LOW_THRESH,
- NET_IPV4_IPFRAG_TIME,
- NET_IPV4_TCP_MAX_KA_PROBES,
- NET_IPV4_TCP_KEEPALIVE_TIME,
- NET_IPV4_TCP_KEEPALIVE_PROBES,
- NET_IPV4_TCP_RETRIES1,
- NET_IPV4_TCP_RETRIES2,
- NET_IPV4_TCP_FIN_TIMEOUT,
- NET_IPV4_IP_MASQ_DEBUG,
- NET_TCP_SYNCOOKIES,
- NET_TCP_STDURG,
- NET_TCP_RFC1337,
- NET_TCP_SYN_TAILDROP,
- NET_TCP_MAX_SYN_BACKLOG,
- NET_IPV4_LOCAL_PORT_RANGE,
- NET_IPV4_ICMP_ECHO_IGNORE_ALL,
- NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS,
- NET_IPV4_ICMP_SOURCEQUENCH_RATE,
- NET_IPV4_ICMP_DESTUNREACH_RATE,
- NET_IPV4_ICMP_TIMEEXCEED_RATE,
- NET_IPV4_ICMP_PARAMPROB_RATE,
- NET_IPV4_ICMP_ECHOREPLY_RATE,
- NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES,
- NET_IPV4_IGMP_MAX_MEMBERSHIPS,
- NET_TCP_TW_RECYCLE,
- NET_IPV4_ALWAYS_DEFRAG,
- NET_IPV4_TCP_KEEPALIVE_INTVL,
- NET_IPV4_INET_PEER_THRESHOLD,
- NET_IPV4_INET_PEER_MINTTL,
- NET_IPV4_INET_PEER_MAXTTL,
- NET_IPV4_INET_PEER_GC_MINTIME,
- NET_IPV4_INET_PEER_GC_MAXTIME,
- NET_TCP_ORPHAN_RETRIES,
- NET_TCP_ABORT_ON_OVERFLOW,
- NET_TCP_SYNACK_RETRIES,
- NET_TCP_MAX_ORPHANS,
- NET_TCP_MAX_TW_BUCKETS,
- NET_TCP_FACK,
- NET_TCP_REORDERING,
- NET_TCP_ECN,
- NET_TCP_DSACK,
- NET_TCP_MEM,
- NET_TCP_WMEM,
- NET_TCP_RMEM,
- NET_TCP_APP_WIN,
- NET_TCP_ADV_WIN_SCALE,
- NET_IPV4_NONLOCAL_BIND,
- NET_IPV4_ICMP_RATELIMIT,
- NET_IPV4_ICMP_RATEMASK,
- NET_TCP_TW_REUSE,
- NET_TCP_FRTO,
- NET_TCP_LOW_LATENCY,
- NET_IPV4_IPFRAG_SECRET_INTERVAL,
NET_IPV4_IGMP_MAX_MSF,
NET_TCP_NO_METRICS_SAVE,
NET_TCP_DEFAULT_WIN_SCALE,
NET_TCP_ALLOWED_CONG_CONTROL,
NET_TCP_MAX_SSTHRESH,
NET_TCP_FRTO_RESPONSE,
- NET_IPV4_ROUTE_FLUSH,
- NET_IPV4_ROUTE_MIN_DELAY,
- NET_IPV4_ROUTE_MAX_DELAY,
- NET_IPV4_ROUTE_GC_THRESH,
- NET_IPV4_ROUTE_MAX_SIZE,
- NET_IPV4_ROUTE_GC_MIN_INTERVAL,
- NET_IPV4_ROUTE_GC_TIMEOUT,
- NET_IPV4_ROUTE_GC_INTERVAL,
- NET_IPV4_ROUTE_REDIRECT_LOAD,
- NET_IPV4_ROUTE_REDIRECT_NUMBER,
- NET_IPV4_ROUTE_REDIRECT_SILENCE,
- NET_IPV4_ROUTE_ERROR_COST,
- NET_IPV4_ROUTE_ERROR_BURST,
- NET_IPV4_ROUTE_GC_ELASTICITY,
- NET_IPV4_ROUTE_MTU_EXPIRES,
- NET_IPV4_ROUTE_MIN_PMTU,
- NET_IPV4_ROUTE_MIN_ADVMSS,
- NET_IPV4_ROUTE_SECRET_INTERVAL,
NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS,
- NET_IPV4_CONF_FORWARDING,
- NET_IPV4_CONF_MC_FORWARDING,
- NET_IPV4_CONF_PROXY_ARP,
- NET_IPV4_CONF_ACCEPT_REDIRECTS,
- NET_IPV4_CONF_SECURE_REDIRECTS,
- NET_IPV4_CONF_SEND_REDIRECTS,
- NET_IPV4_CONF_SHARED_MEDIA,
- NET_IPV4_CONF_RP_FILTER,
- NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE,
- NET_IPV4_CONF_BOOTP_RELAY,
- NET_IPV4_CONF_LOG_MARTIANS,
- NET_IPV4_CONF_TAG,
- NET_IPV4_CONF_ARPFILTER,
- NET_IPV4_CONF_MEDIUM_ID,
- NET_IPV4_CONF_NOXFRM,
- NET_IPV4_CONF_NOPOLICY,
NET_IPV4_CONF_FORCE_IGMP_VERSION,
NET_IPV4_CONF_ARP_ANNOUNCE,
NET_IPV4_CONF_ARP_IGNORE,
NET_IPV4_CONF_PROMOTE_SECONDARIES,
NET_IPV4_CONF_ARP_ACCEPT,
NET_IPV4_CONF_ARP_NOTIFY,
- NET_IPV6_CONF,
- NET_IPV6_NEIGH,
- NET_IPV6_ROUTE,
- NET_IPV6_ICMP,
- NET_IPV6_BINDV6ONLY,
- NET_IPV6_IP6FRAG_HIGH_THRESH,
- NET_IPV6_IP6FRAG_LOW_THRESH,
- NET_IPV6_IP6FRAG_TIME,
- NET_IPV6_IP6FRAG_SECRET_INTERVAL,
NET_IPV6_MLD_MAX_MSF,
- NET_IPV6_ROUTE_FLUSH,
- NET_IPV6_ROUTE_GC_THRESH,
- NET_IPV6_ROUTE_MAX_SIZE,
- NET_IPV6_ROUTE_GC_MIN_INTERVAL,
- NET_IPV6_ROUTE_GC_TIMEOUT,
- NET_IPV6_ROUTE_GC_INTERVAL,
- NET_IPV6_ROUTE_GC_ELASTICITY,
- NET_IPV6_ROUTE_MTU_EXPIRES,
- NET_IPV6_ROUTE_MIN_ADVMSS,
NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS,
- NET_UNIX_DESTROY_DELAY,
- NET_UNIX_DELETE_DELAY,
- NET_UNIX_MAX_DGRAM_QLEN,
- VM_OVERCOMMIT_MEMORY,
- VM_PAGE_CLUSTER,
- VM_DIRTY_BACKGROUND,
- VM_DIRTY_RATIO,
- VM_DIRTY_WB_CS,
- VM_DIRTY_EXPIRE_CS,
- VM_NR_PDFLUSH_THREADS,
- VM_OVERCOMMIT_RATIO,
- VM_PAGEBUF,
- VM_HUGETLB_PAGES,
- VM_SWAPPINESS,
- VM_LOWMEM_RESERVE_RATIO,
- VM_MIN_FREE_KBYTES,
VM_MAX_MAP_COUNT,
VM_LAPTOP_MODE,
VM_BLOCK_DUMP,
V4L2_CTRL_TYPE_STRING,
V4L2_CTRL_TYPE_BITMASK,
V4L2_CTRL_TYPE_INTEGER_MENU
-]),,, [#include <linux/videodev2.h>])
+]),,, [#include <sys/time.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>])
AC_CACHE_CHECK([for BLKGETSIZE64], [ac_cv_have_blkgetsize64],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
AC_CHECK_SIZEOF([long])
AC_CHECK_SIZEOF([long long])
AC_CHECK_SIZEOF([off_t],,[#include <sys/types.h>])
+AC_CHECK_SIZEOF([struct i64_i32],,[struct i64_i32 {long long i64; int i32;};])
-AC_CACHE_CHECK([for SA_RESTORER], [st_cv_sa_restorer],
- [st_cv_sa_restorer="$(echo SA_RESTORER |
+AC_CACHE_CHECK([for SIGRTMIN], [st_cv_SIGRTMIN],
+ [[st_cv_SIGRTMIN="$(echo SIGRTMIN |
+ $CPP $CPPFLAGS -P -imacros asm/signal.h - |
+ grep '^[0-9]')"
+ test -n "$st_cv_SIGRTMIN" || st_cv_SIGRTMIN=no]])
+if test "x$st_cv_SIGRTMIN" != xno; then
+ AC_DEFINE_UNQUOTED([ASM_SIGRTMIN], [$st_cv_SIGRTMIN],
+ [SIGRTMIN defined in <asm/signal.h>])
+fi
+AC_CACHE_CHECK([for SA_RESTORER], [st_cv_SA_RESTORER],
+ [st_cv_SA_RESTORER="$(echo SA_RESTORER |
$CPP $CPPFLAGS -P -imacros asm/signal.h - |
grep ^0x)"
- test -n "$st_cv_sa_restorer" || st_cv_sa_restorer=no])
-if test "x$st_cv_sa_restorer" != xno; then
- AC_DEFINE_UNQUOTED([ASM_SA_RESTORER], [$st_cv_sa_restorer],
+ test -n "$st_cv_SA_RESTORER" || st_cv_SA_RESTORER=no])
+if test "x$st_cv_SA_RESTORER" != xno; then
+ AC_DEFINE_UNQUOTED([ASM_SA_RESTORER], [$st_cv_SA_RESTORER],
[SA_RESTORER defined in <asm/signal.h>])
fi
[Define to 1 if the system provides __builtin_popcount function])
fi
+AC_CHECK_LIB([dl], [dladdr], [dl_LIBS='-ldl'], [dl_LIBS=])
+if test "x$ac_cv_lib_dl_dladdr" = xyes; then
+ AC_DEFINE([HAVE_DLADDR], [1], [Define to 1 if the system provides dladdr])
+fi
+AC_SUBST(dl_LIBS)
+
AC_PATH_PROG([PERL], [perl])
dnl stack trace with libunwind
fi
fi
-have_m32=no
-case "$arch" in
- aarch64|powerpc64|sparc64|tile|x32|x86_64)
- AC_MSG_CHECKING([for -m32 runtime support])
- saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -m32"
- AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(){return 0;}]])],
- [have_m32=yes],[have_m32=no],[have_m32=no])
- CFLAGS="$saved_CFLAGS"
- AC_MSG_RESULT($have_m32)
- ;;
-esac
-AM_CONDITIONAL([HAVE_M32_RUNTIME], [test "$have_m32" = yes])
-
-have_mx32=no
-case "$arch" in
- x86_64)
- AC_MSG_CHECKING([for -mx32 runtime support])
- saved_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -mx32"
- AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(){return 0;}]])],
- [have_mx32=yes],[have_mx32=no],[have_mx32=no])
- CFLAGS="$saved_CFLAGS"
- AC_MSG_RESULT($have_mx32)
- ;;
-esac
-AM_CONDITIONAL([HAVE_MX32_RUNTIME], [test "$have_mx32" = yes])
+st_MPERS([m32], [aarch64|powerpc64|sparc64|tile|x32|x86_64])
+st_MPERS([mx32], [x86_64])
-AC_CONFIG_FILES([Makefile tests/Makefile tests-m32/Makefile tests-mx32/Makefile])
+AC_CONFIG_FILES([Makefile
+ tests/Makefile
+ tests-m32/Makefile
+ tests-mx32/Makefile
+ strace.spec
+ debian/changelog])
AC_OUTPUT