diff --git a/sysdeps/alpha/machine-gmon.h b/sysdeps/alpha/machine-gmon.h index a551e9f8b1..e902537dd6 100644 --- a/sysdeps/alpha/machine-gmon.h +++ b/sysdeps/alpha/machine-gmon.h @@ -1,5 +1,5 @@ /* Machine-specific calling sequence for `mcount' profiling function. alpha -Copyright (C) 1995 Free Software Foundation, Inc. +Copyright (C) 1995, 1996 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -17,7 +17,8 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#define _MCOUNT_DECL void __mcount +#define _MCOUNT_DECL(from, self) \ + void __mcount (u_long from, u_long self) /* Call __mcount with our the return PC for our caller, and the return PC our caller will return to. Empty since we use an assembly stub diff --git a/sysdeps/unix/alpha/sysdep.S b/sysdeps/unix/alpha/sysdep.S index 8d70bda21e..08dc3b4851 100644 --- a/sysdeps/unix/alpha/sysdep.S +++ b/sysdeps/unix/alpha/sysdep.S @@ -27,6 +27,8 @@ errno: .space 4 .type errno, @object .size errno, 4 #endif + .globl __errno +__errno = errno .text .align 2 @@ -44,7 +46,10 @@ __syscall_error: .mask 0x4000001, -16 .prologue 1 - /* Find our pre-thread errno address */ + /* Store into the "real" variable. */ + stl v0, errno + + /* Find our per-thread errno address */ jsr ra, __errno_location /* Store the error value. */