Re: Can't catch any throw on gcc 3.0.4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2 Feb 2005, Tan-Long Phan said:
> I tried to use -fexceptions to compile my application but it still gives me
> the same stack. I don't have -fomit-frame-pointer in my Makefile. My
> application is linked with dynamic and static libraries, and one of the
> static library performs try/catch on a function declared in the dynamic
> library.

Ah. That's your problem. Exception throws into or out of shared
libraries won't work with libraries built with a GCC which doesn't
provide a shared libgcc: I think this was brought in in GCC 3.1,
but I can't be sure: if you're upgrading GCC and you're not on a
platform obsoleted by a later GCC release, it makes sense to go
all the way to 3.4.3 in any case, I'd say.

(The exception-handling system requires a *single* copy of certain data
structures in the entire process; in GCC-3.0 and below, the shared
library has its own copy, and things break.)

-- 
`Blish is clearly in love with language. Unfortunately,
 language dislikes him intensely.' --- Russ Allbery

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux