This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/7525] [ARM/Thumb] long calls stubs only in one code section, cannot branch to them from other section
- From: "cvs-commit at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Jan 2005 13:59:02 -0000
- Subject: [Bug target/7525] [ARM/Thumb] long calls stubs only in one code section, cannot branch to them from other section
- References: <20020807084605.7525.andy.green@oxsemi.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-01-14 13:59 -------
Subject: Bug 7525
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: rearnsha@gcc.gnu.org 2005-01-14 13:58:42
Modified files:
gcc : ChangeLog
gcc/config/arm : arm-protos.h arm.c arm.h arm.md
Log message:
PR target/7525
* arm.h (struct machine_function): Add call_via field.
(thumb_call_via_label): Declare.
* arm.c (thumb_call_via_label): New variable.
(thumb_call_reg_needed): New variable.
(arm_output_function_epilogue): For Thumb code, output any per-function
call-indirect trampolines.
(thumb_call_via_reg): New function.
(arm_file_end): New function.
(TARGET_ASM_FILE_END): Call arm_file_end.
(aof_file_end): Likewise.
* arm-protos.h (thumb_call_via_reg): Declare.
* arm.md (call_reg_thumb, call_value_reg_thumb): Call
thumb_call_via_reg in normal case.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7120&r2=2.7121
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/arm/arm-protos.h.diff?cvsroot=gcc&r1=1.79&r2=1.80
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/arm/arm.c.diff?cvsroot=gcc&r1=1.426&r2=1.427
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/arm/arm.h.diff?cvsroot=gcc&r1=1.264&r2=1.265
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/arm/arm.md.diff?cvsroot=gcc&r1=1.188&r2=1.189
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=7525