From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23383 invoked by alias); 29 Dec 2001 19:24:27 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Received: (qmail 23355 invoked from network); 29 Dec 2001 19:24:25 -0000 Received: from unknown (HELO mout0.freenet.de) (194.97.50.131) by sources.redhat.com with SMTP; 29 Dec 2001 19:24:25 -0000 Received: from [194.97.50.144] (helo=mx1.freenet.de) by mout0.freenet.de with esmtp (Exim 3.33 #3) id 16KP5j-0003aG-00 for cygwin@cygwin.com; Sat, 29 Dec 2001 20:24:23 +0100 Received: from b5e19.pppool.de ([213.7.94.25] helo=BRAMSCHE) by mx1.freenet.de with smtp (Exim 3.33 #3) id 16KP5i-0000uj-00 for cygwin@cygwin.com; Sat, 29 Dec 2001 20:24:23 +0100 From: "Ralf Habacker" To: Subject: RE: duplicate regexec/regcomp functions detected Date: Sat, 29 Dec 2001 16:40:00 -0000 Message-ID: <003201c1909e$0cef0cb0$0e6307d5@BRAMSCHE> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0033_01C190A6.6EB374B0" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 In-Reply-To: <20011228174956.GA30625@redhat.com> X-SW-Source: 2001-12/txt/msg01284.txt.bz2 ------=_NextPart_000_0033_01C190A6.6EB374B0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-length: 768 Ralf Habacker wrote >The patch for creating libpthread.a is appended. It contains a script names "speclib" and an additional rule >in the src/winsup/cygwin/Makefile.in. I have recognized yet a little problem with the speclib script. I have checked this from the cygwin build dir without any errors. If someone was in the winsup dir and does a make cygwin or make, than some command in speclib does not found the input files. The problem is that ar does not have an -o option for an output dir, so the hack to emulate that does not work. Perhaps it is better to use the absolute path of the input library, but currently I have no idea, how to solve this. :-( Perhaps anyone else have an idea ? speclib ... cd $tmpdir $ar x $PWD/$inlib $FILES cd .. ... Regards Ralf ------=_NextPart_000_0033_01C190A6.6EB374B0 Content-Type: application/octet-stream; name="Makefile.in.dif" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="Makefile.in.dif" Content-length: 3080 Index: Makefile.in=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /cvs/src/src/winsup/cygwin/Makefile.in,v=0A= retrieving revision 1.75=0A= diff -u -b -B -p -r1.75 Makefile.in=0A= --- Makefile.in 2001/12/26 05:02:07 1.75=0A= +++ Makefile.in 2001/12/29 18:54:24=0A= @@ -100,6 +100,9 @@ DLL_ENTRY:=3D@DLL_ENTRY@=0A= LIBGMON_A:=3Dlibgmon.a=0A= GMON_START:=3Dgcrt0.o=0A= =0A= +LIBPTHREAD_A:=3Dlibpthread.a=0A= +=0A= +=0A= # Some things want these from libc, but they have their own static=0A= # data which apps can get to, which is a pain in the dll, so we=0A= # include them directly into the library.=0A= @@ -152,7 +155,7 @@ install_host=3D@install_host@=0A= =0A= all: all_target $(all_host)=0A= =0A= -all_target: $(LIB_NAME) automode.o binmode.o textmode.o $(LIBGMON_A)=0A= +all_target: $(LIB_NAME) automode.o binmode.o textmode.o $(LIBGMON_A) $(LIB= PTHREAD_A)=0A= =0A= all_host: new-$(LIB_NAME) cygrun.exe=0A= =0A= @@ -160,9 +163,9 @@ force:=0A= =0A= install: install-libs install-headers install-man $(install_host) $(instal= l_target)=0A= =0A= -install-libs: $(LIB_NAME)=0A= +install-libs: $(LIB_NAME) $(LIBPTHREAD_A)=0A= $(INSTALL_DATA) new-$(DLL_NAME) $(bindir)/$(DLL_NAME); \=0A= - for i in $(LIB_NAME) $(GMON_START) $(LIBGMON_A) automode.o binmode.= o textmode.o ; do \=0A= + for i in $(LIB_NAME) $(LIBPTHREAD_A) $(GMON_START) $(LIBGMON_A) aut= omode.o binmode.o textmode.o; do \=0A= $(INSTALL_DATA) $$i $(tooldir)/lib/$$i ; \=0A= done=0A= =0A= @@ -202,7 +205,8 @@ maintainer-clean realclean: clean=0A= =0A= =0A= # Rule to build cygwin.dll=0A= -new-$(DLL_NAME): $(LDSCRIPT) $(DLL_OFILES) $(DEF_FILE) $(DLL_IMPORTS) $(LI= BC) $(LIBM) Makefile winver_stamp=0A= +new-$(DLL_NAME): $(LDSCRIPT) $(DLL_OFILES) $(DEF_FILE) $(DLL_IMPORTS) $(LI= BC) $(LIBM) winver_stamp=0A= +#new-$(DLL_NAME): $(LDSCRIPT) $(DLL_OFILES) $(DEF_FILE) $(DLL_IMPORTS) $(L= IBC) $(LIBM) Makefile winver_stamp=0A= $(CXX) $(CXXFLAGS) -nostdlib -Wl,-T$(firstword $^) -Wl,--out-implib= ,cygdll.a -shared -o $@ \=0A= -e $(DLL_ENTRY) $(DEF_FILE) $(DLL_OFILES) version.o winver.o \=0A= $(DLL_IMPORTS) $(MALLOC_OBJ) $(LIBM) $(LIBC) \=0A= @@ -213,6 +217,11 @@ $(LIB_NAME): rmsym newsym new-$(DLL_NAME=0A= /bin/sh ${word 1,$^} ./cygdll.a "$(NM)" "$(AR)" "$(RANLIB)" $(OBSOL= ETE_FUNCTIONS) || exit 0=0A= /bin/sh ${word 2,$^} ./cygdll.a "$(AS)" "$(AR)" "$(RANLIB)" $(NEW_F= UNCTIONS) || exit 0=0A= (echo create $(LIB_NAME); echo addmod $(LIBCOS); echo addlib cygdll= .a; echo save) | $(AR) -M=0A= +=0A= +# Rule to build lib_pthread.a=0A= +$(LIBPTHREAD_A): speclib new-$(DLL_NAME)=0A= + /bin/sh ${word 1,$^} cygdll.a pthread.o $@ "$(NM)" "$(AR)" "$(RANLI= B)" || exit 0=0A= + @echo create $(LIBPTHREAD_A)=0A= =0A= # Rule to make stub library used by testsuite=0A= # dependency set to $(LIB_NAME) to accommodate make -j2.=0A= ------=_NextPart_000_0033_01C190A6.6EB374B0 Content-Type: application/octet-stream; name="speclib" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="speclib" Content-length: 760 #!/bin/sh # # create specific link library for libpthread using symbols from libcygwin.a # inlib=$1; shift reflib=$1; shift outlib=$1; shift nm=$1; shift ar=$1; shift ranlib=$1; shift tmpdir=slibtmp.dir # awk script for extracing related object files SYMBOLS=`nm $reflib | grep "[TD] _" | gawk '{ print $3 }'` SCRIPT='$1 ~ /^d00/ { file = $1; gsub(":","",file); }' for i in $SYMBOLS; do SCRIPT="$SCRIPT \$3 ~ /^$i/ { print file; }" done # remove previous link library rm -f $outlib # extract related object files FILES=`$nm $PWD/$inlib | gawk "$SCRIPT"` mkdir $tmpdir cd $tmpdir $ar x $PWD/$inlib $FILES cd .. # create new link library for pthread $ar cru $PWD/$outlib $tmpdir/*.o $ranlib $PWD/$outlib # remove temporay files rm -fr $tmpdir ------=_NextPart_000_0033_01C190A6.6EB374B0 Content-Type: text/plain; charset=us-ascii Content-length: 214 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ------=_NextPart_000_0033_01C190A6.6EB374B0--