summaryrefslogtreecommitdiff
path: root/gcc/unwind-dw2.c
Commit message (Collapse)AuthorAgeFilesLines
* unwind-dw2.c: Include sys/sdt.h if it exists.Tom Tromey2011-03-141-1/+11
| | | | | | | | | * unwind-dw2.c: Include sys/sdt.h if it exists. (_Unwind_DebugHook): Use STAP_PROBE2. * config.in, configure: Rebuild. * configure.ac: Check for sys/sdt.h. From-SVN: r170954
* * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.Jakub Jelinek2010-04-271-1/+2
| | | | From-SVN: r158773
* dwarf2out.c (output_call_frame_info): For dw_cie_version >= 4 add also ↵Jakub Jelinek2010-04-211-1/+10
| | | | | | | | | | | | | | | | | | | | address size and segment size fields into CIE... * dwarf2out.c (output_call_frame_info): For dw_cie_version >= 4 add also address size and segment size fields into CIE header. * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as long as address size is the same as sizeof (void *) and segment size is 0. * unwind-dw2-fde.c (get_cie_encoding): Likewise. If address size or segment size is unexpected, return DW_EH_PE_omit. (classify_object_over_fdes): If get_cie_encoding returned DW_EH_PE_omit, return -1. (init_object): If classify_object_over_fdes returned -1, pretend there were no FDEs at all. From-SVN: r158589
* dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead of MOD...Jakub Jelinek2010-01-201-2/+2
| | | | | | | | | | | | | | * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}. (loc_list_from_tree): Don't handle unsigned division. Handle signed modulo using DW_OP_{over,over,div,mul,minus}. * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned modulo instead of signed. * gcc.dg/cleanup-13.c: Expect DW_OP_mod to do unsigned modulo instead of signed, add a few new tests. From-SVN: r156063
* Remove trailing white spaces.H.J. Lu2009-11-251-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2009-11-25 H.J. Lu <hongjiu.lu@intel.com> * alias.c: Remove trailing white spaces. * alloc-pool.c: Likewise. * alloc-pool.h: Likewise. * attribs.c: Likewise. * auto-inc-dec.c: Likewise. * basic-block.h: Likewise. * bb-reorder.c: Likewise. * bt-load.c: Likewise. * builtins.c: Likewise. * builtins.def: Likewise. * c-common.c: Likewise. * c-common.h: Likewise. * c-cppbuiltin.c: Likewise. * c-decl.c: Likewise. * c-format.c: Likewise. * c-lex.c: Likewise. * c-omp.c: Likewise. * c-opts.c: Likewise. * c-parser.c: Likewise. * c-pretty-print.c: Likewise. * c-tree.h: Likewise. * c-typeck.c: Likewise. * caller-save.c: Likewise. * calls.c: Likewise. * cfg.c: Likewise. * cfganal.c: Likewise. * cfgexpand.c: Likewise. * cfghooks.c: Likewise. * cfghooks.h: Likewise. * cfglayout.c: Likewise. * cfgloop.c: Likewise. * cfgloop.h: Likewise. * cfgloopmanip.c: Likewise. * cfgrtl.c: Likewise. * cgraph.c: Likewise. * cgraph.h: Likewise. * cgraphbuild.c: Likewise. * cgraphunit.c: Likewise. * cif-code.def: Likewise. * collect2.c: Likewise. * combine.c: Likewise. * convert.c: Likewise. * coverage.c: Likewise. * crtstuff.c: Likewise. * cse.c: Likewise. * cselib.c: Likewise. * dbgcnt.c: Likewise. * dbgcnt.def: Likewise. * dbgcnt.h: Likewise. * dbxout.c: Likewise. * dce.c: Likewise. * ddg.c: Likewise. * ddg.h: Likewise. * defaults.h: Likewise. * df-byte-scan.c: Likewise. * df-core.c: Likewise. * df-problems.c: Likewise. * df-scan.c: Likewise. * df.h: Likewise. * dfp.c: Likewise. * diagnostic.c: Likewise. * diagnostic.h: Likewise. * dominance.c: Likewise. * domwalk.c: Likewise. * double-int.c: Likewise. * double-int.h: Likewise. * dse.c: Likewise. * dwarf2asm.c: Likewise. * dwarf2asm.h: Likewise. * dwarf2out.c: Likewise. * ebitmap.c: Likewise. * ebitmap.h: Likewise. * emit-rtl.c: Likewise. * et-forest.c: Likewise. * except.c: Likewise. * except.h: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * expr.h: Likewise. * final.c: Likewise. * flags.h: Likewise. * fold-const.c: Likewise. * function.c: Likewise. * function.h: Likewise. * fwprop.c: Likewise. * gcc.c: Likewise. * gcov-dump.c: Likewise. * gcov-io.c: Likewise. * gcov-io.h: Likewise. * gcov.c: Likewise. * gcse.c: Likewise. * genattr.c: Likewise. * genattrtab.c: Likewise. * genautomata.c: Likewise. * genchecksum.c: Likewise. * genconfig.c: Likewise. * genflags.c: Likewise. * gengtype-parse.c: Likewise. * gengtype.c: Likewise. * gengtype.h: Likewise. * genmddeps.c: Likewise. * genmodes.c: Likewise. * genopinit.c: Likewise. * genpreds.c: Likewise. * gensupport.c: Likewise. * ggc-common.c: Likewise. * ggc-page.c: Likewise. * ggc-zone.c: Likewise. * ggc.h: Likewise. * gimple-iterator.c: Likewise. * gimple-low.c: Likewise. * gimple-pretty-print.c: Likewise. * gimple.c: Likewise. * gimple.def: Likewise. * gimple.h: Likewise. * gimplify.c: Likewise. * graphds.c: Likewise. * graphite-clast-to-gimple.c: Likewise. * gthr-nks.h: Likewise. * gthr-posix.c: Likewise. * gthr-posix.h: Likewise. * gthr-posix95.h: Likewise. * gthr-single.h: Likewise. * gthr-tpf.h: Likewise. * gthr-vxworks.h: Likewise. * gthr.h: Likewise. * haifa-sched.c: Likewise. * hard-reg-set.h: Likewise. * hooks.c: Likewise. * hooks.h: Likewise. * hosthooks.h: Likewise. * hwint.h: Likewise. * ifcvt.c: Likewise. * incpath.c: Likewise. * init-regs.c: Likewise. * integrate.c: Likewise. * ipa-cp.c: Likewise. * ipa-inline.c: Likewise. * ipa-prop.c: Likewise. * ipa-pure-const.c: Likewise. * ipa-reference.c: Likewise. * ipa-struct-reorg.c: Likewise. * ipa-struct-reorg.h: Likewise. * ipa-type-escape.c: Likewise. * ipa-type-escape.h: Likewise. * ipa-utils.c: Likewise. * ipa-utils.h: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-conflicts.c: Likewise. * ira-costs.c: Likewise. * ira-emit.c: Likewise. * ira-int.h: Likewise. * ira-lives.c: Likewise. * ira.c: Likewise. * jump.c: Likewise. * lambda-code.c: Likewise. * lambda-mat.c: Likewise. * lambda-trans.c: Likewise. * lambda.h: Likewise. * langhooks.c: Likewise. * lcm.c: Likewise. * libgcov.c: Likewise. * lists.c: Likewise. * loop-doloop.c: Likewise. * loop-init.c: Likewise. * loop-invariant.c: Likewise. * loop-iv.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lto-cgraph.c: Likewise. * lto-compress.c: Likewise. * lto-opts.c: Likewise. * lto-section-in.c: Likewise. * lto-section-out.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * lto-streamer.c: Likewise. * lto-streamer.h: Likewise. * lto-symtab.c: Likewise. * lto-wpa-fixup.c: Likewise. * matrix-reorg.c: Likewise. * mcf.c: Likewise. * mode-switching.c: Likewise. * modulo-sched.c: Likewise. * omega.c: Likewise. * omega.h: Likewise. * omp-low.c: Likewise. * optabs.c: Likewise. * optabs.h: Likewise. * opts-common.c: Likewise. * opts.c: Likewise. * params.def: Likewise. * params.h: Likewise. * passes.c: Likewise. * plugin.c: Likewise. * postreload-gcse.c: Likewise. * postreload.c: Likewise. * predict.c: Likewise. * predict.def: Likewise. * pretty-print.c: Likewise. * pretty-print.h: Likewise. * print-rtl.c: Likewise. * print-tree.c: Likewise. * profile.c: Likewise. * read-rtl.c: Likewise. * real.c: Likewise. * recog.c: Likewise. * reg-stack.c: Likewise. * regcprop.c: Likewise. * reginfo.c: Likewise. * regmove.c: Likewise. * regrename.c: Likewise. * regs.h: Likewise. * regstat.c: Likewise. * reload.c: Likewise. * reload1.c: Likewise. * resource.c: Likewise. * rtl.c: Likewise. * rtl.def: Likewise. * rtl.h: Likewise. * rtlanal.c: Likewise. * sbitmap.c: Likewise. * sched-deps.c: Likewise. * sched-ebb.c: Likewise. * sched-int.h: Likewise. * sched-rgn.c: Likewise. * sched-vis.c: Likewise. * sdbout.c: Likewise. * sel-sched-dump.c: Likewise. * sel-sched-dump.h: Likewise. * sel-sched-ir.c: Likewise. * sel-sched-ir.h: Likewise. * sel-sched.c: Likewise. * sel-sched.h: Likewise. * sese.c: Likewise. * sese.h: Likewise. * simplify-rtx.c: Likewise. * stack-ptr-mod.c: Likewise. * stmt.c: Likewise. * stor-layout.c: Likewise. * store-motion.c: Likewise. * stringpool.c: Likewise. * stub-objc.c: Likewise. * sync-builtins.def: Likewise. * target-def.h: Likewise. * target.h: Likewise. * targhooks.c: Likewise. * targhooks.h: Likewise. * timevar.c: Likewise. * tlink.c: Likewise. * toplev.c: Likewise. * toplev.h: Likewise. * tracer.c: Likewise. * tree-affine.c: Likewise. * tree-affine.h: Likewise. * tree-browser.def: Likewise. * tree-call-cdce.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-chrec.c: Likewise. * tree-chrec.h: Likewise. * tree-complex.c: Likewise. * tree-data-ref.c: Likewise. * tree-data-ref.h: Likewise. * tree-dfa.c: Likewise. * tree-dump.c: Likewise. * tree-dump.h: Likewise. * tree-eh.c: Likewise. * tree-flow-inline.h: Likewise. * tree-flow.h: Likewise. * tree-if-conv.c: Likewise. * tree-inline.c: Likewise. * tree-into-ssa.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-loop-linear.c: Likewise. * tree-mudflap.c: Likewise. * tree-nested.c: Likewise. * tree-nomudflap.c: Likewise. * tree-nrv.c: Likewise. * tree-object-size.c: Likewise. * tree-optimize.c: Likewise. * tree-outof-ssa.c: Likewise. * tree-parloops.c: Likewise. * tree-pass.h: Likewise. * tree-phinodes.c: Likewise. * tree-predcom.c: Likewise. * tree-pretty-print.c: Likewise. * tree-profile.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-ssa-address.c: Likewise. * tree-ssa-alias.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-coalesce.c: Likewise. * tree-ssa-copy.c: Likewise. * tree-ssa-copyrename.c: Likewise. * tree-ssa-dce.c: Likewise. * tree-ssa-dom.c: Likewise. * tree-ssa-dse.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-ifcombine.c: Likewise. * tree-ssa-live.c: Likewise. * tree-ssa-live.h: Likewise. * tree-ssa-loop-ch.c: Likewise. * tree-ssa-loop-im.c: Likewise. * tree-ssa-loop-ivcanon.c: Likewise. * tree-ssa-loop-ivopts.c: Likewise. * tree-ssa-loop-manip.c: Likewise. * tree-ssa-loop-niter.c: Likewise. * tree-ssa-loop-prefetch.c: Likewise. * tree-ssa-loop-unswitch.c: Likewise. * tree-ssa-loop.c: Likewise. * tree-ssa-math-opts.c: Likewise. * tree-ssa-operands.c: Likewise. * tree-ssa-operands.h: Likewise. * tree-ssa-phiopt.c: Likewise. * tree-ssa-phiprop.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-propagate.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-sink.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa-ter.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-ssa-threadupdate.c: Likewise. * tree-ssa-uncprop.c: Likewise. * tree-ssa.c: Likewise. * tree-ssanames.c: Likewise. * tree-switch-conversion.c: Likewise. * tree-tailcall.c: Likewise. * tree-vect-data-refs.c: Likewise. * tree-vect-generic.c: Likewise. * tree-vect-loop-manip.c: Likewise. * tree-vect-loop.c: Likewise. * tree-vect-patterns.c: Likewise. * tree-vect-slp.c: Likewise. * tree-vect-stmts.c: Likewise. * tree-vectorizer.c: Likewise. * tree-vectorizer.h: Likewise. * tree-vrp.c: Likewise. * tree.c: Likewise. * tree.def: Likewise. * tree.h: Likewise. * treestruct.def: Likewise. * unwind-compat.c: Likewise. * unwind-dw2-fde-glibc.c: Likewise. * unwind-dw2.c: Likewise. * value-prof.c: Likewise. * value-prof.h: Likewise. * var-tracking.c: Likewise. * varasm.c: Likewise. * varpool.c: Likewise. * vec.c: Likewise. * vec.h: Likewise. * vmsdbgout.c: Likewise. * web.c: Likewise. * xcoffout.c: Likewise. From-SVN: r154645
* re PR target/10127 (-fstack-check let's program crash)Eric Botcazou2009-11-031-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR target/10127 PR ada/20548 * expr.h (STACK_CHECK_PROBE_INTERVAL): Delete. (STACK_CHECK_PROBE_INTERVAL_EXP): New macro. (STACK_CHECK_MOVING_SP): Likewise. * system.h (STACK_CHECK_PROBE_INTERVAL): Poison it. * doc/tm.texi (Stack Checking): Delete STACK_CHECK_PROBE_INTERVAL. Document STACK_CHECK_PROBE_INTERVAL_EXP and STACK_CHECK_MOVING_SP. * doc/md.texi (Standard Pattern Names): Tweak entry of CHECK_STACK. Document PROBE_STACK. * explow.c (anti_adjust_stack_and_probe): New function. (allocate_dynamic_stack_space): Do not directly allocate space if STACK_CHECK_MOVING_SP, instead invoke above function. (emit_stack_probe): Handle probe_stack insn. (PROBE_INTERVAL): New macro. (STACK_GROW_OPTAB): Likewise. (STACK_GROW_OFF): Likewise. (probe_stack_range): Use Pmode and memory_address consistently. Fix loop condition in the small constant case. Rewrite in the general case to be immune to wraparounds. Make sure the address of probes is valid. Try to use [base + disp] addressing mode if possible. * ira.c (setup_eliminable_regset): Set frame_pointer_needed if stack checking is enabled and STACK_CHECK_MOVING_SP. * rtlanal.c (may_trap_p_1) <MEM>: If stack checking is enabled, return 1 for volatile references to the stack pointer. * tree.c (build_common_builtin_nodes): Do not set ECF_NOTHROW on __builtin_alloca if stack checking is enabled. * unwind-dw2.c (uw_identify_context): Take into account whether the context is that of a signal frame or not. * config/i386/linux.h (STACK_CHECK_MOVING_SP): Define to 1. * config/i386/linux64.h (STACK_CHECK_MOVING_SP): Likewise. From-SVN: r153877
* unwind-dw2.c (execute_stack_op): Fix operand order for DW_OP_le, DW_OP_ge, ↵Jakub Jelinek2009-10-191-6/+6
| | | | | | | | | | | DW_OP_lt and DW_OP_gt. * unwind-dw2.c (execute_stack_op): Fix operand order for DW_OP_le, DW_OP_ge, DW_OP_lt and DW_OP_gt. * gcc.dg/cleanup-13.c: New test. From-SVN: r152989
* re PR c++/41214 (Null pointer dereferenced in _Unwind_SetGR())Dmitry Gorbachev2009-09-071-1/+1
| | | | | | | | | PR c++/41214 * unwind-dw2.c (uw_init_context_1): Mark noinline. * config/ia64/unwind-ia64.c (uw_init_context_1): Likewise. * config/xtensa/unwind-dw2-xtensa.c (uw_init_context_1): Likewise. From-SVN: r151482
* unwind-dw2-fde-darwin.c: Include dwarf2.h.Tom Tromey2009-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | gcc * unwind-dw2-fde-darwin.c: Include dwarf2.h. * config/mmix/mmix.c: Include dwarf2.h. * config/rs6000/darwin-fallback.c: Include dwarf2.h. * config/xtensa/unwind-dw2-xtensa.c: Include dwarf2.h. * config/sh/sh.c: Include dwarf2.h. * config/i386/i386.c: Include dwarf2.h. * Makefile.in (DWARF2_H): Remove 'elf'. * except.c: Include dwarf2.h. * unwind-dw2.c: Include dwarf2.h. * dwarf2out.c: Include dwarf2.h. * unwind-dw2-fde-glibc.c: Include dwarf2.h. * unwind-dw2-fde.c: Include dwarf2.h. * dwarf2asm.c: Include dwarf2.h. gcc/ada * raise-gcc.c: Include dwarf2h (unconditionally). include * elf/dwarf2.h: Remove, renaming to... * dwarf2.h: ... this. From-SVN: r149433
* dwarf2.h: Remove.Tom Tromey2009-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc * dwarf2.h: Remove. * Makefile.in (DWARF2_H): New variable. (except.o): Use it. (dwarf2out.o): Likewise. (dwarf2asm.o): Likewise. * config/i386/t-i386: Use DWARF2_H. * except.c: Include elf/dwarf2.h. * unwind-dw2.c: Include elf/dwarf2.h. * dwarf2out.c: Include elf/dwarf2.h. (dw_loc_descr_struct) <dw_loc_opc>: Now a bitfield. <dtprel>: New field. (dwarf_stack_op_name): Don't handle INTERNAL_DW_OP_tls_addr. (size_of_loc_descr): Likewise. (output_loc_operands_raw): Likewise. (output_loc_operands): Handle new dtprel field. (loc_checksum): Update. (loc_descriptor_from_tree_1) <VAR_DDECL>: Set dtprel field. * unwind-dw2-fde-glibc.c: Include elf/dwarf2.h. * unwind-dw2-fde.c: Include elf/dwarf2.h. * dwarf2asm.c: Include elf/dwarf2.h. * unwind-dw2-fde-darwin.c: Include elf/dwarf2.h. * config/mmix/mmix.c: Include elf/dwarf2.h. * config/rs6000/darwin-fallback.c: Include elf/dwarf2.h. * config/xtensa/unwind-dw2-xtensa.c: Include elf/dwarf2.h. * config/sh/sh.c: Include elf/dwarf2.h. * config/i386/i386.c: Include elf/dwarf2.h. gcc/ada * raise-gcc.c: Include elf/dwarf2.h. include * elf/dwarf2.h: New file. Merged with gdb. From-SVN: r149070
* unwind-dw2.c (_Unwind_DebugHook): New function.Tom Tromey2009-05-271-7/+20
| | | | | | | * unwind-dw2.c (_Unwind_DebugHook): New function. (uw_install_context): Call _Unwind_DebugHook. From-SVN: r147934
* Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.Jakub Jelinek2009-04-091-14/+9
| | | | From-SVN: r145841
* unwind-dw2.h (_Unwind_FrameState): Add REG_UNDEFINED enum value.Jakub Jelinek2009-04-041-6/+23
| | | | | | | | | | | * unwind-dw2.h (_Unwind_FrameState): Add REG_UNDEFINED enum value. * unwind-dw2.c (execute_cfa_program): Set how to REG_UNDEFINED instead of REG_UNSAVED for DW_CFA_undefined. (uw_update_context_1): Handle REG_UNDEFINED the same as REG_UNSAVED. (uw_update_context): If RA column is REG_UNDEFINED, mark it as outermost frame. From-SVN: r145535
* Update Copyright years for files modified in 2008 and/or 2009.Jakub Jelinek2009-02-201-2/+2
| | | | From-SVN: r144324
* dwarf2.h (DW_OP_GNU_encoded_addr): New.Richard Henderson2008-09-241-0/+8
| | | | | | | * dwarf2.h (DW_OP_GNU_encoded_addr): New. * unwind-dw2.c (execute_stack_op): Handle it. From-SVN: r140648
* c-lex.c (c_lex_with_flags, lex_string): Constify.Kaveh R. Ghazi2007-07-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-lex.c (c_lex_with_flags, lex_string): Constify. * c-ppoutput.c (print_line, pp_dir_change): Likewise. * c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise. * cfg.c (bb_copy_original_hash, bb_copy_original_eq): Likewise. * cfgloop.c (loop_exit_hash, loop_exit_eq): Likewise. * ddg.c (compare_sccs): Likewise. * df-scan.c (df_ref_compare, df_mw_compare): Likewise. * dfp.c (decimal_real_from_string, decimal_to_decnumber, decimal_to_binary, decimal_do_compare, decimal_real_to_decimal, decimal_do_fix_trunc, decimal_real_to_integer, decimal_real_to_integer2, decimal_real_maxval): Likewise. * dse.c (const_group_info_t): New. (invariant_group_base_eq, invariant_group_base_hash): Constify. * dwarf2out.c (const_dw_die_ref): New. (decl_die_table_hash, decl_die_table_eq, file_info_cmp): Constify. * tree-browser.c (TB_parent_eq): Likewise. * unwind-dw2-fde.c (__register_frame_info_bases, __deregister_frame_info_bases, fde_unencoded_compare, fde_split, add_fdes, linear_search_fdes, binary_search_unencoded_fdes): Likewise. * unwind-dw2-fde.h (get_cie, next_fde): Likewise. * unwind-dw2.c (uw_frame_state_for): Likewise. * value-prof.c (histogram_hash, histogram_eq): Likewise. * value-prof.h (const_histogram_value): New. From-SVN: r126920
* * unwind-dw2.c (uw_identify_context): Use the CFA, not the IP.Geoffrey Keating2007-05-181-1/+1
| | | | From-SVN: r124837
* * unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.Geoffrey Keating2007-01-251-0/+10
| | | | From-SVN: r121165
* unwind-dw2-fde.c (get_cie_encoding): Replaced _Unwind_Word with _uleb128_t ↵Andreas Krebbel2007-01-241-25/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and _Unwind_SWord with _sleb128_t. 2007-01-24 Andreas Krebbel <krebbel1@de.ibm.com> * unwind-dw2-fde.c (get_cie_encoding): Replaced _Unwind_Word with _uleb128_t and _Unwind_SWord with _sleb128_t. * unwind-dw2.c (extract_cie_info, execute_stack_op, execute_cfa_program, uw_frame_state_for, uw_update_context_1): Likewise. * unwind-c.c (parse_lsda_header, PERSONALITY_FUNCTION): Likewise. * unwind-pe.h (read_uleb128, read_sleb128, read_encoded_value_with_base): Likewise. * unwind-generic.h: Define _sleb128_t and _uleb128_t types. 2007-01-24 Andreas Krebbel <krebbel1@de.ibm.com> * libsupc++/eh_personality.cc (parse_lsda_header, check_exception_spec, get_ttype_entry, empty_exception_spec, PERSONALITY_FUNCTION): Replaced _Unwind_Word with _uleb128_t and _Unwind_SWord with _sleb128_t. 2007-01-24 Andreas Krebbel <krebbel1@de.ibm.com> * exception.cc (parse_lsda_header, PERSONALITY_FUNCTION): Replaced _Unwind_Word with _uleb128_t and _Unwind_SWord with _sleb128_t. From-SVN: r121116
* unwind-dw2.c (SIGNAL_FRAME_BIT, [...]): Define.Jakub Jelinek2007-01-041-9/+41
| | | | | | | | | | | | | | | | | | | | * unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define. (struct _Unwind_Context): Rename args_size to flags, remove signal_frame field, add a new args_size field and version field. (_Unwind_IsSignalFrame, _Unwind_SetSignalFrame, _Unwind_IsExtendedContext): New inline functions. (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): Assume by_value array is only present if _Unwind_IsExtendedContext. (_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use _Unwind_IsSignalFrame. (__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT. (uw_update_context_1): Use _Unwind_SetSignalFrame. (uw_init_context_1): Initialize context->flags to EXTENDED_CONTEXT_BIT. * config/rs6000/linux-unwind.h (frob_update_context): Use _Unwind_SetSignalFrame. From-SVN: r120406
* unwind-dw2.c (uw_init_context_1): Fix test that checks if ↵J"orn Rennecke2006-10-301-1/+1
| | | | | | | | | dwarf_reg_size_table has been initialized. * unwind-dw2.c (uw_init_context_1): Fix test that checks if dwarf_reg_size_table has been initialized. From-SVN: r118188
* unwind-dw2.h: Move cfa-related variables into struct frame_state_reg_info to ↵Nathan Froyd2006-10-261-24/+24
| | | | | | | | | | | | | | | | | | ensure that the... * gcc/unwind-dw2.h: Move cfa-related variables into struct frame_state_reg_info to ensure that the CFA is properly handled when executing DW_CFA_{remember,restore}_state. * gcc/unwind-dw2.c, gcc/config/alpha/linux-unwind.h, gcc/config/alpha/vms-unwind.h, gcc/config/s390/tpf-unwind.h gcc/config/s390/linux-unwind.h, gcc/config/sparc/linux-unwind.h gcc/config/i386/linux-unwind.h, gcc/config/sh/linux-unwind.h gcc/config/rs6000/linux-unwind.h, gcc/config/rs6000/darwin-fallback.c, gcc/config/pa/linux-unwind.h, gcc/config/pa/hpux-unwind.h, gcc/config/mips/linux-unwind.h: Modify to use new cfa_* fields. From-SVN: r118068
* unwind-dw2.c: Add declarations for uw_update_context and uw_frame_state_for.John David Anglin2006-05-171-0/+4
| | | | | | | | | * unwind-dw2.c: Add declarations for uw_update_context and uw_frame_state_for. * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is detected, advance frame state and context once to skip over stub. From-SVN: r113865
* builtins.c, [...]: Fix comment typos.Kazu Hirata2006-03-041-1/+1
| | | | | | | | | | | | | | | | | * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c, combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c, config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c, config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c, df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c, loop-invariant.c, omp-low.c, opts.c, passes.c, rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c, tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c, tree-ssa-structalias.c, tree-ssa-threadedge.c, tree-ssa-threadupdate.c, tree-vect-patterns.c, tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c, unwind-dw2.c: Fix comment typos. Follow spelling conventions. From-SVN: r111721
* unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET and ↵Jakub Jelinek2006-03-041-9/+115
| | | | | | | | | | | | | | | | | | | | | REG_SAVED_VAL_EXP constants. * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP constants. * unwind-dw2.c (struct _Unwind_Context): Add by_value array. (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): Handle regs stored by value. (_Unwind_SetGRValue, _Unwind_GRByValue): New functions. (execute_cfa_program): Handle DW_CFA_val_offset, DW_CFA_val_offset_sf and DW_CFA_val_expression. (uw_update_context_1): Handle REG_SAVED_REG with regs stored by value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP. (uw_install_context_1): Handle target regs stored by value. * gcc.target/i386/cleanup-1.c: New test. * gcc.target/i386/cleanup-2.c: New test. From-SVN: r111705
* re PR other/26208 (Serious problem with unwinding through signal frames)Jakub Jelinek2006-02-271-4/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR other/26208 * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field. (extract_cie_info): Handle S flag in augmentation string. (execute_cfa_program): If context->signal_frame, execute also fs->pc == context->ra instructions. (uw_frame_state_for): If context->signal_frame, don't subtract one from context->ra to find FDE. (uw_update_context_1): Set context->signal_frame to fs->signal_frame. (_Unwind_GetIPInfo): New function. * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field. * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead of _Unwind_GetIP. * unwind-sjlj.c (_Unwind_GetIPInfo): New function. * unwind-generic.h (_Unwind_GetIPInfo): New prototype. * unwind-compat.c (_Unwind_GetIPInfo): New function. * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0. * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function. * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define. * config/i386/linux-unwind.h (x86_fallback_frame_state, x86_64_fallback_frame_state): Set fs->signal_frame. * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise. (MD_FROB_UPDATE_CONTEXT): Define unconditionally. (frob_update_context): Likewise. Workaround missing S flag in Linux 2.6.12 - 2.6.16 kernel vDSOs. * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise. Remove the psw_addr + 1 hack. libjava/ * exception.cc (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead of _Unwind_GetIP. * include/i386-signal.h (MAKE_THROW_FRAME): Change into empty macro. (HANDLE_DIVIDE_OVERFLOW): Don't adjust _res->eip if falling through to throw. * include/x86_64-signal.h (MAKE_THROW_FRAME): Change into empty macro. * include/powerpc-signal.h (MAKE_THROW_FRAME): Change into empty macro. libstdc++-v3/ * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead of _Unwind_GetIP. From-SVN: r111488
* dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int.Richard Henderson2005-11-171-1/+3
| | | | | | | | | | | | | | | | | | | | * dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int. (lookup_cfa_1): Apply data alignment to DW_CFA_def_cfa_offset_sf and DW_CFA_def_cfa_sf. (def_cfa_1): Use DW_CFA_def_cfa_offset_sf with negative values. (dbx_reg_number): Don't assert particular registers here. (based_loc_descr): ... do it here instead. Fold in ... (eliminate_reg_to_offset): ... this function. (compute_frame_pointer_to_cfa_displacement): Fold in the effects of eliminate_reg_to_offset; use FRAME_POINTER_CFA_OFFSET. * unwind-dw2.c (execute_cfa_program): Apply data align factor to DW_CFA_def_cfa_offset_sf and DW_CFA_def_cfa_sf. * function.c (instantiate_new_reg): Use FRAME_POINTER_CFA_OFFSET. (instantiate_virtual_regs): Likewise. * var-tracking.c (adjust_stack_reference): Likewise. * doc/tm.texi (FRAME_POINTER_CFA_OFFSET): New. From-SVN: r107154
* unwind-ia64.c (uw_advance_context): New.Daniel Jacobowitz2005-11-161-0/+6
| | | | | | | | | | | * config/ia64/unwind-ia64.c (uw_advance_context): New. Call uw_update_context. * unwind-dw2.c (uw_advance_context): Likewise. * unwind-sjlj.c (uw_advance_context): Likewise. Also call _Unwind_SjLj_Unregister. * unwind.inc (_Unwind_ForcedUnwind_Phase2): Call uw_advance_context. From-SVN: r107103
* Update FSF address.Kelley Cook2005-06-251-2/+2
| | | | From-SVN: r101317
* unwind-dw2-fde-darwin.c (examine_objects): Fix aliasing in ↵Nathan Sidwell2005-06-141-6/+17
| | | | | | | | | | | | | | read_encoded_value_with_base call. * unwind-dw2-fde-darwin.c (examine_objects): Fix aliasing in read_encoded_value_with_base call. * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise. * unwind-dw2-fde.c (_Unwind_Find_FDE): Likewise. * unwind-dw2.c (extract_cie_info): Fix aliasing in read_encoded_value call. (execute_cfa_program, uw_frame_state_for): Likewise. From-SVN: r100927
* unwind-dw2-fde-glibc.c (base_from_cb_data, [...]): Use gcc_assert and ↵Nathan Sidwell2005-05-171-43/+42
| | | | | | | | | | | | | | | | | | | | | gcc_unreachable as appropriate. * unwind-dw2-fde-glibc.c (base_from_cb_data, _Unwind_IteratePhdrCallback): Use gcc_assert and gcc_unreachable as appropriate. * unwind-dw2-fde.c (__deregister_frame_info_bases, base_from_object, fde_split, end_fde_sort): Likewise. * unwind-dw2.c (_Unwind_GetGR, _Unwind_SetGR, execute_stack_op, execute_cfa_program, _Unwind_SetSpColumn, uw_update_context_1, uw_init_context_1): Likewise. * unwind.inc (_Unwind_RaiseException_Phase2, _Unwind_Resume, _Unwind_Resume_or_Rethrow): Likewise. * unwind-pe.h (__gxx_abort): Do not define. (size_of_encoded_value, base_of_encoded_value, read_encoded_value_with_base): Use gcc_unreachable. * unwind.h (_Unwind_GetTextRelBase): Likewise. From-SVN: r99835
* unwind-dw2.c (execute_stack_op): Add missing cases for DW_OP_shl, DW_OP_shr, ↵Alan Modra2005-01-271-1/+5
| | | | | | | | | DW_OP_shra, DW_OP_xor. * unwind-dw2.c (execute_stack_op): Add missing cases for DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor. From-SVN: r94314
* re PR target/18380 (_Unwind_FindTableEntry shouldn't be exported from ↵H.J. Lu2004-11-091-1/+0
| | | | | | | | | | | | | | libunwind.so.7) 2004-11-09 H.J. Lu <hongjiu.lu@intel.com> PR target/18380 * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it hidden. * unwind-dw2.c (_Unwind_FindTableEntry): Removed. From-SVN: r90387
* bitmap.c, [...]: Update copyright.Kazu Hirata2004-10-151-1/+1
| | | | | | | | | | | | | | | | * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h, collect2.h, conflict.c, coretypes.h, coverage.h, errors.h, gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c, genconstants.c, gengenrtl.c, genmodes.c, genpeep.c, gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c, gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c, lists.c, machmode.def, mips-tdump.c, opts.h, params.c, predict.def, predict.h, protoize.c, reload.h, resource.h, rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c, tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c, value-prof.h: Update copyright. From-SVN: r89097
* unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.Richard Henderson2004-09-301-0/+5
| | | | | | | | | | * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG. * doc/tm.texi (DWARF_ZERO_REG): New. * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue, alpha_expand_epilogue): Revert 2003-09-30 change to store zero. * config/alpha/alpha.h (DWARF_ZERO_REG): New. From-SVN: r88331
* tsystem.h (alloca): Provide a default definition.Kaveh R. Ghazi2004-09-201-1/+1
| | | | | | | | | | * tsystem.h (alloca): Provide a default definition. Revert: 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * unwind-dw2.c: Call __builtin_alloca, not alloca. From-SVN: r87775
* tm.texi (MD_UNWIND_SUPPORT): Document.Alan Modra2004-09-081-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/tm.texi (MD_UNWIND_SUPPORT): Document. (MD_FALLBACK_FRAME_STATE_FOR): Update. * unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined. (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation. (MD_FROB_UPDATE_CONTEXT): Remove default. (uw_update_context_1): Instead #ifdef invocation. * config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined. (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation. * config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef. (MD_UNWIND_SUPPORT): Undefine this instead. * config/i386/gnu.h: Likewise. * config/alpha/linux-unwind.h: New file, macro converted to function, extracted from.. * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this. (MD_UNWIND_SUPPORT): Define. * config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise. * config/i386/linux-unwind.h, config/i386/linux.h, config/i386/linux64.h: Likewise. * config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise. MD_HANDLE_UNWABI too. * config/mips/linux-unwind.h, config/mips/linux.h: Likewise. * config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise. * config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise. * config/s390/linux-unwind.h, config/s390/linux.h: Likewise. * config/sparc/linux-unwind.h, config/sparc/linux.h, config/sparc/linux64.h: Likewise. * config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state. * config/rs6000/linux-unwind.h, config/rs6000/linux.h, config/rs6000/linux64.h: Likewise. Split out get_sigcontext function. Use ARG_POINTER_REGNUM for 32-bit temp reg too. From-SVN: r87167
* re PR target/14925 (libunwind enabled gcc generates incompatible libgcc_s.so.1)H.J. Lu2004-09-031-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-09-03 H.J. Lu <hongjiu.lu@intel.com> PR target/14925: Makefile.in (LIB2ADDEHSTATIC): New. (LIB2ADDEHSHARED): New. (LIBUNWIND): New. (LIBUNWINDDEP): New. (SHLIBUNWIND_LINK): New. (SHLIBUNWIND_INSTALL): New. (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND, LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL. (clean): Remove libunwind* (stage1-start): Remove and copy stage1/libunwind*. (stage2-start): Remove and copy stage2/libunwind*. (stage3-start): Remove and copy stage3/libunwind*. (stage4-start): Remove and copy stage4/libunwind*. (stageprofile-start): Remove and copy stageprofile/libunwind*. (stagefeedback-start): Remove and copy stagefeedback/libunwind*. * config.gcc (ia64*-*-linux*): Always add t-libunwind to tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to tmake_file if --with-system-libunwind isn't used. * config/ia64/t-glibc-libunwind: New file. * config/t-libunwind-elf: Likewise. * unwind-compat.c: Likewise. * unwind-compat.h: Likewise. * unwind-dw2-fde-compat.c: Likewise. * config/ia64/t-glibc (LIB2ADDEH): Updated. * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS. * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define aliases if needed. * unwind-dw2-fde-glibc.c: Likewise. * unwind-dw2.c: Likewise. * config/t-libunwind (LIB2ADDEH): Updated. (LIB2ADDEHSTATIC): New. (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS. (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER. * configure.ac: Change --enable-libunwind-exceptions to --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS. * configure: Regenerated. * config.in: Updated. * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or above and mention --with-system-libunwind. (ia64-*-hpux*): Mention --enable-libunwind-exceptions is removed in gcc 3.4.3 and later. * gcc.c (init_spec): Add -lunwind to -lgcc_s if USE_LIBUNWIND_EXCEPTIONS is defined. * mklibgcc.in: Support libunwind. From-SVN: r87066
* unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen to eliminate ↵Ulrich Weigand2004-08-191-1/+1
| | | | | | | | | | | | | | | warning. * unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen to eliminate warning. (linear_search_fdes): Declare p as unsigned. (binary_search_mixed_encoding_fdes): Likewise. * unwind-dw2.c (get_cie_encoding): Cast argument to strlen to eliminate warning. * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing type cast. From-SVN: r86280
* unwind-dw2.c (uw_install_context_1): Update target saved stack pointer.Paul Brook2004-08-091-16/+19
| | | | | | | | | * unwind-dw2.c (uw_install_context_1): Update target saved stack pointer. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r85723
* Index: gcc/ChangeLogGeoffrey Keating2004-07-011-59/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-06-28 Geoffrey Keating <geoffk@apple.com> Andreas Tobler <a.tobler@schweiz.ch> PR 15813 * dwarf2out.c (reg_save): Output DW_CFA_same_value when a register is saved in itself. (initial_return_save): If the return address is a register, it's already there, don't bother to mention it in the CFI. (struct queued_reg_save): Add field saved_reg. (struct reg_saved_in_data): New. (regs_saved_in_regs): New. (num_regs_saved_in_regs): New. (queue_reg_save): Add extra parameter to specify register saved in register. Remove duplicate entries from queue. Add comment for function. (flush_queued_reg_saves): Handle registers saved in registers. Update regs_saved_in_regs. Add comment for function. (clobbers_queued_reg_save): Add comment for function. Allow for regs_saved_in_regs. (reg_saved_in): New. (dwarf2out_frame_debug_expr): Handle saving registers in other registers. (dwarf2out_frame_debug): Reset regs_saved_in_regs. * unwind-dw2.c (execute_cfa_program): Correct handling of DW_CFA_same_value. Add FIXME comment about incorrect implementation of DW_CFA_restore_extended. * config/rs6000/rs6000.c (rs6000_emit_prologue): Let dwarf2out_frame_debug_expr see instructions that save registers in other registers or save those other registers in memory. * unwind-dw2.c (DWARF_FRAME_REGISTERS): Move to unwind-dw2.h. (_Unwind_FrameState): Likewise. * unwind-dw2.h: New. * Makefile.in (LIB2ADDEHDEP): Add unwind-dw2.h. * config/rs6000/darwin-fallback.c: New file. * config/rs6000/darwin.h (MD_FALLBACK_FRAME_STATE_FOR): Define. * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add darwin-fallback.o. Index: gcc/testsuite/ChangeLog 2004-06-26 Geoffrey Keating <geoffk@apple.com> Andreas Tobler <a.tobler@schweiz.ch> * gcc.dg/cleanup-10.c: Run on all Linux platforms and powerpc-darwin. Use SA_RESETHAND rather than SA_ONESHOT. Trap SIGBUS as well as SIGSEGV. * gcc.dg/cleanup-11.c: Likewise. * gcc.dg/cleanup-8.c: Likewise. * gcc.dg/cleanup-9.c: Likewise. * gcc.dg/cleanup-5.c: Run on all platforms. Index: libjava/ChangeLog 2004-06-26 Geoffrey Keating <geoffk@apple.com> Andreas Tobler <a.tobler@schweiz.ch> * configure.host (powerpc-*-darwin*): New case, define can_unwind_signal. * configure.in (*-*-darwin*): New case, point to darwin-signal.h. * configure: Regenerate. * include/darwin-signal.h: New. Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch> From-SVN: r83953
* unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format.Paul Brook2004-05-201-2/+5
| | | | | | | | * unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format. * unwind-dw2.c (extract_cie_info): Ditto. (_Unwind_FrameState): Change retaddr_column to word type. From-SVN: r82072
* unwind-dw2.c (_Unwind_FrameState): Remove commas at end of enumeration list.Andreas Jaeger2003-11-011-2/+2
| | | | | | | * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of enumeration list. From-SVN: r73180
* unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.Andreas Jaeger2003-11-011-4/+4
| | | | | | | | | | | | | * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable. (uw_frame_state_for): Constify variables. (extract_cie_info): Constify first argument. * unwind-dw2-fde-darwin.c: Adjust prototype of _Unwind_Find_registered_FDE for recent changes. (examine_objects): Constify return value and local variable result. (_Unwind_Find_FDE): Constify return value and local variable ret. From-SVN: r73172
* irix6-libc-compat.c (inet_makeaddr): Prototype.Kaveh R. Ghazi2003-10-281-0/+3
| | | | | | | | | | | * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype. * crtstuff.c (__do_global_ctors_1): Move prototype. * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when appropriate. * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction): Mark parameter with __attribute__((unused)). From-SVN: r72999
* unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned comparison.Andreas Jaeger2003-10-261-2/+2
| | | | | | | | * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned comparison. (_Unwind_SetGR): Likewise. From-SVN: r72960
* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor ↵Richard Henderson2003-09-301-1/+8
| | | | | | | | | | | | | | | | | | | | DWARF_ALT_FRAME_RETURN_COLUMN. * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor DWARF_ALT_FRAME_RETURN_COLUMN. * unwind-dw2.c (dwarf_reg_size_table): Expand by one. (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column. (uw_frame_state_for): Return end-of-stack for null return address. * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add. * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return. (alpha_expand_prologue): Store a zero for it. (alpha_expand_epilogue): Don't reload it. * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New. * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64 for the sigframe return address. From-SVN: r71967
* unwind-c.c: Add libgcc-style exception.Daniel Jacobowitz2003-08-191-0/+9
| | | | | | | | | | * unwind-c.c: Add libgcc-style exception. * unwind-dw2.c: Likewise. * unwind-pe.h: Likewise. * unwind-sjlj.c: Likewise. * unwind.inc: Likewise. From-SVN: r70576
* unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.Jakub Jelinek2003-07-161-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define. (uw_update_context_1): Use it. * config/rs6000/rs6000.c (insn_after_throw): Remove. (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location in parent frame if _Unwind_* called directly instead of through .plt. (rs6000_emit_eh_toc_restore): Remove. (rs6000_emit_prologue): Update stack pointer before doing any saving if current_function_calls_eh_return. Generate unwind info for $r2. (rs6000_emit_epilogue): Restore stack pointer after doing all restoring if current_function_calls_eh_return. Restore $r2. * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove. * config/rs6000/rs6000.md (eh_return): Remove call to rs6000_emit_eh_toc_restore. * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define. * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define. * gcc.dg/cleanup-8.c: New test. * gcc.dg/cleanup-9.c: New test. From-SVN: r69450
* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): If ↵J"orn Rennecke2003-07-151-32/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode. 2003-07-15 J"orn Rennecke <joern.rennecke@superh.com> * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode. 2003-07-15 J"orn Rennecke <joern.rennecke@superh.com> Richard Henderson <rth@redhat.com> * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table to decide if to access a _Unwind_Ptr or a _Unwind_Word. (_Unwind_SetGR): Likewise. (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions. (Unwind_SpTmp): New typedef. (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr. (uw_update_context): Use _Unwind_GetPtr. (init_dwarf_reg_size_table): Move above uw_init_context_1. (uw_init_context_1): Initialize dwarf_reg_size_table if necessary. Use _Unwind_SetSpColumn. (uw_install_context_1): Don't initialize dwarf_reg_size_table. Use _Unwind_GetPtr. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r69424