This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: BUG: g++ 3.x.x -fomit-frame-pointer: exception handling doesn't work
On Mon, Aug 09, 2004 at 09:16:57PM -0700, James E Wilson wrote:
> I wasn't able to reproduce the first problem you reported. But I was
> able to eventually reproduce the problem with the second example. I
> configured gcc using
> CFLAGS="long string of options" CXXFLAGS="long string of options"
> ../gcc/configure ...
> where "long string of options" came from your message. When I built gcc
> this way, your new[-1] example did fail. Unfortunately, -g was not in
> your list of options, so I was unable to debug the result.
>
> I never did get the first example to fail.
It's very strange. Did you use -O2? The both examples utilize the
same error...
> At this point, I've spent about as much time on this as I care to. I
> suggest filing a bug report, or trying to debug this yourself. If you
> file a bug report, be sure to include enough info for someone else to
> reproduce the problem. If the problem is that libsupc++ has
> dependencies on being compiled with a frame pointer, then maybe
> something as simple as adding -fno-omit-frame-pointer to CFLAGS in the
> libsupc++ Makefile would solve the problem.
No. Adding the option will not cure the error, but just hide it.
And, more over, not only libsupc++, but any C++ library compiled along
with GCC should suffer from the bug. As for now, I'm nearly sure that
it's DWARF-related problem. I has debugged something alike some time
ago. And the current picture is very similar to the previous one.
So, I will try to debug this problem. But can you please make some
navigation for me: where in GCC sources is the dwarf info (used for
the exception handling) generated and emited into the object code? I
surely don't remember where I've found it last time. And sources are
_huge_...
Thanks in advance.