From patchwork Tue Mar 31 13:46:35 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: 5927 Received: (qmail 9565 invoked by alias); 31 Mar 2015 13:46:58 -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 9551 invoked by uid 89); 31 Mar 2015 13:46:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=4.1 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-ob0-f182.google.com Received: from mail-ob0-f182.google.com (HELO mail-ob0-f182.google.com) (209.85.214.182) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 31 Mar 2015 13:46:56 +0000 Received: by obbgh1 with SMTP id gh1so26783649obb.1 for ; Tue, 31 Mar 2015 06:46:54 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.60.78.72 with SMTP id z8mr33216909oew.13.1427809596760; Tue, 31 Mar 2015 06:46:36 -0700 (PDT) Received: by 10.76.134.102 with HTTP; Tue, 31 Mar 2015 06:46:35 -0700 (PDT) In-Reply-To: <20150331115151.GA25736@gmail.com> References: <20150331112712.GA22591@gmail.com> <20150331115151.GA25736@gmail.com> Date: Tue, 31 Mar 2015 06:46:35 -0700 Message-ID: Subject: Re: [PATCH] Add --with-system-zlib in gdb From: "H.J. Lu" To: GDB X-IsSubscribed: yes On Tue, Mar 31, 2015 at 4:51 AM, H.J. Lu wrote: > 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? >> Here is the patch for updated zlib.m4. OK for master? From 0707e5cbd2b8e47305def798c1f1cc14a74188c6 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sat, 14 Mar 2015 11:16:15 -0700 Subject: [PATCH 6/7] Add --with-system-zlib in gdb 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). * acinclude.m4: (GDB_AC_CHECK_BFD): Add -lz to LIBS. * 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 | 10 ++++-- gdb/acinclude.m4 | 6 +++- gdb/config.in | 3 -- gdb/configure | 101 ++++++++++++------------------------------------------- gdb/gdb_bfd.c | 3 -- gdb/top.c | 9 ----- 6 files changed, 34 insertions(+), 98 deletions(-) diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 907997b..d4d4a3e 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) \ diff --git a/gdb/acinclude.m4 b/gdb/acinclude.m4 index da22fc2..aa58b02 100644 --- a/gdb/acinclude.m4 +++ b/gdb/acinclude.m4 @@ -467,7 +467,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..e65c699 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 @@ -7017,88 +7019,19 @@ fi # Link in zlib if we can. This allows us to read compressed debug sections. - # See if the user specified whether he wants zlib support or not. + # Use the system's zlib library. + zlibdir=-L../zlib + zlibinc="-I\$(srcdir)/../zlib" -# 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. */ +# Check whether --with-system-zlib was given. +if test "${with_system_zlib+set}" = set; then : + withval=$with_system_zlib; zlibdir= + zlibinc= -/* 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 +13531,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 +13645,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/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\ -- 2.1.0