bpabi.h (ARM_FUNCTION_PROFILER): Define new EABI compatible profiler (__gnu_mcount_nc).

2008-10-08  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/bpabi.h (ARM_FUNCTION_PROFILER): Define new EABI
	compatible profiler (__gnu_mcount_nc).
	(SUBTARGET_FRAME_POINTER_REQUIRED): Define.

From-SVN: r140974
This commit is contained in:
Paul Brook 2008-10-08 13:38:15 +00:00 committed by Paul Brook
parent 54723b4623
commit a7e8c6529f
2 changed files with 23 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2008-10-08 Paul Brook <paul@codesourcery.com>
* config/arm/bpabi.h (ARM_FUNCTION_PROFILER): Define new EABI
compatible profiler (__gnu_mcount_nc).
(SUBTARGET_FRAME_POINTER_REQUIRED): Define.
2008-10-08 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (initial_ix86_tune_features): Add

View File

@ -147,3 +147,20 @@
#undef FINI_SECTION_ASM_OP
#define INIT_ARRAY_SECTION_ASM_OP ARM_EABI_CTORS_SECTION_OP
#define FINI_ARRAY_SECTION_ASM_OP ARM_EABI_DTORS_SECTION_OP
/* The legacy _mcount implementation assumes r11 points to a
4-word APCS frame. This is generally not true for EABI targets,
particularly not in Thumb mode. We assume the mcount
implementation does not require a counter variable (No Counter).
Note that __gnu_mcount_nc will be entered with a misaligned stack.
This is OK because it uses a special calling convention anyway. */
#undef ARM_FUNCTION_PROFILER
#define ARM_FUNCTION_PROFILER(STREAM, LABELNO) \
{ \
fprintf (STREAM, "\tpush\t{lr}\n"); \
fprintf (STREAM, "\tbl\t__gnu_mcount_nc\n"); \
}
#undef SUBTARGET_FRAME_POINTER_REQUIRED
#define SUBTARGET_FRAME_POINTER_REQUIRED 0