From: "Sergei Trofimovich via gcc-patches" <gcc-patches@gcc.gnu.org>
To: Gcc Patch List <gcc-patches@gcc.gnu.org>
Cc: Sergei Trofimovich <slyfox@gentoo.org>
Subject: [PATCH] gcc/configure.ac: add --disable-systemtap switch
Date: Sat, 12 May 2018 17:37:00 -0000 [thread overview]
Message-ID: <20180512140025.5957-1-slyfox@inbox.ru> (raw)
From: Sergei Trofimovich <slyfox@gentoo.org>
Before the change systemtap probes were enabled
if target headers had sys/sdt.h at ./configure time.
After the change explicitly ask to enable or disable
for probe support and not rely on automagic dependency
discovery.
Bug: https://bugs.gentoo.org/654748
Bug: https://gcc.gnu.org/bugzilla/PR61257
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
---
gcc/configure | 34 ++++++++++++++++++++++++++--------
gcc/configure.ac | 30 ++++++++++++++++++++++--------
2 files changed, 48 insertions(+), 16 deletions(-)
diff --git a/gcc/configure b/gcc/configure
index 7d69faf549d..5e96c4f99fc 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -946,6 +946,7 @@ enable_gnu_unique_object
enable_linker_build_id
enable_libssp
enable_default_ssp
+enable_systemtap
with_long_double_128
with_long_double_format
with_gc
@@ -1688,6 +1689,7 @@ Optional Features:
compiler will always pass --build-id to linker
--enable-libssp enable linking against libssp
--enable-default-ssp enable Stack Smashing Protection as default
+ --disable-systemtap enable systemtap static probe points [default=auto]
--enable-maintainer-mode
enable make rules and dependencies not useful (and
sometimes confusing) to the casual installer
@@ -18448,7 +18450,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 18451 "configure"
+#line 18453 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -18554,7 +18556,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 18557 "configure"
+#line 18559 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -29297,17 +29299,33 @@ fi
# Test for <sys/sdt.h> on the target.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
+
+# Check whether --enable-systemtap was given.
+if test "${enable_systemtap+set}" = set; then :
+ enableval=$enable_systemtap; enable_systemtap=$enableval
+else
+ enable_systemtap=auto
+fi
+
+
+if test x$enable_systemtap != xno; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the target C library" >&5
$as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
-have_sys_sdt_h=no
-if test -f $target_header_dir/sys/sdt.h; then
- have_sys_sdt_h=yes
+ have_sys_sdt_h=no
+ if test -f $target_header_dir/sys/sdt.h ; then
+ have_sys_sdt_h=yes
$as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
$as_echo "$have_sys_sdt_h" >&6; }
+ if test x$enable_systemtap = xyes ; then
+ if test x$have_sys_sdt_h = xno ; then
+ as_fn_error "sys/sdt.h was not found" "$LINENO" 5
+ fi
+ fi
+fi
# Check if TFmode long double should be used by default or not.
# Some glibc targets used DFmode long double, but with glibc 2.4
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 36124b8ce90..8356e579a20 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -5965,14 +5965,28 @@ AC_SUBST([enable_default_ssp])
# Test for <sys/sdt.h> on the target.
GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
-AC_MSG_CHECKING(sys/sdt.h in the target C library)
-have_sys_sdt_h=no
-if test -f $target_header_dir/sys/sdt.h; then
- have_sys_sdt_h=yes
- AC_DEFINE(HAVE_SYS_SDT_H, 1,
- [Define if your target C library provides sys/sdt.h])
-fi
-AC_MSG_RESULT($have_sys_sdt_h)
+
+AC_ARG_ENABLE(systemtap,
+[AS_HELP_STRING([--disable-systemtap],
+ [enable systemtap static probe points [default=auto]])],
+ enable_systemtap=$enableval,
+ enable_systemtap=auto)
+
+if test x$enable_systemtap != xno; then
+ AC_MSG_CHECKING(sys/sdt.h in the target C library)
+ have_sys_sdt_h=no
+ if test -f $target_header_dir/sys/sdt.h ; then
+ have_sys_sdt_h=yes
+ AC_DEFINE(HAVE_SYS_SDT_H, 1,
+ [Define if your target C library provides sys/sdt.h])
+ fi
+ AC_MSG_RESULT($have_sys_sdt_h)
+ if test x$enable_systemtap = xyes ; then
+ if test x$have_sys_sdt_h = xno ; then
+ AC_MSG_ERROR([sys/sdt.h was not found])
+ fi
+ fi
+fi
# Check if TFmode long double should be used by default or not.
# Some glibc targets used DFmode long double, but with glibc 2.4
--
2.17.0
next reply other threads:[~2018-05-12 14:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-12 17:37 Sergei Trofimovich via gcc-patches [this message]
2018-05-14 17:40 ` Joseph Myers
2018-05-24 22:35 ` Jeff Law
2018-05-25 14:02 ` Eric Gallager
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180512140025.5957-1-slyfox@inbox.ru \
--to=gcc-patches@gcc.gnu.org \
--cc=slyfox@gentoo.org \
--cc=slyfox@inbox.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).