Patchwork [committed] Fix length of long non-pic millicode calls on PA

login
register
mail settings
Submitter John David Anglin
Date Jan. 19, 2014, 6:33 p.m.
Message ID <BLU0-SMTP4235C13EBB888505081BDA97BA0@phx.gbl>
Download mbox | patch
Permalink /patch/312389/
State New
Headers show

Comments

John David Anglin - Jan. 19, 2014, 6:33 p.m.
The attached change fixes a segmentation fault bootstrapping GCC on  
hppa2.0-hp-hpux11.11.
The length of long non-pic millicode calls does not depend on  
TARGET_LONG_ABS_CALL.
As a result, the length of long non-pic millicode calls was being  
overestimated.

This broke the millicode call to $$sh_func_adrs.  It has a couple of  
branches that branch past
the call when a call isn't needed.

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

Dave
--
John David Anglin	dave.anglin@bell.net
2014-01-19  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
	long non-pic millicode calls.

Patch

Index: config/pa/pa.c
===================================================================
--- config/pa/pa.c	(revision 206767)
+++ config/pa/pa.c	(working copy)
@@ -7534,7 +7528,7 @@ 
       if (!TARGET_LONG_CALLS && distance < MAX_PCREL17F_OFFSET)
 	return 8;
 
-      if (TARGET_LONG_ABS_CALL && !flag_pic)
+      if (!flag_pic)
 	return 12;
 
       return 24;