* pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
* pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
From-SVN: r57758
+2002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
+ * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
+
2002-10-02 Richard Henderson <rth@redhat.com>
PR opt/7124
%{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
%{static:-static}}"
-/* Sibcalls, stubs, and elf sections don't play well. */
-#undef FUNCTION_OK_FOR_SIBCALL
-#define FUNCTION_OK_FOR_SIBCALL(x) 0
-
/* glibc's profiling functions don't need gcc to allocate counters. */
#define NO_PROFILE_COUNTERS 1
/* Turn off various SOM crap we don't want. */
#undef TARGET_ELF32
#define TARGET_ELF32 1
+
+/* Sibcalls are ok when ld is used in single subspace mode. The
+ multiple subspace mode is not compatible with sibcalls to external
+ functions because the linker generated stubs store the return
+ pointer into the frame. This target does not need multiple
+ subspace stubs, so we allow sibcalls to all functions. */
+#undef FUNCTION_OK_FOR_SIBCALL
+#define FUNCTION_OK_FOR_SIBCALL(DECL) 1