gcconfig.h (sparc-linux): Use LINUX_STACKBOTTOM.
2005-04-17 David S. Miller <davem@davemloft.net> * include/private/gcconfig.h (sparc-linux): Use LINUX_STACKBOTTOM. * os_dep.c (GC_linux_stack_base): Check for bug present in some Sparc glibc variants where __libc_stack_end is erroneously set to "1". Fallback to procfs code in that case. From-SVN: r98303
This commit is contained in:
parent
03a0866432
commit
22d97adab5
3 changed files with 17 additions and 3 deletions
|
@ -1,3 +1,10 @@
|
|||
2005-04-17 David S. Miller <davem@davemloft.net>
|
||||
|
||||
* include/private/gcconfig.h (sparc-linux): Use LINUX_STACKBOTTOM.
|
||||
* os_dep.c (GC_linux_stack_base): Check for bug present in some
|
||||
Sparc glibc variants where __libc_stack_end is erroneously set
|
||||
to "1". Fallback to procfs code in that case.
|
||||
|
||||
2005-04-12 Mike Stump <mrs@apple.com>
|
||||
|
||||
* configure: Regenerate.
|
||||
|
|
|
@ -924,12 +924,10 @@
|
|||
extern ptr_t GC_SysVGetDataStart();
|
||||
# ifdef __arch64__
|
||||
# define DATASTART GC_SysVGetDataStart(0x100000, _etext)
|
||||
/* libc_stack_end is not set reliably for sparc64 */
|
||||
# define STACKBOTTOM ((ptr_t) 0x80000000000ULL)
|
||||
# else
|
||||
# define DATASTART GC_SysVGetDataStart(0x10000, _etext)
|
||||
# define LINUX_STACKBOTTOM
|
||||
# endif
|
||||
# define LINUX_STACKBOTTOM
|
||||
# endif
|
||||
# ifdef OPENBSD
|
||||
# define OS_TYPE "OPENBSD"
|
||||
|
|
|
@ -945,7 +945,16 @@ ptr_t GC_get_stack_base()
|
|||
} /* Otherwise it's not safe to add 16 bytes and we fall */
|
||||
/* back to using /proc. */
|
||||
# else
|
||||
# ifdef SPARC
|
||||
/* Older versions of glibc for 64-bit Sparc do not set
|
||||
* this variable correctly, it gets set to either zero
|
||||
* or one.
|
||||
*/
|
||||
if (__libc_stack_end != (ptr_t) (unsigned long)0x1)
|
||||
return __libc_stack_end;
|
||||
# else
|
||||
return __libc_stack_end;
|
||||
# endif
|
||||
# endif
|
||||
}
|
||||
f = open("/proc/self/stat", O_RDONLY);
|
||||
|
|
Loading…
Add table
Reference in a new issue