diff options
| author | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-01-12 17:29:25 +0000 |
|---|---|---|
| committer | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-01-12 17:29:25 +0000 |
| commit | 55e0e460fb9075751b2e242f7e54e8b177138d49 (patch) | |
| tree | 36988d93c528ce6478c19bb41ff7da2aaf888215 | |
| parent | 6f10e6b13318ad1a9973f71be19d58ec0ca79d04 (diff) | |
| download | ppe42-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/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/config/pa/pa.c | 4 |
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) |

