re PR target/26109 (ICE: Segmentation fault (program cc1) compiling _muldi3.o in stage1)
PR target/26109 * pa.c (attr_length_indirect_call): Don't return length 8 for distances >= 240000 when generating code for SOM runtime. (output_indirect_call): Don't use "b,l" instruction for indirect calls to $$dyncall when generating code for SOM runtime.. From-SVN: r110721
This commit is contained in:
parent
cb2bbc673b
commit
40fc2e0b74
@ -1,3 +1,11 @@
|
||||
2006-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
PR target/26109
|
||||
* pa.c (attr_length_indirect_call): Don't return length 8 for distances
|
||||
>= 240000 when generating code for SOM runtime.
|
||||
(output_indirect_call): Don't use "b,l" instruction for indirect calls
|
||||
to $$dyncall when generating code for SOM runtime..
|
||||
|
||||
2006-02-07 Dirk Mueller <dmueller@suse.com>
|
||||
|
||||
PR c++/18150
|
||||
|
@ -7447,7 +7447,8 @@ attr_length_indirect_call (rtx insn)
|
||||
|
||||
if (TARGET_FAST_INDIRECT_CALLS
|
||||
|| (!TARGET_PORTABLE_RUNTIME
|
||||
&& ((TARGET_PA_20 && distance < 7600000) || distance < 240000)))
|
||||
&& ((TARGET_PA_20 && !TARGET_SOM && distance < 7600000)
|
||||
|| distance < 240000)))
|
||||
return 8;
|
||||
|
||||
if (flag_pic)
|
||||
@ -7484,10 +7485,10 @@ output_indirect_call (rtx insn, rtx call_dest)
|
||||
the remaining cases. */
|
||||
if (attr_length_indirect_call (insn) == 8)
|
||||
{
|
||||
/* The HP linker substitutes a BLE for millicode calls using
|
||||
the short PIC PCREL form. Thus, we must use %r31 as the
|
||||
link register when generating PA 1.x code. */
|
||||
if (TARGET_PA_20)
|
||||
/* The HP linker sometimes substitutes a BLE for BL/B,L calls to
|
||||
$$dyncall. Since BLE uses %r31 as the link register, the 22-bit
|
||||
variant of the B,L instruction can't be used on the SOM target. */
|
||||
if (TARGET_PA_20 && !TARGET_SOM)
|
||||
return ".CALL\tARGW0=GR\n\tb,l $$dyncall,%%r2\n\tcopy %%r2,%%r31";
|
||||
else
|
||||
return ".CALL\tARGW0=GR\n\tbl $$dyncall,%%r31\n\tcopy %%r31,%%r2";
|
||||
|
Loading…
Reference in New Issue
Block a user