Shared library annoyance with gcc-3_0-branch

Andreas Schwab schwab@suse.de
Tue Feb 20 11:28:00 GMT 2001


Geert Bosch <bosch@gnat.com> writes:

|> On Tue, 20 Feb 2001 dewar@gnat.com wrote:
|> 
|> |<<Yes.  There must be exactly one copy of the exception handling
|> |routines in use within a program.
|> |>>
|> |
|> |Why is this the case? It sounds a bit suspicious (in particular, one
|> |wonders how this can be true, and yet exceptions work fine in a 
|> |multi-threaded environment).
|> 
|> RTH means that only one copy of the code and data must be linked in.

Not even that.  Only one copy of the code must be _active_ during
runtime.  There can well be multiple copies, as long as the other copies
are never called.  That's because every copy of the code would use its own
private list of unwind info, and none of them whould have the whole list
(look for `static struct object *objects' in frame-dwarf2.c).

Andreas.

-- 
Andreas Schwab                                  "And now for something
SuSE Labs                                        completely different."
Andreas.Schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg



More information about the Gcc mailing list