1. 22 Sep, 2009 40 commits
    • install.texi (*-*-freebsd*): Update target information. · 27ed7478
      2009-09-22  Loren J. Rittle  <ljrittle@acm.org>
      
      	* doc/install.texi (*-*-freebsd*): Update target information.
      
      From-SVN: r152028
      Loren J. Rittle committed
    • unwind-dw2-fde-glibc.c: Define and use USE_PT_GNU_EH_FRAME. · 2208d2ac
      2009-09-22  Loren J. Rittle  <ljrittle@acm.org>
      
      	* unwind-dw2-fde-glibc.c: Define and use USE_PT_GNU_EH_FRAME.
      	Enable a new case for __FreeBSD__ >= 7.
      	* crtstuff.c:  Define USE_PT_GNU_EH_FRAME for __FreeBSD__ >= 7.
      	* config/t-freebsd: Define LIB2ADDEH and LIB2ADDEHDEP.
      	* config/freebsd-spec.h: Conditionally define LINK_EH_SPEC
      	and USE_LD_AS_NEEDED.
      
      From-SVN: r152027
      Loren J. Rittle committed
    • re PR libmudflap/41433 (security: mudflap accepts environment variables if setuid) · 5d0001f0
      2009-09-22  Frank Ch. Eigler  <fche@redhat.com>
      
      	PR libmudflap/41433
      	* mf-runtime.c (__mf_init): Ignore $MUDFLAP_OPTIONS if
      	running setuid or setgid.
      
      From-SVN: r152026
      Frank Ch. Eigler committed
    • m68k.c (TARGET_TRAMPOLINE_INIT): New. · e0601576
              * config/m68k/m68k.c (TARGET_TRAMPOLINE_INIT): New.
              (m68k_output_mi_thunk): Don't use static_chain_rtx.
              (m68k_trampoline_init): New.
              * config/m68k/m68k.h (INITIALIZE_TRAMPOLINE): Move code to
              m68k_trampoline_init and adjust for hook parameters.
              * config/m68k/netbsd-elf.h (TRAMPOLINE_TEMPLATE): Remove.
              (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Remove.
      
      From-SVN: r152021
      Richard Henderson committed
    • re PR target/41246 (should "sorry" when regparm=3 and nested functions are encountered) · 3452586b
      	PR target/41246
      	* config/i386/i386.c (ix86_function_regparm): Do not issue an
      	error for nested functions with regparm=3.
      	(ix86_compute_frame_layout): Adjust frame pointer offset for
      	ix86_static_chain_on_stack.
      	(ix86_expand_prologue): Handle ix86_static_chain_on_stack.
      	(ix86_emit_restore_reg_using_pop): Increment ix86_cfa_state->offset,
      	don't reset to UNITS_PER_WORD.
      	(ix86_emit_leave): Adjust ix86_cfa_state.
      	(ix86_expand_epilogue): Handle ix86_static_chain_on_stack.
      	(ix86_static_chain): New.
      	(ix86_trampoline_init): Rename from x86_initialize_trampoline;
      	make static; update for target hook parameters; use ix86_static_chain.
      	(TARGET_STATIC_CHAIN, TARGET_TRAMPOLINE_INIT): New.
      	* config/i386/i386.h (STATIC_CHAIN_REGNUM): Remove.
      	(INITIALIZE_TRAMPOLINE): Remove.
      	(TRAMPOLINE_SIZE): Use 24 for 64-bit.
      	(struct machine_function): Use BOOL_BITFIELD; rearrange bitfields
      	to the end.  Add static_chain_on_stack.
      	(ix86_static_chain_on_stack): New.
      
      From-SVN: r152018
      Richard Henderson committed
    • xtensa.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. · 3c1229cb
              * config/xtensa/xtensa.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
              (TARGET_TRAMPOLINE_INIT): New.
              (xtensa_asm_trampoline_template): Rename from
              xtensa_trampoline_template; make static.
              (xtensa_trampoline_init): Rename from xtensa_initialize_trampoline;
              make static; update for hook parameters.
              * config/xtensa/xtensa-protos.h: Remove trampoline decls.
              * config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Remove.
              (INITIALIZE_TRAMPOLINE): Remove.
      
      From-SVN: r152017
      Richard Henderson committed
    • vax.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. · 3814318d
              * config/vax/vax.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
              (TARGET_TRAMPOLINE_INIT): New.
              (vax_asm_trampoline_template, vax_trampoline_init): New.
              * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Move code to
              vax_asm_trampoline_template.
              (INITIALIZE_TRAMPOLINE): Move code to vax_trampoline_init.
      
      From-SVN: r152016
      Richard Henderson committed
    • v850.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. · e0c6c273
              * config/v850/v850.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
              (TARGET_TRAMPOLINE_INIT): New.
              (v850_can_eliminate): Make static.
              (v850_asm_trampoline_template, v850_trampoline_init): New.
              * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Move code to
              v850_asm_trampoline_template.
              (INITIALIZE_TRAMPOLINE): Move code to v850_trampoline_init
              and adjust for target hook parameters.
      
      From-SVN: r152015
      Richard Henderson committed
    • stormy16.c (xstormy16_trampoline_init): Rename from xstormy16_initialize_trampoline... · fb8d0fac
              * config/stormy16/stormy16.c (xstormy16_trampoline_init): Rename
              from xstormy16_initialize_trampoline; make static; update for
              hook parameters.
              (TARGET_TRAMPOLINE_INIT): New.
              * config/stormy16/stormy16.h (INITIALIZE_TRAMPOLINE): Remove.
      
      From-SVN: r152014
      Richard Henderson committed
    • spu.c (TARGET_TRAMPOLINE_INIT): New. · a85b4c91
              * config/spu/spu.c (TARGET_TRAMPOLINE_INIT): New.
              (array_to_constant): Make ARR parameter const.
              (spu_trampoline_init): Rename from spu_initialize_trampoline;
              make static; update for hook parameters.
              * config/spu/spu-protos.h: Update decls.
              * config/spu/spu.h (INITIALIZE_TRAMPOLINE): Remove.
      
      From-SVN: r152013
      Richard Henderson committed
    • sparc.c (TARGET_TRAMPOLINE_INIT): New. · 809e78cc
              * config/sparc/sparc.c (TARGET_TRAMPOLINE_INIT): New.
              (sparc32_initialize_trampoline): Rename from
              sparc_initialize_trampoline; make static; replace tramp parameter
              with m_tramp and update memory accesses.
              (sparc64_initialize_trampoline): Similarly.
              (sparc_trampoline_init): New.
              * config/sparc/sparc-protos.h: Remove trampoline decls.
              * config/sparc/sparc.h (INITIALIZE_TRAMPOLINE): Remove.
              * config/sparc/sparc.md (nonlocal_goto): Don't use static_chain_rtx.
      
      From-SVN: r152012
      Richard Henderson committed
    • sh-protos.h (sh_initialize_trampoline): Remove. · 994322ef
              * config/sh/sh-protos.h (sh_initialize_trampoline): Remove.
              * config/sh/sh.c (TARGET_TRAMPOLINE_INIT): New.
              (TARGET_TRAMPOLINE_ADJUST_ADDRESS): New.
              (sh_trampoline_init): Rename from sh_initialize_trampoline;
              make static; adjust for target hook parameters.
              (sh_trampoline_adjust_address): New.
              * config/sh/sh.h (INITIALIZE_TRAMPOLINE): New.
              (TRAMPOLINE_ADJUST_ADDRESS): Move code to sh_trampoline_adjust_address.
      
      From-SVN: r152011
      Richard Henderson committed
    • score-protos.h (score_initialize_trampoline): Remove. · 2f5bb28c
              * config/score/score-protos.h (score_initialize_trampoline): Remove.
              * config/score/score.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
              (TARGET_TRAMPOLINE_INIT): New.
              (score_asm_trampoline_template): New.
              (score_trampoline_init): Rename from score_initialize_trampoline;
              make static; adjust for hook parameters.
              * config/score/score.h (TRAMPOLINE_TEMPLATE): Move code to
              score[37]_asm_trampoline_template.
              (INITIALIZE_TRAMPOLINE): Remove.
              * config/score/score3.c (score3_asm_trampoline_template): New.
              (score3_trampoline_init): Rename from score3_initialize_trampoline;
              adjust for target hook.
              * config/score/score7.c (score7_asm_trampoline_template): New.
              (score7_trampoline_init): Rename from score7_initialize_trampoline;
              adjust for target hook.
              * config/score/score3.h, config/score/score7.h: Update.
      
      From-SVN: r152010
      Richard Henderson committed
    • s390.c (s390_asm_trampoline_template): Rename from s390_trampoline_template; make static. · b81ecf6f
              * config/s390/s390.c (s390_asm_trampoline_template): Rename from
              s390_trampoline_template; make static.
              (s390_trampoline_init): Rename from s390_initialize_trampoline;
              make static; adjust for target hook.
              (TARGET_ASM_TRAMPOLINE_TEMPLATE, TARGET_TRAMPOLINE_INIT): New.
              * config/s390/s390-protos.h: Remove trampoline decls.
              * config/s390/s390.h (INITIALIZE_TRAMPOLINE): Remove.
              (TRAMPOLINE_TEMPLATE): Remove.
              (TRAMPOLINE_ALIGNMENT): New.
      
      From-SVN: r152009
      Richard Henderson committed
    • rs6000-protos.h (rs6000_initialize_trampoline): Remove. · 44d43e53
              * config/rs6000/rs6000-protos.h (rs6000_initialize_trampoline): Remove.
              * config/rs6000/rs6000.c (TARGET_TRAMPOLINE_INIT): New.
              (rs6000_trampoline_init): Rename from rs6000_initialize_trampoline;
              make static; adjust parameters for the hook.
              * config/rs6000/rs6000.h (INITIALIZE_TRAMPOLINE): Remove.
      
      From-SVN: r152008
      Richard Henderson committed
    • pdp11.c (pdp11_trampoline_init): New. · 8dd65c37
              * config/pdp11/pdp11.c (pdp11_trampoline_init): New.
              (TARGET_TRAMPOLINE_INIT): New.
              * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Remove.
              (INITIALIZE_TRAMPOLINE): Move code to pdp11_trampoline_init.
      
      From-SVN: r152006
      Richard Henderson committed
    • pa.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, [...]): New. · 859c146c
              * gcc/config/pa/pa.c (TARGET_ASM_TRAMPOLINE_TEMPLATE,
              pa_asm_trampoline_template, TARGET_TRAMPOLINE_INIT,
              pa_trampoline_init, TARGET_TRAMPOLINE_ADJUST_ADDRESS,
              pa_trampoline_adjust_address): New.
              * config/pa/pa.h (TRAMPOLINE_TEMPLATE): Move code to
              pa_asm_trampoline_template.
              (TRAMPOLINE_ALIGNMENT): New.
              (TRAMPOLINE_CODE_SIZE): Move to pa.c.
              (INITIALIZE_TRAMPOLINE): Move code to pa_trampoline_init;
              adjust for hook parameters.
              (TRAMPOLINE_ADJUST_ADDRESS): Move code to pa_trampoline_adjust_address.
      
      From-SVN: r152005
      Richard Henderson committed
    • moxie.c (moxie_static_chain, [...]): New. · 4601494d
              * config/moxie/moxie.c (moxie_static_chain,
              moxie_asm_trampoline_template, moxie_trampoline_init,
              TARGET_STATIC_CHAIN, TARGET_ASM_TRAMPOLINE_TEMPLATE,
              TARGET_TRAMPOLINE_INIT): New.
              * config/moxie/moxie.h (INITIALIZE_TRAMPOLINE): Move code to
              moxie_trampoline_init.
              (TRAMPOLINE_TEMPLATE): Move code to moxie_asm_trampoline_template.
              (STATIC_CHAIN, STATIC_CHAIN_INCOMING): Remove.
      
      From-SVN: r152004
      Richard Henderson committed
    • mn10300.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, [...]): New. · bdeb5f0c
              * config/mn10300/mn10300.c (TARGET_ASM_TRAMPOLINE_TEMPLATE,
              mn10300_asm_trampoline_template, TARGET_TRAMPOLINE_INIT,
              mn10300_trampoline_init): New.
              * config/mn10300/mn10300.h (TRAMPOLINE_TEMPLATE): Move code to
              mn10300_asm_trampoline_template.
              (INITIALIZE_TRAMPOLINE): Move code to mn10300_trampoline_init.
      
      From-SVN: r152003
      Richard Henderson committed
    • mmix.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. · dbbdb385
              * gcc/config/mmix/mmix.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
              (TARGET_TRAMPOLINE_INIT): New.
              (mmix_trampoline_size): Remove.
              (mmix_asm_trampoline_template): Rename from mmix_trampoline_template;
              make static.  Remove out-of-date tetra vs octa comment.
              (mmix_trampoline_init): Rename from mmix_initialize_trampoline;
              make static; update for hook parameters.
              * config/mmix/mmix.h (TRAMPOLINE_TEMPLATE): Remove.
              (INITIALIZE_TRAMPOLINE): Remove.
              (TRAMPOLINE_SIZE): Use a constant instead of mmix_trampoline_size.
              (TRAMPOLINE_ALIGNMENT): New.
              * gcc/config/mmix/mmix-protos.h: Update.
      
      From-SVN: r152002
      Richard Henderson committed
    • mips.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, [...]): New. · a1d29c8c
              * config/mips/mips.c (TARGET_ASM_TRAMPOLINE_TEMPLATE,
              mips_asm_trampoline_template, TARGET_TRAMPOLINE_INIT,
              mips_trampoline_init): New.
              * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Move code to
              mips_asm_trampoline_template.
              (INITIALIZE_TRAMPOLINE): Move code to mips_trampoline_init;
              update for hook parameters.
      
      From-SVN: r152001
      Richard Henderson committed
    • mep.h (INITIALIZE_TRAMPOLINE): Remove. · 87138d8d
      	* config/mep/mep.h (INITIALIZE_TRAMPOLINE): Remove.
      	* config/mep/mep.c (TARGET_TRAMPOLINE_INIT): New.
      	(mep_trampoline_init): Rename from mep_init_trampoline; make static;
      	update for hook parameters.
      	* config/mep/mep-protos.h (mep_init_trampoline): Remove.
      
      From-SVN: r152000
      Richard Henderson committed
    • mcore.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. · 71e0af3c
              * config/mcore/mcore.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
              (TARGET_TRAMPOLINE_INIT): New.
              (mcore_function_value): Fix typo.
              (mcore_asm_trampoline_template, mcore_trampoline_init): New.
              * config/mcore/mcore.h (TRAMPOLINE_TEMPLATE): Move code
              to mcore_asm_trampoline_template.
              (INITIALIZE_TRAMPOLINE): Move code to mcore_trampoline_init.
      
      From-SVN: r151999
      Richard Henderson committed
    • m68hc11.c (TARGET_TRAMPOLINE_INIT): New. · 0d7e5af1
      	* config/m68hc11/m68hc11.c (TARGET_TRAMPOLINE_INIT): New.
      	(m68hc11_trampoline_init): Rename from m68hc11_initialize_trampoline;
      	make static; update for hook parameters.
      	* config/m68hc11/m68hc11-protos.h: Update.
      	* config/m68hc11/m68hc11.h (INITIALIZE_TRAMPOLINE): Remove.
      
      From-SVN: r151998
      Richard Henderson committed
    • m32r.c (TARGET_TRAMPOLINE_INIT): New. · 1548bf05
              * config/m32r/m32r.c (TARGET_TRAMPOLINE_INIT): New.
              (m32r_trampoline_init): New.
              * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Move code to
              m32r_trampoline_init.
      
      From-SVN: r151997
      Richard Henderson committed
    • m32c-protos.h (m32c_initialize_trampoline): Remove. · 229fbccb
      	* config/m32c/m32c-protos.h (m32c_initialize_trampoline): Remove.
      	* config/m32c/m32c.c (TARGET_TRAMPOLINE_INIT): New.
      	(m32c_trampoline_init): Rename from m32c_initialize_trampoline;
      	adjust for hook parameters.
      	* config/m32c/m32c.h (INITIALIZE_TRAMPOLINE): Remove.
      
      From-SVN: r151996
      Richard Henderson committed
    • iq2000.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. · f4a33d37
      	* config/iq2000/iq2000.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
      	(TARGET_TRAMPOLINE_INIT): New.
      	(iq2000_asm_trampoline_template, iq2000_trampoline_init): New.
      	* config/iq2000/iq2000.h (TRAMPOLINE_TEMPLATE): Move code to
      	iq2000_asm_trampoline_template.
      	(INITIALIZE_TRAMPOLINE): Move code to iq2000_trampoline_init.
      	(TRAMPOLINE_CODE_SIZE): New.
      	(TRAMPOLINE_SIZE): Use it.
      	(TRAMPOLINE_ALIGNMENT): Follow Pmode.
      
      From-SVN: r151995
      Richard Henderson committed
    • ia64-protos.h (ia64_initialize_trampoline): Remove. · 2a1211e5
              * config/ia64/ia64-protos.h (ia64_initialize_trampoline): Remove.
              * config/ia64/ia64.c (TARGET_TRAMPOLINE_INIT): New.
              (ia64_trampoline_init): Rename from ia64_initialize_trampoline;
              make static; adjust for hook parameters.
              * config/ia64/ia64.h (INITIALIZE_TRAMPOLINE): Remove.
      
      From-SVN: r151994
      Richard Henderson committed
    • h8300.c (h8300_trampoline_init): New. · 9f6ef043
      	* config/h8300/h8300.c (h8300_trampoline_init): New.
      	(TARGET_TRAMPOLINE_INIT): New.
      	* config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Move code
      	to h8300_trampoline_init and adjust for hook parameters.
      
      From-SVN: r151993
      Richard Henderson committed
    • frv.c (TARGET_TRAMPOLINE_INIT): New. · e9d5fdb2
      	* config/frv/frv.c (TARGET_TRAMPOLINE_INIT): New.
      	(frv_trampoline_init): Rename from frv_initialize_trampoline;
      	make static, adjust arguments for TARGET_TRAMPOLINE_INIT hook.
      	* config/frv/frv.h (INITIALIZE_TRAMPOLINE): Remove.
      	* config/frv/frv-protos.h (frv_initialize_trampoline): Remove.
      
      From-SVN: r151992
      Richard Henderson committed
    • fr30.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, [...]): New. · 98689f5e
      	* config/fr30/fr30.c (TARGET_ASM_TRAMPOLINE_TEMPLATE,
      	TARGET_TRAMPOLINE_INIT, fr30_asm_trampoline_template,
      	fr30_trampoline_init): New.
      	* config/fr30/fr30.h (TRAMPOLINE_TEMPLATE): Move code to
      	fr30_asm_trampoline_template.
      	(INITIALIZE_TRAMPOLINE): Move code to fr30_trampoline_init;
      	adjust for target hook parameters.
      
      From-SVN: r151991
      Richard Henderson committed
    • * config/crx/crx.h (INITIALIZE_TRAMPOLINE): Remove. · 956c97fc
      From-SVN: r151990
      Richard Henderson committed
    • cris.c (TARGET_ASM_TRAMPOLINE_TEMPLATE, [...]): New. · 3e322b77
      	* config/cris/cris.c (TARGET_ASM_TRAMPOLINE_TEMPLATE,
      	TARGET_TRAMPOLINE_INIT, cris_asm_trampoline_template,
      	cris_trampoline_init): New.
      	* config/cris/cris.h (TRAMPOLINE_TEMPLATE): Move code to
      	cris_asm_trampoline_template.
      	(INITIALIZE_TRAMPOLINE): Move code to cris_trampoline_init;
      	adjust for target hook parameters.
      
      From-SVN: r151989
      Richard Henderson committed
    • bfin-protos.h (initialize_trampoline): Remove. · 92910d77
      	* config/bfin/bfin-protos.h (initialize_trampoline): Remove.
      	* config/bfin/bfin.c (bfin_asm_trampoline_template): New.
      	(bfin_trampoline_init): Rename from initialize_trampoline;
      	make static; update for target hook parameters.
      	(TARGET_ASM_TRAMPOLINE_TEMPLATE, TARGET_TRAMPOLINE_INIT): New.
      	* config/bfin/bfin.h (TRAMPOLINE_TEMPLATE): Move code to
      	bfin_asm_trampoline_template.
      	(INITIALIZE_TRAMPOLINE): Remove.
      
      From-SVN: r151988
      Richard Henderson committed
    • arm.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New. · 0ef9304b
              * config/arm/arm.c (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
              (TARGET_TRAMPOLINE_INIT, TARGET_TRAMPOLINE_ADJUST_ADDRESS): New.
              (arm_asm_trampoline_template): New.
              (arm_trampoline_init, arm_trampoline_adjust_address): New.
              * config/arm/arm.h (TRAMPOLINE_TEMPLATE,
              * ARM_TRAMPOLINE_TEMPLATE,
              THUMB2_TRAMPOLINE_TEMPLATE, THUMB1_TRAMPOLINE_TEMPLATE): Move all
              code to arm_asm_trampoline_template.
              (TRAMPOLINE_ADJUST_ADDRESS): Move code to
              arm_trampoline_adjust_address.
              (INITIALIZE_TRAMPOLINE): Move code to arm_trampoline_init;
              adjust for target hook parameters.
      
      From-SVN: r151986
      Richard Henderson committed
    • arc.h (TRAMPOLINE_ALIGNMENT): New. · 672f0baa
      	* config/arc/arc.h (TRAMPOLINE_ALIGNMENT): New.
      	(TRAMPOLINE_TEMPLATE): Merge with ...
      	(INITIALIZE_TRAMPOLINE): ... this and move ...
      	* config/arc/arc.c (arc_trampoline_init): ... here.
      	(TARGET_TRAMPOLINE_INIT): New.
      
      From-SVN: r151985
      Richard Henderson committed
    • alpha.c (alpha_trampoline_init): Rename from alpha_initialize_trampoline. · 2d7b663a
              * config/alpha/alpha.c (alpha_trampoline_init): Rename from
              alpha_initialize_trampoline.  Make static.  Merge VMS parameter
              differences into the TARGET_ABI_OPEN_VMS code block.
              (TARGET_TRAMPOLINE_INIT): New.
              * config/alpha/alpha.h (TRAMPOLINE_TEMPLATE): Remove.
              (TRAMPOLINE_SECTION, INITIALIZE_TRAMPOLINE): Remove.
              * config/alpha/vms.h (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT):
              * Remove.
              (INITIALIZE_TRAMPOLINE): Remove.
      
      From-SVN: r151984
      Richard Henderson committed
    • re PR target/41246 (should "sorry" when regparm=3 and nested functions are encountered) · 531ca746
      	PR target/41246
      	* target.h (struct gcc_target): Add asm_out.trampoline_template,
      	calls.static_chain, calls.trampoline_init,
      	calls.trampoline_adjust_address.
      	* target-def.h (TARGET_ASM_TRAMPOLINE_TEMPLATE): New.
      	(TARGET_STATIC_CHAIN, TARGET_TRAMPOLINE_INIT): New.
      	(TARGET_TRAMPOLINE_ADJUST_ADDRESS): New.
      	* builtins.c (expand_builtin_setjmp_receiver): Use
      	targetm.calls.static_chain; only clobber registers.
      	(expand_builtin_init_trampoline): Use targetm.calls.trampoline_init;
      	set up memory attributes properly for the trampoline block.
      	(expand_builtin_adjust_trampoline): Use
      	targetm.calls.trampoline_adjust_address.
      	* calls.c (prepare_call_address): Add fndecl argument.  Use
      	targetm.calls.static_chain.
      	* df-scan.c (df_need_static_chain_reg): Remove.
      	(df_get_entry_block_def_set): Use targetm.calls.static_chain;
      	consolodate static chain handling.
      	* doc/tm.texi: Document new hooks.
      	* emit-rtl.c (static_chain_rtx, static_chain_incoming_rtx): Remove.
      	(init_emit_regs): Don't initialize them.
      	* expr.h (prepare_call_address): Update decl.
      	* final.c (profile_function): Use targetm.calls.static_chain.
      	* function.c (expand_function_start): Likewise.
      	* rtl.h (static_chain_rtx, static_chain_incoming_rtx): Remove.
      	* stmt.c (expand_nl_goto_receiver): Use targetm.calls.static_chain;
      	only clobber registers.
      	* targhooks.c (default_static_chain): New.
      	(default_asm_trampoline_template, default_trampoline_init): New.
      	(default_trampoline_adjust_address): New.
      	* targhooks.h: Declare them.
      	* varasm.c (assemble_trampoline_template): Use
      	targetm.asm_out.trampoline_template.  Make the memory block const
      	and set its size.
      
      From-SVN: r151983
      Richard Henderson committed