diff options
-rw-r--r-- | boehm-gc/ChangeLog | 5 | ||||
-rw-r--r-- | boehm-gc/os_dep.c | 16 |
2 files changed, 13 insertions, 8 deletions
diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog index 3b97faed798..3c22533657f 100644 --- a/boehm-gc/ChangeLog +++ b/boehm-gc/ChangeLog @@ -1,3 +1,8 @@ +2002-03-27 Richard Henderson <rth@redhat.com> + + * os_dep.c (GC_init_linux_data_start): Fix references to + __data_start and _end. + 2002-03-25 Loren J. Rittle <ljrittle@acm.org> * include/private/gcconfig.h: Change all likely references diff --git a/boehm-gc/os_dep.c b/boehm-gc/os_dep.c index 88194fe82db..258c9433f30 100644 --- a/boehm-gc/os_dep.c +++ b/boehm-gc/os_dep.c @@ -155,11 +155,11 @@ # ifdef LINUX # pragma weak __data_start - extern int __data_start; + extern int __data_start[]; # pragma weak data_start - extern int data_start; + extern int data_start[]; # endif /* LINUX */ - extern int _end; + extern int _end[]; ptr_t GC_data_start; @@ -169,16 +169,16 @@ # ifdef LINUX /* Try the easy approaches first: */ - if (&__data_start != 0) { - GC_data_start = (ptr_t)(&__data_start); + if (__data_start != 0) { + GC_data_start = (ptr_t)__data_start; return; } - if (&data_start != 0) { - GC_data_start = (ptr_t)(&data_start); + if (data_start != 0) { + GC_data_start = (ptr_t)data_start; return; } # endif /* LINUX */ - GC_data_start = GC_find_limit((ptr_t)(&_end), FALSE); + GC_data_start = GC_find_limit((ptr_t)_end, FALSE); } #endif |