The attached change fixes a problem detected building gcl. A short call to $$dyncall was sometimes
output when doing long call sequences.  This caused a link error.

Tested on hppa2.0-hp-hpux11.11, hppa64-hp-hpux11.11 and hppa-unknown- linux-gnu. Committed
to active branches.

Dave
--
John David Anglin       dave.ang...@bell.net


2014-01-17  John David Anglin  <dang...@gcc.gnu.org>

        * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
        call to $$dyncall when TARGET_LONG_CALLS is true.

Index: config/pa/pa.c
===================================================================
--- config/pa/pa.c      (revision 206593)
+++ config/pa/pa.c      (working copy)
@@ -8099,7 +8093,8 @@
     return 12;
 
   if (TARGET_FAST_INDIRECT_CALLS
-      || (!TARGET_PORTABLE_RUNTIME
+      || (!TARGET_LONG_CALLS
+         && !TARGET_PORTABLE_RUNTIME
          && ((TARGET_PA_20 && !TARGET_SOM && distance < 7600000)
              || distance < MAX_PCREL17F_OFFSET)))
     return 8;

Reply via email to