changeset 406:94394be61589

Attempt to fix win32/mingw linking related to unresolved data segment start/end symbols.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 27 Jul 2008 14:11:31 +0200
parents c39813438df7
children 723027dd9593
files tango/lib/compiler/llvmdc/memory.d
diffstat 1 files changed, 8 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/tango/lib/compiler/llvmdc/memory.d	Sun Jul 27 13:52:14 2008 +0200
+++ b/tango/lib/compiler/llvmdc/memory.d	Sun Jul 27 14:11:31 2008 +0200
@@ -123,9 +123,11 @@
     {
         extern (C)
         {
-            extern int _xi_a;   // &_xi_a just happens to be start of data segment
-            extern int _edata;  // &_edata is start of BSS segment
-            extern int _end;    // &_end is past end of BSS
+            extern int _data_start__;
+            extern int _bss_end__;
+
+            alias _data_start__ Data_Start;
+            alias _bss_end__    Data_End;
         }
     }
     else version( linux )
@@ -157,12 +159,12 @@
 {
     version( Win32 )
     {
-        scan( &_xi_a, &_end );
+        scan( &Data_Start, &Data_End );
     }
     else version( linux )
     {
-        //printf("scanning static data from %p to %p\n", &__data_start, &_end);
-        scan( &__data_start, &_end );
+        //printf("scanning static data from %p to %p\n", &Data_Start, &Data_End);
+        scan( &Data_Start, &Data_End );
     }
     else
     {