From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18712 invoked by alias); 22 Nov 2011 17:38:32 -0000 Received: (qmail 18686 invoked by uid 22791); 22 Nov 2011 17:38:29 -0000 X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org Received: from smtp04.smtpout.orange.fr (HELO smtp.smtpout.orange.fr) (80.12.242.126) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 22 Nov 2011 17:38:11 +0000 Received: from treguer.localnet ([90.32.33.236]) by mwinf5d39 with ME id 0He91i00855gilm03He9wX; Tue, 22 Nov 2011 18:38:10 +0100 From: "Yann E. MORIN" To: crossgcc@sourceware.org Subject: Re: [zlib PATCH 1 of 3] complibs/zlib: Add zlib support for binutils and gdb Date: Tue, 22 Nov 2011 17:38:00 -0000 User-Agent: KMail/1.13.5 (Linux/3.1.1-treguer; KDE/4.4.5; x86_64; ; ) Cc: Zhenqiang Chen References: <4ECB8FBC.3000101@linaro.org> In-Reply-To: <4ECB8FBC.3000101@linaro.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201111221838.08697.yann.morin.1998@anciens.enib.fr> Mailing-List: contact crossgcc-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: crossgcc-owner@sourceware.org X-SW-Source: 2011-11/txt/msg00132.txt.bz2 Zhenqiang, All, On Tuesday 22 November 2011 13:04:12 Zhenqiang Chen wrote: > # HG changeset patch > # User Zhenqiang Chen > # Date 1321943491 -28800 > # Node ID a7e34002ac6dcab9dded1c0b04391637b23e2e82 > # Parent a6c68712024f406df7d2da4af377f51982615833 > complibs/zlib: Add zlib support to remove the dependence on system zlib > for binutils and gdb. Why don't you want to use the system zlib? What's the use-case? zlib has a history of many security holes, and using static means you won't get bug-fixes. Note that the other complibs are needed because older distros do not have the needed versions, and using shared libs or static would have the same issue for crostool-NG: updating those libs would probably need a full re-build of the toolchain. Too long description line. Use: complibs/zlib: add zlib as a companion library Use our own version to remove dependence on system zlib in case blabla... sob... > Reviewed-by: Michael Hope > Signed-off-by: Zhenqiang Chen > > diff --git a/config/companion_libs.in b/config/companion_libs.in > --- a/config/companion_libs.in > +++ b/config/companion_libs.in > @@ -37,6 +37,11 @@ > select LIBELF > select COMPLIBS_NEEDED > > +config ZLIB_NEEDED > + bool > + select ZLIB > + select COMPLIBS_NEEDED > + > config COMPLIBS > bool > > @@ -70,6 +75,10 @@ > bool > select COMPLIBS > > +config ZLIB > + bool > + select COMPLIBS > + > config LIBELF_TARGET > bool > > @@ -93,6 +102,9 @@ > depends on !LIBELF > source "config/companion_libs/libelf.in" > endif > +if ZLIB > +source "config/companion_libs/zlib.in" > +endif > > config FOO > bool > diff --git a/config/companion_libs/zlib.in b/config/companion_libs/zlib.in > new file mode 100644 > --- /dev/null > +++ b/config/companion_libs/zlib.in > @@ -0,0 +1,19 @@ > +# ZLIB options > + > +choice > + bool > + prompt "ZLIB version" > +# Don't remove next line > +# CT_INSERT_VERSION_BELOW > + > +config ZLIB_V_1_2_5 > + bool > + prompt "1.2.5" > + > +endchoice > + > +config ZLIB_VERSION > + string > +# Don't remove next line > +# CT_INSERT_VERSION_STRING_BELOW > + default "1.2.5" if ZLIB_V_1_2_5 Do we really want to expose the zlib version? I believe it should be transparent, the way libncurses is managed by gdb (version-wise, I mean, keeping the complib build as you submitted). > diff --git a/patches/zlib/1.2.5/zlib-1.2.5.patch b/patches/zlib/1.2.5/zlib-1.2.5.patch > new file mode 100644 > --- /dev/null > +++ b/patches/zlib/1.2.5/zlib-1.2.5.patch > @@ -0,0 +1,19 @@ > +diff --git a/Makefile.in b/Makefile.in > +index 5b15bd0..6817b94 100644 > +--- a/Makefile.in > ++++ b/Makefile.in > +@@ -167,8 +167,12 @@ install-libs: $(LIBS) > + -@if [ ! -d $(DESTDIR)$(sharedlibdir) ]; then mkdir -p $(DESTDIR)$(sharedlibdir); fi > + -@if [ ! -d $(DESTDIR)$(man3dir) ]; then mkdir -p $(DESTDIR)$(man3dir); fi > + -@if [ ! -d $(DESTDIR)$(pkgconfigdir) ]; then mkdir -p $(DESTDIR)$(pkgconfigdir); fi > +- cp $(STATICLIB) $(DESTDIR)$(libdir) > +- cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir) > ++ if [ "x$(STATICLIB)" != "x" ] && [ -e $(STATICLIB) ] ; then \ > ++ cp $(STATICLIB) $(DESTDIR)$(libdir) ; \ > ++ fi > ++ if [ "x$(SHAREDLIBV)" != "x" ] && [ -e $(SHAREDLIBV) ] ; then \ > ++ cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir) ; \ > ++ fi > + cd $(DESTDIR)$(libdir); chmod u=rw,go=r $(STATICLIB) > + -@(cd $(DESTDIR)$(libdir); $(RANLIB) libz.a || true) >/dev/null 2>&1 > + -@cd $(DESTDIR)$(sharedlibdir); if test "$(SHAREDLIBV)" -a -f $(SHAREDLIBV); then \ > diff --git a/scripts/build/companion_libs/zlib.sh b/scripts/build/companion_libs/zlib.sh > new file mode 100644 > --- /dev/null > +++ b/scripts/build/companion_libs/zlib.sh > @@ -0,0 +1,49 @@ > +# This file adds the functions to build the ZLIB library > +# Copyright 2011 Michael Edwards > +# Licensed under the GPL v2. See COPYING in the root of this package > + > +do_zlib_get() { :; } > +do_zlib_extract() { :; } > +do_zlib() { :; } > + > +# Overide functions depending on configuration > +if [ "${CT_ZLIB}" = "y" ]; then > + > +do_zlib_get() { > + CT_GetFile "zlib-${CT_ZLIB_VERSION}" .tar.gz \ > + http://sourceforge.net/projects/libpng/files > +} > + > +do_zlib_extract() { > + CT_Extract "zlib-${CT_ZLIB_VERSION}" > + CT_Patch "zlib" "${CT_ZLIB_VERSION}" > +} > + > +do_zlib() { > + mkdir -p "${CT_BUILD_DIR}/build-zlib" > + cd "${CT_BUILD_DIR}/build-zlib" > + > + CT_DoStep INFO "Installing zlib" > + > + cp -a "${CT_SRC_DIR}/zlib-${CT_ZLIB_VERSION}" "${CT_BUILD_DIR}/build-zlib" > + CT_Pushd "${CT_BUILD_DIR}/build-zlib/zlib-${CT_ZLIB_VERSION}" > + > + CT_DoLog EXTRA "Configuring zlib" > + > + CT_DoExecLog CFG \ > + CFLAGS="${CT_CFLAGS_FOR_HOST}" \ > + CXXFLAGS="${CT_CFLAGS_FOR_HOST}" \ > + ./configure --prefix="${CT_COMPLIBS_DIR}/zlib" \ > + --static > + > + CT_DoLog EXTRA "Building zlib" > + CT_DoExecLog ALL make ${JOBSFLAGS} > + > + CT_DoLog EXTRA "Installing zlib" > + CT_DoExecLog ALL make install > + > + CT_Popd > + CT_EndStep > +} > + > +fi # CT_ZLIB > diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in > --- a/scripts/crosstool-NG.sh.in > +++ b/scripts/crosstool-NG.sh.in > @@ -117,6 +117,7 @@ > . "${CT_LIB_DIR}/scripts/build/companion_libs/cloog.sh" > . "${CT_LIB_DIR}/scripts/build/companion_libs/mpc.sh" > . "${CT_LIB_DIR}/scripts/build/companion_libs/libelf.sh" > +. "${CT_LIB_DIR}/scripts/build/companion_libs/zlib.sh" > . "${CT_LIB_DIR}/scripts/build/binutils/binutils.sh" > . "${CT_LIB_DIR}/scripts/build/binutils/elf2flt.sh" > . "${CT_LIB_DIR}/scripts/build/binutils/sstrip.sh" > @@ -527,6 +528,7 @@ > do_cloog_get > do_mpc_get > do_libelf_get > + do_zlib_get > do_binutils_get > do_elf2flt_get > do_sstrip_get > @@ -557,6 +559,7 @@ > do_cloog_extract > do_mpc_extract > do_libelf_extract > + do_zlib_extract > do_binutils_extract > do_elf2flt_extract > do_sstrip_extract > diff --git a/steps.mk b/steps.mk > --- a/steps.mk > +++ b/steps.mk > @@ -23,6 +23,7 @@ > cloog \ > mpc \ > libelf \ > + zlib \ > binutils \ > elf2flt \ > sstrip \ > > -- > For unsubscribe information see http://sourceware.org/lists.html#faq > > -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' -- For unsubscribe information see http://sourceware.org/lists.html#faq