[committed] Fix PR target/17643 on main and 3.4
John David Anglin
dave@hiauly1.hia.nrc.ca
Mon Dec 27 02:01:00 GMT 2004
The enclosed patch fixes a small regression involving the -mportable-runtime
option on hppa-linux. Tested on hppa-unknown-linux-gnu. Committed to
main and 3.4 branch. 3.3 needs a different fix.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
2004-12-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/17643
* pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when
generating code for the portable runtime.
Index: config/pa/pa.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pa/pa.c,v
retrieving revision 1.280
diff -u -3 -p -r1.280 pa.c
--- config/pa/pa.c 15 Dec 2004 05:10:56 -0000 1.280
+++ config/pa/pa.c 27 Dec 2004 00:01:37 -0000
@@ -8091,6 +8126,9 @@ pa_asm_output_mi_thunk (FILE *file, tree
static bool
pa_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
{
+ if (TARGET_PORTABLE_RUNTIME)
+ return false;
+
/* Sibcalls are ok for TARGET_ELF32 as along as the linker is used in
single subspace mode and the call is not indirect. As far as I know,
there is no operating system support for the multiple subspace mode.
@@ -8108,9 +8146,8 @@ pa_function_ok_for_sibcall (tree decl, t
if (TARGET_64BIT)
return false;
- return (decl
- && !TARGET_PORTABLE_RUNTIME
- && !TREE_PUBLIC (decl));
+ /* Sibcalls are only ok within a translation unit. */
+ return (decl && !TREE_PUBLIC (decl));
}
/* Returns 1 if the 6 operands specified in OPERANDS are suitable for
More information about the Gcc-patches
mailing list