summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--boehm-gc/ChangeLog5
-rw-r--r--boehm-gc/os_dep.c16
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