| delorie.com/archives/browse.cgi | search |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
| Message-ID: | <20041222103145.95154.qmail@web52506.mail.yahoo.com> |
| Date: | Wed, 22 Dec 2004 05:31:45 -0500 (EST) |
| From: | Adam McKee <adam_m_mckee AT yahoo DOT ca> |
| Subject: | Re: c++ code executes very slowly - sjlj EH to blame? |
| To: | Bill Priest <priestwilliaml AT yahoo DOT com>, cygwin AT cygwin DOT com |
| In-Reply-To: | <20041221120619.49379.qmail@web20825.mail.yahoo.com> |
| MIME-Version: | 1.0 |
| X-IsSubscribed: | yes |
Hi Bill,
Here's what I did to build gcc-3.4.3 with dwarf2 EH:
First, get the gcc sources (duh) and Danny Smith's
patch to support dwarf2 EH on cygwin:
http://gcc.gnu.org/ml/gcc-patches/2004-11/msg01989.html
The patch is meant for gcc-4.0 but it worked for me on
3.4.3.
% cd /
% mkdir install
% rm -rf install/gcc-3.4.3
% mkdir install/gcc-3.4.3
% cd /usr/src
% bzip2 -cd ... # unpack gcc sources
% cd gcc-3.4.3
% patch -p1 < ../cygming-dwarf2-eh.patch
% cd ..
% rm -rf obj
% mkdir obj
% cd obj
% ../gcc-3.4.3/configure \
--verbose --prefix=/usr --exec-prefix=/usr \
--sysconfdir=/etc --libdir=/usr/lib \
--libexecdir=/usr/lib --mandir=/usr/share/man \
--infodir=/usr/share/info \
--enable-languages=c,c++ --enable-nls \
--without-included-gettext --enable-libgcj \
--with-system-zlib --enable-interpreter \
--enable-threads=posix --disable-sjlj-exceptions \
--disable-version-specific-runtime-libs \
--disable-win32-registry
% make bootstrap
% make install
About the gcc configuration -- all I did was take the
configuration from the gcc-3.4.1/cygwin (gcc -v), and
replace --enable-sjlj-exceptions with
--disable-sjlj-exceptions.
A good idea is to make a tarball from your build -
that's easy, just do this after you do make install:
% make DESTDIR=/install/gcc-3.4.3 install
Then make a tarball, and put it in a safe place for
re-use/distribution.
I hope this helps.
-Adam
--- Bill Priest <priestwilliaml AT yahoo DOT com> wrote:
> >Thanks Danny for helping me build gcc/g++ with
> dwarf2
> >EH. Performance of my app is now on par with linux
> -
> >where before it was about 3x slower (not 6x as I
> >previously reported... sorry for the confusion).
>
> Any chance you could provide patches to the standard
> cygwin build scripts or gcc source if required or at
> a minimum the write-up required to make it work.
> I've
> recently hit C++ problems w/ cygwin where the
> exception handling didn't work like it does w/ Linux
> (STL_port). I'd like to be able to try the dwarf2
> EH
> to see if it fixes the problem.
>
> TIA,
>
> Bill
______________________________________________________________________
Post your free ad now! http://personals.yahoo.ca
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |