summaryrefslogtreecommitdiff
path: root/gcc/frame.c
Commit message (Collapse)AuthorAgeFilesLines
* * configure.in (host_xm_file, build_xm_file, xm_file, tm_file):ghazi1998-11-071-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Arrange to include gansidecl.h in {ht}config.h & tm.h just before the config/ directory headers. (tm_file_list, host_xm_file_list, build_xm_file_list): Handle gansidecl.h in the list of dependencies. * Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h. (TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib, mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o, gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o, dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o, cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o): Likewise. * cccp.c: Don't include gansidecl.h. * cexp.y: Likewise. * collect2.c: Likewise. * config/c4x/c4x.c: Likewise. * config/v850/v850.h: Likewise. * cppalloc.c: Likewise. * cpperror.c: Likewise. * cppexp.c: Likewise. * cppfiles.c: Likewise. * cpphash.c: Likewise. * cpplib.c: Likewise. * cppmain.c: Likewise. * cppulp.c: Likewise. * demangle.h: Likewise. * doprint.c: Likewise. * dyn-string.c: Likewise. * eh-common.h: Likewise. * fix-header.c: Likewise. * frame.c: Likewise. * gcc.c: Likewise. * gcov.c: Likewise. * gen-protos.c: Likewise. * gencheck.c: Likewise. * halfpic.h: Likewise. * hash.c: Likewise. * machmode.h: Likewise. * mbchar.c: Likewise. * prefix.c: Likewise. * protoize.c: Likewise. * recog.h: Likewise. * rtl.h: Likewise. * scan-decls.c: Likewise. * tree.h: Likewise. * varray.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23558 138bc75d-0d04-0410-961f-82ee72b054a4
* * frame.c: Somewhat explain `FDE'.loewis1998-10-231-0/+19
| | | | | | | Suggested by Brendan Kehoe git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23243 138bc75d-0d04-0410-961f-82ee72b054a4
* * gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.tromey1998-08-271-1/+32
| | | | | | | | | | | | * frame.c (init_object_mutex): New function. (init_object_mutex_once): Likewise. (find_fde): Call it. (__register_frame_info): Likewise. (__register_frame_info_table): Likewise. (__deregister_frame_info): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22023 138bc75d-0d04-0410-961f-82ee72b054a4
* typo typo fixes fixeslaw1998-05-061-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19601 138bc75d-0d04-0410-961f-82ee72b054a4
* Partial fix for problem reported by Don Bowman.wilson1998-04-231-0/+6
| | | | | | | | * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when inhibit_libc is defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19390 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix BSD/OS build error reported by Shigeya Suzuk.wilson1998-04-201-3/+4
| | | | | | | * frame.c (heapsort): Rename to frame_heapsort. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19351 138bc75d-0d04-0410-961f-82ee72b054a4
* Zap some warnings in target files:ghazi1998-04-171-0/+5
| | | | | | | | | | | | | | * frame.c: Include stdlib.h and unistd.h to possibly get various function prototypes. The fixproto script guarantees these header files exist on the target system. * libgcc2.c: Likewise. * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock, __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the function parameters. * libgcc2.c (__udiv_w_sdiv): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19261 138bc75d-0d04-0410-961f-82ee72b054a4
* * frame.c (start_fde_sort, fde_split, heapsort, fde_merge,law1998-03-011-22/+175
| | | | | | | | | | end_fde_sort): New functions for fast sorting of an FDE array. (fde_insert): Simplified. (add_fdes): Change argument list. (frame_init): Use the new functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18345 138bc75d-0d04-0410-961f-82ee72b054a4
* tweak commentsjason1998-02-131-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17964 138bc75d-0d04-0410-961f-82ee72b054a4
* * frame.c (find_fde): Correct FDE's upper bound.jason1998-01-161-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17382 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (GTHREAD_FLAGS): New var.law1997-12-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS). (distclean): Remove gthr-default.h. * configure.in: Accept dce as a thread package. Check for thread.h and pthread.h. Link gthr-default.h to appropriate thread file and set gthread_flags. (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and include multilib definitions from pa/t-dce-thr. (sparc-*-solaris2*): Enable threads by default, if thread.h or pthread.h is found, preferring posix threads over solaris ones. * config/pa/t-dce-thr: New file. * config/pa/t-pa: Removed multilibs. * config/sparc/t-sol2: Ditto. * gthr.h: New file. * gthr-single.h: New file. * gthr-posix.h: New file. * gthr-solaris.h: New file. * gthr-dce.h: New file. * libgcc-thr.h: Removed. * objc/thr-dce.c: New file copied from thr-decosf1.c. * frame.c: Include gthr.h instead of libgcc-thr.h. * libgcc2.c: Include gthr.h instead of libgcc-thr.h. (eh_context_initialize): If __gthread_once fails, use static eh context. (eh_context_free): Call __gthread_key_dtor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17235 138bc75d-0d04-0410-961f-82ee72b054a4
* * frame.h (__register_frame, __register_frame_table,law1997-12-151-2/+22
| | | | | | | | | | | | __deregister_frame): New. * frame.c (__register_frame, __register_frame_table, __deregister_frame): New. * frame.c (__deregister_frame_info): Return void *. * frame.h (__deregister_frame_info): Ditto. * collect2.c (__deregister_frame_info): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17113 138bc75d-0d04-0410-961f-82ee72b054a4
* Bring over changes from latest gcc-2.8 pre-release.law1997-12-151-3/+3
| | | | | | | Mirror sched.c change into haifa-sched.c git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17097 138bc75d-0d04-0410-961f-82ee72b054a4
* Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com>jason1997-12-121-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thread-safe EH support for pthreads, DCE threads and Solaris threads. * integrate.c (expand_inline_function): If the inline fn uses eh context, make sure that the current fn has one. * toplev.c (rest_of_compilation): Call emit_eh_context. * except.c (use_eh_context): New fn. (get_eh_context_once): New fn. (call_get_eh_context): New fn. (emit_eh_context): New fn. (get_eh_context): Call either get_eh_context_once or call_get_eh_context, depending on what we have. (get_dynamic_handler_chain): Call get_eh_context_once. * except.h: Prototypes for fns above. * optabs.c (get_eh_context_libfunc): Removed. (init_optabs): Don't initialize it. * expr.h (get_eh_context_libfunc): Removed. * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT. * config/pa/pa.h (CPP_SPEC): Support for -threads. * config/pa/pa-hpux10.h (LIB_SPEC): Ditto. * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): New multilib for -threads. * config/sparc/t-sol2: Added multilibs for -threads and made -pthreads alias to it. * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC): Added -threads and -pthreads options. * libgcc-thr.h: New file. * libgcc2.c: (__get_cpp_eh_context): Removed. (struct cpp_eh_context): Removed. (struct eh_context): Replaced cpp_eh_context with generic language specific pointer. (__get_eh_info): New function. (__throw): Check eh_context::info. (__sjthrow): Ditto. * libgcc2.c: Include libgcc-thr.h. (new_eh_context, __get_eh_context, eh_pthread_initialize, eh_context_initialize, eh_context_static, eh_context_specific, eh_context_free): New functions. (get_eh_context, eh_context_key): New variables. (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use get_eh_context to get the context. (longjmp): Move the declaration inside #ifdef DONT_USE_BUILTIN_SETJMP. * frame.c: Include libgcc-thr.h. (object_mutex): Mutex to protect the object list. (find_fde, __register_frame, __register_frame_table, __deregister_frame): Hold the lock while accessing objects. * except.h (get_eh_context): Declare. * except.c (current_function_ehc): Define. (current_function_dhc, current_function_dcc): Removed. (get_eh_context): New function. (get_dynamic_handler_chain): Use get_eh_context. (get_saved_pc_ref): Ditto. (get_dynamic_cleanup_chain): Removed references to current_function_dcc. (save_eh_status, restore_eh_status): Save and restore current_function_ehc instead. * optabs.c (get_eh_context_libfunc): New variable. (init_optabs): Initialize it. * expr.h: Declare get_eh_context_libfunc. * function.h (struct function): Replaced dhc and dcc with ehc. * except.c (get_saved_pc_ref): New functions. (eh_saved_pc_rtx, eh_saved_pc): Deleted. (expand_internal_throw_indirect): Use get_saved_pc_ref() instead of eh_saved_pc. (end_eh_unwinder): Likewise. (init_eh): Remove initialization of eh_saved_pc. * optabs.c (get_saved_pc_libfunc): New variable. (init_optabs): Initialize it. * expr.h: Declare get_saved_pc_libfunc. * except.h (eh_saved_pc_rtx): Deleted. (get_saved_pc_ref): Declared. From Scott Snyder <snyder@d0sgif.fnal.gov>: * libgcc2.c (__get_saved_pc): New. (__eh_type, __eh_pc): Deleted. (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc. (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside this fcn. cp/: Thu Dec 11 20:43:33 1997 Teemu Torma <tot@trema.com> * decl.c (ptr_ptr_type_node): Define. (init_decl_processing): Initialize it. * cp-tree.h: Declare it. * exception.cc (__cp_exception_info): Use __get_eh_info. (__cp_push_exception): Ditto. (__cp_pop_exception): Ditto. From Scott Snyder <snyder@d0sgif.fnal.gov>: * except.c (expand_builtin_throw): Use get_saved_pc_ref instead of saved_pc. (init_exception_processing): Removed saved_pc initialization. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17052 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge from gcc-2.8law1997-12-071-20/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16987 138bc75d-0d04-0410-961f-82ee72b054a4
* * frame.c (add_fdes, count_fdes): Go back to checking pc_begin forjason1997-11-071-2/+2
| | | | | | | linked once FDEs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16359 138bc75d-0d04-0410-961f-82ee72b054a4
* Update mainline egcs to gcc2 snapshot 971021.law1997-11-021-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16278 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32jason1997-10-261-17/+29
| | | | | | | | | | | | | | bit PC-relative offset. The exception range table pointer is now in the CIE. * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta. (count_fdes, add_fdes, get_cie): Adjust. (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses. From H.J. Lu: * frame.c (count_fdes, add_fdes): Skip linked once FDE entries. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16192 138bc75d-0d04-0410-961f-82ee72b054a4
* * frame.c (__frame_state_for): Execute the FDE insns until thejason1997-10-071-1/+1
| | | | | | | current pc value is strictly bigger than the target pc value. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15863 138bc75d-0d04-0410-961f-82ee72b054a4
* * frame.c: Remove last change.law1997-09-281-1/+0
| | | | | | | | | | * dwarf2.h: Remove last change. * tree.h: Add declarations of DWARF2 unwind info support functions. As requested by Jason. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15751 138bc75d-0d04-0410-961f-82ee72b054a4
* * frame.c: Include gansidecl.h for PROTO.law1997-09-271-0/+1
| | | | | | | | | | | | | | | * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is defined. Don't declare dwarf2out_cfi_label here. * dwarf2.h: Add declarations of DWARF2 unwind info support functions. * m68k.c: Include dwarf2.h. (output_function_prologue): Add dwarf2 support. * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros. (INCOMING_FRAME_SP_OFFSET): Likewise. Update m68k patch from Andreas. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15740 138bc75d-0d04-0410-961f-82ee72b054a4
* * frame.c (__deregister_frame): Check properly for initialized object.jason1997-09-201-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15601 138bc75d-0d04-0410-961f-82ee72b054a4
* dwarf2 EH supportjason1997-09-101-0/+607
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15255 138bc75d-0d04-0410-961f-82ee72b054a4