Commit 19b250c4 by Claudiu Zissulescu Committed by Claudiu Zissulescu

[ARC] Use long jumps for CRT calls

gcc/
2017-04-17  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.h (CRT_CALL_STATIC_FUNCTION): Use long calls.

From-SVN: r246927
parent 213c9bf1
2017-04-14 Claudiu Zissulescu <claziss@synopsys.com> 2017-04-14 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.h (CRT_CALL_STATIC_FUNCTION): Use long calls.
2017-04-14 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc-protos.h (arc_decl_pretend_args): Remove. * config/arc/arc-protos.h (arc_decl_pretend_args): Remove.
* config/arc/arc.c (arc_decl_pretend_args): Likewise. * config/arc/arc.c (arc_decl_pretend_args): Likewise.
* config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise. * config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise.
......
...@@ -1515,10 +1515,11 @@ extern enum arc_function_type arc_compute_function_type (struct function *); ...@@ -1515,10 +1515,11 @@ extern enum arc_function_type arc_compute_function_type (struct function *);
/* Called by crtstuff.c to make calls to function FUNCTION that are defined in /* Called by crtstuff.c to make calls to function FUNCTION that are defined in
SECTION_OP, and then to switch back to text section. */ SECTION_OP, and then to switch back to text section. */
#undef CRT_CALL_STATIC_FUNCTION #undef CRT_CALL_STATIC_FUNCTION
#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \ #define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC) \
asm (SECTION_OP "\n\t" \ asm (SECTION_OP "\n\t" \
"bl @" USER_LABEL_PREFIX #FUNC "\n" \ "add r12,pcl,@" USER_LABEL_PREFIX #FUNC "@pcl\n\t" \
TEXT_SECTION_ASM_OP); "jl [r12]\n" \
TEXT_SECTION_ASM_OP);
/* This macro expands to the name of the scratch register r12, used for /* This macro expands to the name of the scratch register r12, used for
temporary calculations according to the ABI. */ temporary calculations according to the ABI. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment