aboutsummaryrefslogtreecommitdiff
path: root/gcc/unwind-dw2-fde.c
AgeCommit message (Collapse)AuthorFilesLines
2002-05-31target.h: Fix formatting.Kazu Hirata1-56/+56
* target.h: Fix formatting. * timevar.h: Likewise. * tlink.c: Likewise. * toplev.c: Likewise. * toplev.h: Likewise. * tree.c: Likewise. * tree-dump.h: Likewise. * tree.h: Likewise. * tree-inline.h: Likewise. * unroll.c: Likewise. * unwind-dw2.c: Likewise. * unwind-dw2-fde.c: Likewise. * unwind-dw2-fde-glibc.c: Likewise. * unwind-dw2-fde.h: Likewise. * unwind.h: Likewise. * unwind-sjlj.c: Likewise. * varasm.c: Likewise. * varray.h: Likewise. * vmsdbg.h: Likewise. * vmsdbgout.c: Likewise. * xcoffout.h: Likewise. From-SVN: r54123
2002-01-21unwind-dw2.c: Fix formatting.Kazu Hirata1-18/+18
* unwind-dw2.c: Fix formatting. * unwind-dw2-fde.c: Likewise. * unwind-dw2-fde.h: Likewise. * unwind-pe.h: Likewise. * varasm.c: Likewise. * varray.h: Likewise. From-SVN: r49045
2002-01-10toplev.c: Fix formatting.Kazu Hirata1-9/+11
* toplev.c: Fix formatting. * tree.c: Likewise. * tree-dump.c: Likewise. * unroll.c: Likewise. * unwind-dw2.c: Likewise. * unwind-dw2-fde.c: Likewise. * unwind-dw2-fde-glibc.c: Likewise. * unwind-sjlj.c: Likewise. From-SVN: r48749
2001-12-15configure.in: Check for ld.Jakub Jelinek1-0/+2
* configure.in: Check for ld. (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option. * configure, config.in: Rebuilt. * config.gcc: Add crtbeginT.o to extra_parts where needed. * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc frame unwinding on Linux. * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde frame unwinding. * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static. (LINK_EH_SPEC): Define. * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static. * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define. * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't iterate further if pc falls into current library, but fde was not found. * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static if using glibc. (LINK_EH_SPEC): Define. * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64): Use crtbeginT.o for -static. (LINK_EH_SPEC): Define. * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o. * Makefile.in (crtbeginT.o): Add rule. * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh. If neither -static-libgcc nor -shared-libgcc is passed and -shared, use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not. If none of the above switches are passed, use -lgcc -lgcc_eh. (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec. * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if creating libgcc_s.so, put them into separate libgcc_eh.a instead. * unwind-dw2-fde.c: Don't include any headers if this file is included from other .c file. * unwind-dw2-fde-glibc.c: New file. * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define. Use it instead of EH_FRAME_SECTION_NAME where appropriate. From-SVN: r48039
2001-11-20unwind-dw2-fde.c (__deregister_frame_info_bases): Fix lossage in last change ↵Graham Stott1-1/+1
return OB. * unwind-dw2-fde.c (__deregister_frame_info_bases): Fix lossage in last change return OB. From-SVN: r47222
2001-11-20unwind-dw2-fde.c (__register_frame_info_bases, [...]): Don't register empty ↵Jakub Jelinek1-2/+18
.eh_frame sections. * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame): Don't register empty .eh_frame sections. (__deregister_frame_info_bases, __deregister_frame): Don't unregister them either. From-SVN: r47211
2001-10-22unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin fields when ↵Hans-Peter Nilsson1-2/+5
comparing. * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin fields when comparing. From-SVN: r46414
2001-10-10unwind-dw2-fde.c (fde_compare_t): Change return type to int.Richard Henderson1-7/+19
* unwind-dw2-fde.c (fde_compare_t): Change return type to int. (fde_unencoded_compare): Likewise. Don't use subtraction to get a tristate comparison value. (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise. From-SVN: r46157
2001-09-19alias.c: Fix typos in comments.Stan Shebs1-1/+1
* alias.c: Fix typos in comments. * sched-rgn.c (init_ready_list): Ditto. * unwind-dw2.c (uw_frame_state_for): Ditto. * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto. * unwind.inc (_Unwind_RaiseException_Phase2): Ditto. * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto. From-SVN: r45698
2001-08-31unwind-pe.h (read_uleb128, [...]): Move actual reading code here.Jason Merrill1-3/+5
* unwind-pe.h (read_uleb128, read_sleb128): Move actual reading code here. Take _Unwind_{W,Sw}ord*. (read_encoded_value_with_base): Use them. * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg words. (extract_cie_info): Simplify read_?leb128 handling. (execute_stack_op, execute_cfa_program): Likewise. * unwind-dw2-fde.c (get_cie_encoding): Likewise. * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Simplify leb128 handling. From-SVN: r45315
2001-08-22Makefile.in, [...]: replace "GNU CC" with "GCC".Lars Brinkhoff1-12/+12
* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c, bitmap.h, builtin-types.def, builtins.c, builtins.def, c-aux-info.c, c-common.c, c-common.def, c-common.h, c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c, c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in, c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c, caller-save.c, calls.c, collect2.c, collect2.h, combine.c, conditions.h, config.gcc, configure.frag, configure.in, conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c, cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h, dependence.c, df.c, df.h, diagnostic.c, diagnostic.h, doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c, dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c, emit-rtl.c, errors.c, errors.h, except.c, except.h, exgettext, explow.c, expmed.c, expr.c, expr.h, final.c, fixproto, flags.h, flow.c, fold-const.c, fp-test.c, function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp, gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c, gencheck.c, gencodes.c, genconfig.c, genemit.c, genextract.c, genflags.c, gengenrtl.c, genmultilib, genopinit.c, genoutput.c, genpeep.c, genrecog.c, gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c, ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c, graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h, gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h, hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h, integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c, libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h, machmode.def, machmode.h, main.c, mbchar.c, mbchar.h, mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk, mkmap-symver.awk, optabs.c, output.h, params.c, params.def, params.h, predict.c, predict.def, predict.h, prefix.c, prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c, read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c, regclass.c, regmove.c, regrename.c, regs.h, reload.c, reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c, rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h, sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c, sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c, stringpool.c, system.h, timevar.c, timevar.def, timevar.h, tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h, tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h, unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h, unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c, xcoffout.h: replace "GNU CC" with "GCC". From-SVN: r45105
2001-08-17sbitmap.c: Fix comment formatting.Kazu Hirata1-5/+5
* sbitmap.c: Fix comment formatting. * sched-deps.c: Likewise. * sibcall.c: Likewise. * simplify-rtx.c: Likewise. * ssa.c: Likewise. * ssa-ccp.c: Likewise. * stor-layout.c: Likewise. * timevar.c: Likewise. * toplev.c: Likewise. * unwind-dw2.c: Likewise. * unwind-dw2-fde.c: Likewise. * varasm.c: Likewise. From-SVN: r44983
2001-08-01unwind-pe.h (base_of_encoded_value, [...]): Define only if ↵Mark Kettenis1-0/+1
NO_BASE_OF_ENCODED_VALUE isn't defined. * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define only if NO_BASE_OF_ENCODED_VALUE isn't defined. * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before including "unwind-pe.h". From-SVN: r44550
2001-06-11unwind-dw2-fde.c (__deregister_frame_info): Don't play games with alias ↵Richard Henderson1-10/+0
attribute. * unwind-dw2-fde.c (__deregister_frame_info): Don't play games with alias attribute. From-SVN: r43214
2001-06-05dwarf2.h (DW_EH_PE_aligned): New.Richard Henderson1-1/+7
* dwarf2.h (DW_EH_PE_aligned): New. * 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. From-SVN: r42926
2001-05-22unwind-dw2-fde.c (__deregister_frame_info): Stringize use of ↵Richard Henderson1-1/+5
__USER_LABEL_PREFIX__. * unwind-dw2-fde.c (__deregister_frame_info): Stringize use of __USER_LABEL_PREFIX__. From-SVN: r42475
2001-05-22unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...Richard Henderson1-1/+23
* unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of... (__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. From-SVN: r42473
2001-05-16except.c (eh_data_format_name): Move to ...Richard Henderson1-195/+621
* except.c (eh_data_format_name): Move to ... * 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. From-SVN: r42176
2001-05-12dwarfout.c (dwarfout_init): Add cast.Neil Booth1-1/+1
* dwarfout.c (dwarfout_init): Add cast. * 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. From-SVN: r41996
2001-03-28IA-64 ABI Exception Handling.Richard Henderson1-0/+542
From-SVN: r40924