This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

exceptions with FreeBSD 2.25 anybody ?


Hallo World,

I hope this is the approriate list.

I configured egcs-1.0.1 on a FreeBSD 2.2.5 widh a simple

"../configure --prefix=/usr/local/egcs" (gas from binutils-2.8.1.0.19 is
                                         installed as /usr/local/egcs/bin/as)

and can't get exceptions to work width the PC range table support.
All I get when I throw an exception is an abort signal and a core dump
in the cwd :-(. 

I started to debug, and discovered the following:
foo()
  --(calls)--> __throw --(calls)--> __frame_state_for --(calls)--> __find_fde

__find_fde() tries to find the $pc in a linked list of "struct objects"
but the list does not have a single entry, which causes __frame_state_for
to fail and __throw to call terminate().

I had a quick look at frame.c and if I understand the code there, the
info has to be registered with __register_frame_info at program start.
So, I set a break point with gdb on __register_frame_info and to my
surprise, __register_frame_info() is never called !

Before I dig further into this, can anybody tell me what's is goin' on here ?

  Chris

-- 
*** Perfection is achieved only at the point of collapse.- C.N.Parkinson ***
----------------------------------------------------------------------------
Email: chris@sdata.de  PGP Key fingerprint: FE0899542E27761E57C4C8F3C6188F56


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]