Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Date: Thu, 14 Dec 2000 18:41:32 -0500 From: Christopher Faylor To: cygwin developers Subject: Re: exceptions.cc Message-ID: <20001214184132.C20516@redhat.com> Reply-To: cygwin-developers AT cygwin DOT com Mail-Followup-To: cygwin developers References: <20001214232117 DOT 16979 DOT qmail AT web122 DOT yahoomail DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.11i In-Reply-To: <20001214232117.16979.qmail@web122.yahoomail.com>; from earnie_boyd@yahoo.com on Thu, Dec 14, 2000 at 03:21:17PM -0800 On Thu, Dec 14, 2000 at 03:21:17PM -0800, Earnie Boyd wrote: >Adding >exceptions.o: exceptions.cc > $(CXX) $(CXXFLAGS) -c -fno-inline-functions $< -o $@ >to the winsup/cygwin/Makefile causes > >c++ -L/prj/cygcvs/bld/i686-pc-cygwin/winsup >-L/prj/cygcvs/bld/i686-pc-cygwin/win >sup/cygwin -L/prj/cygcvs/bld/i686-pc-cygwin/winsup/w32api/lib -isystem >/prj/cygc >vs/src/winsup/include -isystem /prj/cygcvs/src/winsup/cygwin/include -isystem >/p >rj/cygcvs/src/winsup/w32api/include -isystem >/prj/cygcvs/src/newlib/libc/sys/cyg >win -isystem /prj/cygcvs/src/newlib/libc/sys/cygwin32 >-B/prj/cygcvs/bld/i686-pc- >cygwin/newlib/ -isystem /prj/cygcvs/bld/i686-pc-cygwin/newlib/targ-include >-isys >tem /prj/cygcvs/src/newlib/libc/include -O3 -fnative-struct -MD -fbuiltin -c >-fn >o-inline-functions ../../../../src/winsup/cygwin/exceptions.cc -o exceptions.o >In file included from ../../../../src/winsup/cygwin/exceptions.cc:19: >../../../../src/winsup/cygwin/pinfo.h:125: syntax error before `*' >../../../../src/winsup/cygwin/pinfo.h: In method `struct sigaction & >_pinfo::get >sig(int)': >../../../../src/winsup/cygwin/pinfo.h:95: `thread2signal' undeclared (first use >this function) >../../../../src/winsup/cygwin/pinfo.h:95: (Each undeclared identifier is >reporte >d only once >../../../../src/winsup/cygwin/pinfo.h:95: for each function it appears in.) >../../../../src/winsup/cygwin/pinfo.h: In method `void >_pinfo::setthread2signal( >void *)': >../../../../src/winsup/cygwin/pinfo.h:119: `ThreadItem' undeclared (first use >th >is function) >../../../../src/winsup/cygwin/pinfo.h:119: parse error before `)' >../../../../src/winsup/cygwin/exceptions.cc: In function `void >signal_exit(int)' >: >../../../../src/winsup/cygwin/exceptions.cc:1026: invalid use of undefined type >`class ResourceLocks' >/prj/cygcvs/src/winsup/cygwin/include/sys/cygwin.h:115: forward declaration of >` >class ResourceLocks' >../../../../src/winsup/cygwin/exceptions.cc:1027: invalid use of undefined type >`class ResourceLocks' >/prj/cygcvs/src/winsup/cygwin/include/sys/cygwin.h:115: forward declaration of >` >class ResourceLocks' >c++: file path prefix `/prj/cygcvs/bld/i686-pc-cygwin/newlib/' never used >make: *** [exceptions.o] Error 1 > >The question I have is what causes the build when I don't use the specific rule >and the general rule >" >new-$(DLL_NAME): $(DLL_OFILES) $(DEF_FILE) $(DLL_IMPORTS) $(LIBC) $(LIBM) >Makefi >le winver_stamp > $(CXX) $(CXXFLAGS) -nostdlib -Wl,-shared -o $@ -e $(DLL_ENTRY) >$(DEF_FIL >E) $(DLL_OFILES) version.o \ > winver.o $(DLL_IMPORTS) $(MALLOC_OBJ) $(LIBM) $(LIBC) -lgcc -lstdc++ > >dll_ofiles: $(DLL_OFILES) >" >is used? > >Now, why do I want to do this in the first place? I wanted to use -O3 which >adds -finline-functions and autoload.cc and exceptions.cc cause undefined >symbols when building the dll with this switch. So I want to be specific for >these objects so that I can add the -fno-inline-functions to the formula. So, you should look for the appropriate .cc -> .o rule and mimic that. It's located in Makefile.common and it is not what you've quoted above. cgf