summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2009-01-12 17:29:25 +0000
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2009-01-12 17:29:25 +0000
commit55e0e460fb9075751b2e242f7e54e8b177138d49 (patch)
tree36988d93c528ce6478c19bb41ff7da2aaf888215
parent6f10e6b13318ad1a9973f71be19d58ec0ca79d04 (diff)
downloadppe42-gcc-55e0e460fb9075751b2e242f7e54e8b177138d49.tar.gz
ppe42-gcc-55e0e460fb9075751b2e242f7e54e8b177138d49.zip
* pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
function when not using named sections on targets with named sections if branch distance is less than 262132. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143300 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/pa/pa.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0920534487f..a86f0095cc9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-01-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
+ function when not using named sections on targets with named sections
+ if branch distance is less than 262132.
+
2009-01-12 Richard Earnshaw <rearnsha@arm.com>
* combine.c (combine_instructions): Recompute
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 44ded73f908..5e96120a64f 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -7980,6 +7980,10 @@ pa_asm_output_mi_thunk (FILE *file, tree thunk_fndecl, HOST_WIDE_INT delta,
|| ((DECL_SECTION_NAME (thunk_fndecl)
== DECL_SECTION_NAME (function))
&& last_address < 262132)))
+ || (targetm.have_named_sections
+ && DECL_SECTION_NAME (thunk_fndecl) == NULL
+ && DECL_SECTION_NAME (function) == NULL
+ && last_address < 262132)
|| (!targetm.have_named_sections && last_address < 262132))))
{
if (!val_14)
OpenPOWER on IntegriCloud