pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
authorJohn David Anglin <dave@hiauly1.hia.nrc.ca>
Thu, 3 Oct 2002 04:05:54 +0000 (04:05 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Thu, 3 Oct 2002 04:05:54 +0000 (04:05 +0000)
* pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
* pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.

From-SVN: r57758

gcc/ChangeLog
gcc/config/pa/pa-linux.h
gcc/config/pa/pa32-linux.h

index 3e2af93..1d6667b 100644 (file)
@@ -1,3 +1,8 @@
+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
index 86dfabc..cdc201d 100644 (file)
@@ -95,10 +95,6 @@ Boston, MA 02111-1307, USA.  */
       %{!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
 
index a5c1da2..c8ea72d 100644 (file)
@@ -21,3 +21,11 @@ Boston, MA 02111-1307, USA.  */
 /* 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