From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lee Iverson To: g++@cygnus.com, egcs@cygnus.com Cc: Jason Merrill Subject: Problems with __eh_pc in egcs-971206 Date: Thu, 11 Dec 1997 10:01:00 -0000 Message-id: <199712111620.IAA24531@Canada.AI.SRI.COM> X-SW-Source: 1997-12/msg00663.html On SGI mips-sgi-irix6.3 the g++ front-end is generating references to __eh_pc even though libgcc.a no longer contains this as a global symbol. This seems to trace back to: Wed Dec 3 12:01:56 1997 Jason Merrill * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc. * except.c: Lose outer_context_label_stack. (expand_eh_region_end): Rethrow from outer_context here. (expand_fixup_region_end): Let expand_eh_region_end do the rethrow. (expand_internal_throw): Take no args. (expand_internal_throw_indirect): Lose. (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow. (expand_start_all_catch): Start a rethrow region. (expand_end_all_catch): End it. (expand_rethrow): New fn. * except.h: Reflect above changes. * flow.c: Revert change of Nov 27. and the lack of an exactly corresponding change in except.c:261 #ifndef DWARF2_UNWIND_INFO d = build_decl (VAR_DECL, get_identifier ("__eh_pc"), ptr_type_node); TREE_PUBLIC (d) = 1; DECL_EXTERNAL (d) = 1; DECL_ARTIFICIAL (d) = 1; cp_finish_decl (d, NULL_TREE, NULL_TREE, 0, 0); saved_pc = d; #endif ------------------------------------------------------------------------------- Lee Iverson SRI International leei@ai.sri.com 333 Ravenswood Ave., Menlo Park CA 94025 http://www.ai.sri.com/~leei/ (650) 859-3307