[PATCH] loader: On Mac OS, don't use external symbols for the DOS and shared heap segments. (try 2)
Charles Davis
cdavis5x at gmail.com
Fri Sep 21 02:51:34 CDT 2012
Try 2: Only do this for Clang. GCC worked well enough the old way, and 4.0 has broken support for __attribute(section) besides.
---
loader/main.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/loader/main.c b/loader/main.c
index edbf4f7..74a8eb8 100644
--- a/loader/main.c
+++ b/loader/main.c
@@ -43,9 +43,16 @@
#ifdef __APPLE__
+#ifndef __clang__
__asm__(".zerofill WINE_DOS, WINE_DOS, ___wine_dos, 0x40000000");
__asm__(".zerofill WINE_SHAREDHEAP, WINE_SHAREDHEAP, ___wine_shared_heap, 0x03000000");
extern char __wine_dos[0x40000000], __wine_shared_heap[0x03000000];
+#else
+__asm__(".zerofill WINE_DOS, WINE_DOS");
+__asm__(".zerofill WINE_SHAREDHEAP, WINE_SHAREDHEAP");
+static char __wine_dos[0x40000000] __attribute__((section("WINE_DOS, WINE_DOS")));
+static char __wine_shared_heap[0x03000000] __attribute__((section("WINE_SHAREDHEAP, WINE_SHAREDHEAP")));
+#endif
static const struct wine_preload_info wine_main_preload_info[] =
{
--
1.7.12
More information about the wine-patches
mailing list