From a3c5fa34cae7c29d5b902f8d4bdc0969eb70dd8f Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 27 Mar 2002 11:21:32 -0800 Subject: [PATCH] os_dep.c (GC_init_linux_data_start): Fix references to __data_start and _end. * os_dep.c (GC_init_linux_data_start): Fix references to __data_start and _end. From-SVN: r51467 --- boehm-gc/ChangeLog | 5 +++++ 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 + + * os_dep.c (GC_init_linux_data_start): Fix references to + __data_start and _end. + 2002-03-25 Loren J. Rittle * 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 -- 2.30.2