1 diff -u boehm-gc/mach_dep.c boehm-gc/mach_dep.c
2 --- boehm-gc/mach_dep.c Thu Jul 18 13:06:00 2002
3 +++ boehm-gc/mach_dep.c Tue Jan 20 17:00:36 2004
7 register int * sp asm ("optop");
9 + extern ptr_t GC_linux_stack_base(void);
10 + GC_push_all_stack (sp, GC_linux_stack_base());
12 extern int *__libc_stack_end;
14 GC_push_all_stack (sp, __libc_stack_end);
19 diff -u boehm-gc/os_dep.c boehm-gc/os_dep.c
20 --- boehm-gc/os_dep.c Fri Jul 19 01:54:43 2002
21 +++ boehm-gc/os_dep.c Tue Jan 20 16:59:10 2004
23 # define STAT_SKIP 27 /* Number of fields preceding startstack */
24 /* field in /proc/self/stat */
26 -# pragma weak __libc_stack_end
27 - extern ptr_t __libc_stack_end;
28 +//# pragma weak __libc_stack_end
29 +// extern ptr_t __libc_stack_end;
32 # pragma weak __libc_ia64_register_backing_store_base
34 size_t i, buf_offset = 0;
36 /* First try the easy way. This should work for glibc 2.2 */
37 +#ifdef NEVERDEFINEDBECAUSEWEDONTWANTTHIS
38 if (0 != &__libc_stack_end) {
39 return __libc_stack_end;
42 f = open("/proc/self/stat", O_RDONLY);
43 if (f < 0 || STAT_READ(f, stat_buf, STAT_BUF_SIZE) < 2 * STAT_SKIP) {
44 ABORT("Couldn't read /proc/self/stat");