diff options
author | Jim Wilson <wilson@cygnus.com> | 1997-10-20 21:16:21 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1997-10-20 14:16:21 -0700 |
commit | a944a4ebfd42b6dd24e9a1ae71f56c29648795ff (patch) | |
tree | 2677473db85ed91445b214983b3e41f97a8c07d3 /gcc | |
parent | f0a9fa6c6a4f94ca5448862898451a7e0cf62998 (diff) | |
download | gcc-a944a4ebfd42b6dd24e9a1ae71f56c29648795ff.zip gcc-a944a4ebfd42b6dd24e9a1ae71f56c29648795ff.tar.gz gcc-a944a4ebfd42b6dd24e9a1ae71f56c29648795ff.tar.bz2 |
Fix O32 -p bug reported by Ralf Baechle.
* mips/mips.c (compute_frame_size): Not a leaf function if
profile_flag set.
From-SVN: r16110
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f68a31f..fbed64a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com> + + * mips/mips.c (compute_frame_size): Not a leaf function if + profile_flag set. + Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au> * rs6000/t-ppccomm: Use -msdata=none for crtstuff. diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 9cf2cc3..28650fa 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -4855,8 +4855,10 @@ compute_frame_size (size) /* The gp reg is caller saved in the 32 bit ABI, so there is no need for leaf routines (total_size == extra_size) to save the gp reg. The gp reg is callee saved in the 64 bit ABI, so all routines must - save the gp reg. */ - if (total_size == extra_size && (mips_abi == ABI_32 || mips_abi == ABI_EABI)) + save the gp reg. This is not a leaf routine if -p, because of the + call to mcount. */ + if (total_size == extra_size && (mips_abi == ABI_32 || mips_abi == ABI_EABI) + && ! profile_flag) total_size = extra_size = 0; else if (TARGET_ABICALLS) { |