This is the mail archive of the
mailing list for the Cygwin project.
Re: c++ code executes very slowly - sjlj EH to blame?
- From: Adam McKee <adam_m_mckee at yahoo dot ca>
- To: Bill Priest <priestwilliaml at yahoo dot com>, cygwin at cygwin dot com
- Date: Wed, 22 Dec 2004 05:31:45 -0500 (EST)
- Subject: Re: c++ code executes very slowly - sjlj EH to blame?
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:
The patch is meant for gcc-4.0 but it worked for me on
% 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 \
--enable-languages=c,c++ --enable-nls \
--without-included-gettext --enable-libgcj \
--with-system-zlib --enable-interpreter \
--enable-threads=posix --disable-sjlj-exceptions \
% 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
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
I hope this helps.
--- Bill Priest <email@example.com> wrote:
> >Thanks Danny for helping me build gcc/g++ with
> >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.
> 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
> to see if it fixes the problem.
Post your free ad now! http://personals.yahoo.ca
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html