Merge pull request #4023 from lateralusX/jlorenss/test-driver-reporter
[mono.git] / mcs / tools / mkbundle / TODO
index bd57f96168dccb7a42fba8f4f88e1923df80e089..5e9daab64174c6a37fb77f7dffde3a099646b574 100644 (file)
@@ -10,8 +10,25 @@ Files:
 
 Windows Issues:
 
-       * --static is not supported and probably it will never be,
-         because the libgc code must reside in a DLL.
+       * --static is not currently supported:
+
+               The GC needs to be notified about new threads that is also
+               possible using TLS callbacks. IMAGE_DIRECTORY_ENTRY_TLS
+               has to be set in the PE image to an IMAGE_TLS_DIRECTORY
+               containing PIMAGE_TLS_CALLBACKs that have the same
+               functionality and signature as DllMain. This is also
+               supported for EXE images. Visual C++ and Microsoft Linker
+               have support for this but I don't know whether this is
+               supported GCC.
+               TLS callbacks should be implemented in the GC that would
+               enable static linking.
+
+               References:
+               http://blog.dkbza.org/2007_03_01_archive.html
+               http://www.nynaeve.net/?p=183
+
+               Using a statically linked eglib instead of glib could also
+               reduce DLL dependency.
 
        * Document that the following DLLs are required to be deployed
          along with the bundle. Do we need some legal blub if we
@@ -24,4 +41,3 @@ Windows Issues:
                iconv.dll
                intl.dll
                zlib1.dll
-