This is the mail archive of the gcc@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]

Problems with __eh_pc in egcs-971206



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  <jason@yorick.cygnus.com>

	* 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


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