diff options
author | John David Anglin <dave@hiauly1.hia.nrc.ca> | 2002-10-03 04:05:54 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2002-10-03 04:05:54 +0000 |
commit | f50df1d58f9ae1f46cf23bc5446eb91175f67851 (patch) | |
tree | 25956939697b748fd163107d355131067fe0994d | |
parent | 69788039ff6be5e14fd8011c0c63b3168adae7c9 (diff) | |
download | gcc-f50df1d58f9ae1f46cf23bc5446eb91175f67851.zip gcc-f50df1d58f9ae1f46cf23bc5446eb91175f67851.tar.gz gcc-f50df1d58f9ae1f46cf23bc5446eb91175f67851.tar.bz2 |
pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
* pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
* pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
From-SVN: r57758
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/pa/pa-linux.h | 4 | ||||
-rw-r--r-- | gcc/config/pa/pa32-linux.h | 8 |
3 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3e2af93..1d6667b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h index 86dfabc..cdc201d 100644 --- a/gcc/config/pa/pa-linux.h +++ b/gcc/config/pa/pa-linux.h @@ -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 diff --git a/gcc/config/pa/pa32-linux.h b/gcc/config/pa/pa32-linux.h index a5c1da2..c8ea72d 100644 --- a/gcc/config/pa/pa32-linux.h +++ b/gcc/config/pa/pa32-linux.h @@ -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 |