summaryrefslogtreecommitdiff
path: root/gcc/unwind-dw2-fde.c
Commit message (Collapse)AuthorAgeFilesLines
* * unwind-dw2-fde.c (__deregister_frame_info): Don't play gamesrth2001-06-111-10/+0
| | | | | | | with alias attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43214 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2.h (DW_EH_PE_aligned): New.rth2001-06-061-1/+7
| | | | | | | | | | | | | | | | | | | * dwarf2asm.c (eh_data_format_name): Name it. (dw2_asm_output_encoded_addr_rtx): Align for it. * dwarf2out.c (output_call_frame_info): Handle it for personality routine and LSDA pointers. * unwind-pe.h (DW_EH_PE_aligned): New. (base_of_encoded_value): Handle it. (read_encoded_value_with_base): Likewise. * unwind-dw2-fde.c (base_from_object): Likewise. (get_cie_encoding): Likewise. * config/alpha/elf.h: Remove ecoff commentary. * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42926 138bc75d-0d04-0410-961f-82ee72b054a4
* * unwind-dw2-fde.c (__deregister_frame_info): Stringize userth2001-05-231-1/+5
| | | | | | | of __USER_LABEL_PREFIX__. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42475 138bc75d-0d04-0410-961f-82ee72b054a4
* * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...rth2001-05-221-1/+23
| | | | | | | | | | | (__deregister_frame_info_bases): New. * unwind-dw2-fde.h: Declare it. * libgcc-std.ver: Export it. * crtstuff.c (__do_global_dtors_aux): Call it if we would have called __register_frame_info_bases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42473 138bc75d-0d04-0410-961f-82ee72b054a4
* * except.c (eh_data_format_name): Move to ...rth2001-05-161-195/+621
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * dwarf2asm.c: ... here. Use designated initializers if available. (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary. * dwarf2asm.h: Update declarations. * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind ASM_PREFERRED_EH_DATA_FORMAT. (output_call_frame_info): Likewise. Use 'L' augmentation for the LSDA encoding. * unwind-dw2-fde.h (struct fde_vector): New. (struct old_object): Rename from struct object. (struct object): New. (__register_frame_info_bases): Declare. (__register_frame_info_table_bases): Declare. (struct dwarf_fde): Remove explicit pc_begin/pc_range members. * unwind-dw2-fde.c (objects): Remove. (unseen_objects, seen_objects): New. (__register_frame_info_bases): New. (__register_frame_info): Use it. (__register_frame_info_table_bases): New. (__register_frame_info_table): Use it. (__deregister_frame_info): Rewrite for changed object struct. (base_from_object, get_cie_encoding, get_fde_encoding): New. (fde_unencoded_compare): Rename from fde_compare; uninline. (fde_single_encoding_compare, fde_mixed_encoding_compare): New. (start_fde_sort): Adjust for new definition of fde_vector. (fde_insert): Likewise. (end_fde_sort): Likewise. Select comparison function based on properties of the object. (fde_split): Take object and fde_compare_t arguments. (frame_heapsort, fde_merge): Likewise. (classify_object_over_fdes): Rename from count_fdes. Handle encoded pointers. Collect encoding, mixed_encoding, and pc_begin for the object. (add_fdes): Handle encoded pointers. (init_object): Rename from frame_init. Update for new struct object. (linear_search_fdes): Rename from search_fdes. Handle encoded pointers. (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE. (binary_search_single_encoding_fdes): New. (binary_search_mixed_encoding_fdes): New. (search_object): New. (_Unwind_Find_FDE): Update for new struct object. Fill in the dwarf_eh_bases. * unwind-dw2.c: Include unwind-pe.h. Constify all pointers iterating over EH data. (_Unwind_FrameState): Remove saw_lsda, addr_encoding. Add fde_encoding, lsda_encoding. (read_uleb128, read_sleb128): Remove. (read_encoded_pointer): Remove. All callers use read_encoded_value. (extract_cie_info): Set lsda_encoding from 'L' augmentation. (uw_frame_state_for): Don't set bases.func. Handle encoded fde pointers. * unwind-pe.h: Add "struct" to _Unwind_Context references. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42176 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarfout.c (dwarfout_init): Add cast.neil2001-05-121-1/+1
| | | | | | | | | | * sched-deps.c (sched_analyze_insn): Remove unused vars. * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so. cp: * method.c (build_mangled_C99_name): Remove unused prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41996 138bc75d-0d04-0410-961f-82ee72b054a4
* IA-64 ABI Exception Handling.rth2001-03-281-0/+542
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40924 138bc75d-0d04-0410-961f-82ee72b054a4