os_dep.c (GC_init_linux_data_start): Fix references to __data_start and _end.
authorRichard Henderson <rth@redhat.com>
Wed, 27 Mar 2002 19:21:32 +0000 (11:21 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 27 Mar 2002 19:21:32 +0000 (11:21 -0800)
        * os_dep.c (GC_init_linux_data_start): Fix references to
        __data_start and _end.

From-SVN: r51467

boehm-gc/ChangeLog
boehm-gc/os_dep.c

index 3b97faed79843a3ce2a9bb4827c41c35c40b34ea..3c22533657fc7007cef723d19308bb831c9df3fc 100644 (file)
@@ -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
index 88194fe82db7d307a5fbc23e19ef8d74e8ac2dc5..258c9433f309437760236e4db8e2e8b8a6473fdd 100644 (file)
 
 # 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;
 
 
 #   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