aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-06-28 15:39:03 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1996-06-28 15:39:03 -0400
commite80142a0507db65acaa9313c7e308e84b9e32302 (patch)
treee7d53e5bc4cfb71687973e12ee5405ee5c6ddf59 /gcc
parent89b7c471e2ddf10bd5a00cc084d46f8bfac91f68 (diff)
downloadgcc-e80142a0507db65acaa9313c7e308e84b9e32302.zip
gcc-e80142a0507db65acaa9313c7e308e84b9e32302.tar.gz
gcc-e80142a0507db65acaa9313c7e308e84b9e32302.tar.bz2
(FUNCTION_PROFILER): _mcount has non-standard linkage.
From-SVN: r12365
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/alpha/linux.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/gcc/config/alpha/linux.h b/gcc/config/alpha/linux.h
index 8e3f9e6..4dbc650 100644
--- a/gcc/config/alpha/linux.h
+++ b/gcc/config/alpha/linux.h
@@ -57,11 +57,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef FUNCTION_PROFILER
#define FUNCTION_PROFILER(FILE, LABELNO) \
- do { \
- fputs ("\tlda $27,_mcount\n", (FILE)); \
- fputs ("\tjsr $26,($27),_mcount\n", (FILE)); \
- fputs ("\tldgp $29,0($26)\n", (FILE)); \
- } while (0);
+ fputs ("\tjsr $28,_mcount\n", (FILE))
/* Generate calls to memcpy, etc., not bcopy, etc. */
#define TARGET_MEM_FUNCTIONS
@@ -77,9 +73,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This differs from the standard version in that:
- We do not initialize the "hint" field because it is not the case
- that the target is in range of something on the stack. We save
- a bogus branch-prediction cache line load by not setting "hint".
+ We do not initialize the "hint" field because it only has an 8k
+ range and so the target is in range of something on the stack.
+ Omitting the hint saves a bogus branch-prediction cache line load.
Linux always has an executable stack -- no need for a system call.
*/