From patchwork Tue Mar 31 11:51:51 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 5925 Received: (qmail 65834 invoked by alias); 31 Mar 2015 11:51:57 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 65817 invoked by uid 89); 31 Mar 2015 11:51:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=4.7 required=5.0 tests=AWL, BAYES_50, FREEMAIL_FROM, KAM_FROM_URIBL_PCCC, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-pa0-f42.google.com Received: from mail-pa0-f42.google.com (HELO mail-pa0-f42.google.com) (209.85.220.42) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 31 Mar 2015 11:51:54 +0000 Received: by pacgg7 with SMTP id gg7so17699848pac.0 for ; Tue, 31 Mar 2015 04:51:53 -0700 (PDT) X-Received: by 10.70.55.99 with SMTP id r3mr31606098pdp.10.1427802713003; Tue, 31 Mar 2015 04:51:53 -0700 (PDT) Received: from gnu-tools-1.localdomain (c-24-7-26-57.hsd1.ca.comcast.net. [24.7.26.57]) by mx.google.com with ESMTPSA id t5sm13722650pde.51.2015.03.31.04.51.52 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 31 Mar 2015 04:51:52 -0700 (PDT) Received: by gnu-tools-1.localdomain (Postfix, from userid 1000) id 7A0C3200A1; Tue, 31 Mar 2015 04:51:51 -0700 (PDT) Date: Tue, 31 Mar 2015 04:51:51 -0700 From: "H.J. Lu" To: GDB Subject: Re: [PATCH] Add --with-system-zlib in gdb Message-ID: <20150331115151.GA25736@gmail.com> References: <20150331112712.GA22591@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20150331112712.GA22591@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-IsSubscribed: yes On Tue, Mar 31, 2015 at 04:27:12AM -0700, H.J. Lu wrote: > This patch adds --with-system-zlib and removes --with-zlib in gdb. > OK for master? > > H.J. > -- > * Makefile.in (ZLIB): New. > (CLIBS): Add $(ZLIB). > (aclocal_m4_deps): Remove ../config/zlib.m4. > * acinclude.m4: Don't include ../config/zlib.m4. > (GDB_AC_CHECK_BFD): Add -lz to LIBS. > * configure.ac (AM_ZLIB): Removed. > (zlibdir): New. AC_SUBST. > Add --with-system-zlib. > * gdb_bfd.c: Don't check HAVE_ZLIB_H to include . > * top.c (print_gdb_configuration): Remove --with-zlib and > --without-zlib. > * config.in: Regenerated. > * configure: Likewise. zlib header file may not be available. This patch adds ZLIBINC. H.J. ---- This patch adds --with-system-zlib and removes --with-zlib in gdb. * Makefile.in (ZLIB): New. (ZLIBINC): Likewise. (INTERNAL_CFLAGS_BASE): Add $(ZLIBINC). (CLIBS): Add $(ZLIB). (aclocal_m4_deps): Remove ../config/zlib.m4. * acinclude.m4: Don't include ../config/zlib.m4. (GDB_AC_CHECK_BFD): Add -lz to LIBS. * configure.ac (AM_ZLIB): Removed. (zlibdir): New. AC_SUBST. (zlibinc): Likewise. Add --with-system-zlib. * gdb_bfd.c: Don't check HAVE_ZLIB_H to include . * top.c (print_gdb_configuration): Remove --with-zlib and --without-zlib. * config.in: Regenerated. * configure: Likewise. --- gdb/Makefile.in | 13 ++++--- gdb/acinclude.m4 | 8 +++-- gdb/config.in | 3 -- gdb/configure | 104 +++++++++++-------------------------------------------- gdb/configure.ac | 12 +++++-- gdb/gdb_bfd.c | 3 -- gdb/top.c | 9 ----- 7 files changed, 45 insertions(+), 107 deletions(-) diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 907997b..63b0800 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -144,6 +144,12 @@ BFD = $(BFD_DIR)/libbfd.a BFD_SRC = $(srcdir)/$(BFD_DIR) BFD_CFLAGS = -I$(BFD_DIR) -I$(BFD_SRC) +# This is where we get zlib from. zlibdir is -L../zlib and zlibinc is +# -I../zlib, unless we were configured with --with-system-zlib, in which +# case both are empty. +ZLIB = @zlibdir@ -lz +ZLIBINC = @zlibinc@ + # Where is the decnumber library? Typically in ../libdecnumber. LIBDECNUMBER_DIR = ../libdecnumber LIBDECNUMBER = $(LIBDECNUMBER_DIR)/libdecnumber.a @@ -556,7 +562,7 @@ CXXFLAGS = -g -O # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros. INTERNAL_CFLAGS_BASE = \ $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \ - $(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) \ + $(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) $(ZLIBINC) \ $(BFD_CFLAGS) $(INCLUDE_CFLAGS) $(LIBDECNUMBER_CFLAGS) \ $(INTL_CFLAGS) $(INCGNU) $(ENABLE_CFLAGS) $(INTERNAL_CPPFLAGS) INTERNAL_WARN_CFLAGS = $(INTERNAL_CFLAGS_BASE) $(GDB_WARN_CFLAGS) @@ -578,7 +584,7 @@ INTERNAL_LDFLAGS = $(CFLAGS) $(GLOBAL_CFLAGS) $(MH_LDFLAGS) $(LDFLAGS) $(CONFIG_ # Libraries and corresponding dependencies for compiling gdb. # XM_CLIBS, defined in *config files, have host-dependent libs. # LIBIBERTY appears twice on purpose. -CLIBS = $(SIM) $(READLINE) $(OPCODES) $(BFD) $(INTL) $(LIBIBERTY) $(LIBDECNUMBER) \ +CLIBS = $(SIM) $(READLINE) $(OPCODES) $(BFD) $(ZLIB) $(INTL) $(LIBIBERTY) $(LIBDECNUMBER) \ $(XM_CLIBS) $(NAT_CLIBS) $(GDBTKLIBS) \ @LIBS@ @GUILE_LIBS@ @PYTHON_LIBS@ \ $(LIBEXPAT) $(LIBLZMA) $(LIBBABELTRACE) \ @@ -1551,8 +1557,7 @@ aclocal_m4_deps = \ ../config/tcl.m4 \ ../config/depstand.m4 \ ../config/lcmessage.m4 \ - ../config/codeset.m4 \ - ../config/zlib.m4 + ../config/codeset.m4 $(srcdir)/aclocal.m4: @MAINTAINER_MODE_TRUE@ $(aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4 index da22fc2..d88b73c 100644 --- a/gdb/acinclude.m4 +++ b/gdb/acinclude.m4 @@ -53,8 +53,6 @@ sinclude([../config/lcmessage.m4]) dnl For AM_LANGINFO_CODESET. sinclude([../config/codeset.m4]) -sinclude([../config/zlib.m4]) - m4_include([common/common.m4]) dnl For libiberty_INIT. @@ -467,7 +465,11 @@ AC_DEFUN([GDB_AC_CHECK_BFD], [ CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS" LDFLAGS="-L../bfd -L../libiberty $LDFLAGS" intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'` - LIBS="-lbfd -liberty $intl $LIBS" + if test -f ../zlib/Makefile; then + LIBS="-lbfd -L../zlib -lz -liberty $intl $LIBS" + else + LIBS="-lbfd -lz -liberty $intl $LIBS" + fi AC_CACHE_CHECK([$1], [$2], [AC_TRY_LINK( [#include diff --git a/gdb/config.in b/gdb/config.in index 8a27df0..d41e6cf 100644 --- a/gdb/config.in +++ b/gdb/config.in @@ -582,9 +582,6 @@ /* Define to 1 if you have the `XML_StopParser' function. */ #undef HAVE_XML_STOPPARSER -/* Define to 1 if you have the header file. */ -#undef HAVE_ZLIB_H - /* Define to 1 if your system has the _etext variable. */ #undef HAVE__ETEXT diff --git a/gdb/configure b/gdb/configure index db239b3..f042d9d 100755 --- a/gdb/configure +++ b/gdb/configure @@ -680,6 +680,8 @@ READLINE_TEXI_INCFLAG READLINE_CFLAGS READLINE_DEPS READLINE +zlibinc +zlibdir MIG WINDRES DLLTOOL @@ -817,7 +819,7 @@ with_curses enable_profiling with_pkgversion with_bugurl -with_zlib +with_system_zlib with_libiconv_prefix with_iconv_bin with_system_readline @@ -1536,7 +1538,7 @@ Optional Packages: library --with-pkgversion=PKG Use PKG in the version string in place of "GDB" --with-bugurl=URL Direct users to URL to report a bug - --with-zlib include zlib support (auto/yes/no) default=auto + --with-system-zlib use installed libz --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib --with-iconv-bin=PATH specify where to find the iconv program @@ -7015,90 +7017,18 @@ if test "$ac_res" != no; then : fi -# Link in zlib if we can. This allows us to read compressed debug sections. +# Use the system's zlib library. +zlibdir=-L../zlib +zlibinc="-I\$(srcdir)/../zlib" - # See if the user specified whether he wants zlib support or not. +# Check whether --with-system-zlib was given. +if test "${with_system_zlib+set}" = set; then : + withval=$with_system_zlib; zlibdir= +zlibinc= -# Check whether --with-zlib was given. -if test "${with_zlib+set}" = set; then : - withval=$with_zlib; -else - with_zlib=auto fi - if test "$with_zlib" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing zlibVersion" >&5 -$as_echo_n "checking for library containing zlibVersion... " >&6; } -if test "${ac_cv_search_zlibVersion+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char zlibVersion (); -int -main () -{ -return zlibVersion (); - ; - return 0; -} -_ACEOF -for ac_lib in '' z; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_zlibVersion=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if test "${ac_cv_search_zlibVersion+set}" = set; then : - break -fi -done -if test "${ac_cv_search_zlibVersion+set}" = set; then : - -else - ac_cv_search_zlibVersion=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_zlibVersion" >&5 -$as_echo "$ac_cv_search_zlibVersion" >&6; } -ac_res=$ac_cv_search_zlibVersion -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - for ac_header in zlib.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" -if test "x$ac_cv_header_zlib_h" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ZLIB_H 1 -_ACEOF - -fi - -done - -fi - - if test "$with_zlib" = "yes" -a "$ac_cv_header_zlib_h" != "yes"; then - as_fn_error "zlib (libz) library was explicitly requested but not found" "$LINENO" 5 - fi - fi # On FreeBSD we may need libutil for kinfo_getvmmap (used by fbsd-nat.c). @@ -13598,7 +13528,11 @@ esac CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS" LDFLAGS="-L../bfd -L../libiberty $LDFLAGS" intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'` - LIBS="-lbfd -liberty $intl $LIBS" + if test -f ../zlib/Makefile; then + LIBS="-lbfd -L../zlib -lz -liberty $intl $LIBS" + else + LIBS="-lbfd -lz -liberty $intl $LIBS" + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ELF support in BFD" >&5 $as_echo_n "checking for ELF support in BFD... " >&6; } if test "${gdb_cv_var_elf+set}" = set; then : @@ -13708,7 +13642,11 @@ fi CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS" LDFLAGS="-L../bfd -L../libiberty $LDFLAGS" intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'` - LIBS="-lbfd -liberty $intl $LIBS" + if test -f ../zlib/Makefile; then + LIBS="-lbfd -L../zlib -lz -liberty $intl $LIBS" + else + LIBS="-lbfd -lz -liberty $intl $LIBS" + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Mach-O support in BFD" >&5 $as_echo_n "checking for Mach-O support in BFD... " >&6; } if test "${gdb_cv_var_macho+set}" = set; then : diff --git a/gdb/configure.ac b/gdb/configure.ac index ace033e..f37a670 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -531,8 +531,16 @@ AC_SEARCH_LIBS(gethostbyname, nsl) # Some systems (e.g. Solaris) have `socketpair' in libsocket. AC_SEARCH_LIBS(socketpair, socket) -# Link in zlib if we can. This allows us to read compressed debug sections. -AM_ZLIB +# Use the system's zlib library. +zlibdir=-L../zlib +zlibinc="-I\$(srcdir)/../zlib" +AC_ARG_WITH(system-zlib, +[AS_HELP_STRING([--with-system-zlib], [use installed libz])], +zlibdir= +zlibinc= +) +AC_SUBST(zlibdir) +AC_SUBST(zlibinc) # On FreeBSD we may need libutil for kinfo_getvmmap (used by fbsd-nat.c). AC_SEARCH_LIBS(kinfo_getvmmap, util, diff --git a/gdb/gdb_bfd.c b/gdb/gdb_bfd.c index 3f89d3a..40874a8 100644 --- a/gdb/gdb_bfd.c +++ b/gdb/gdb_bfd.c @@ -24,9 +24,6 @@ #include "hashtab.h" #include "filestuff.h" #include "vec.h" -#ifdef HAVE_ZLIB_H -#include -#endif #ifdef HAVE_MMAP #include #ifndef MAP_FAILED diff --git a/gdb/top.c b/gdb/top.c index b15c06b..647d9fb 100644 --- a/gdb/top.c +++ b/gdb/top.c @@ -1316,15 +1316,6 @@ This GDB was configured as follows:\n\ fprintf_filtered (stream, _("\ --with-system-gdbinit=%s%s\n\ "), SYSTEM_GDBINIT, SYSTEM_GDBINIT_RELOCATABLE ? " (relocatable)" : ""); -#if HAVE_ZLIB_H - fprintf_filtered (stream, _("\ - --with-zlib\n\ -")); -#else - fprintf_filtered (stream, _("\ - --without-zlib\n\ -")); -#endif #if HAVE_LIBBABELTRACE fprintf_filtered (stream, _("\ --with-babeltrace\n\