Chuck Hall wrote:
On Wed, 25 May 2005, Eric Frias wrote:
I'll be trying to get the current wine running this afternoon; I'll post
something when it's working.
I look forward to hearing how this turns out.
It actually went more smoothly than I expected. I've attached a patch
with the minimal changes I needed to get 'notepad' running. As you can
see, I disabled winedbg, oleaut32, and dbghelp because they are missing
some assembly bits, and they aren't strictly necessary for most winelib
applications. I haven't tried compiling or running anything big with
this, so it may be missing a few patches... but it's a start.
Eric
Index: programs/Makefile.in
===================================================================
--- programs/Makefile.in (revision 30735)
+++ programs/Makefile.in (working copy)
@@ -27,7 +27,6 @@
winebrowser \
winecfg \
wineconsole \
- winedbg \
winefile \
winemenubuilder \
winemine \
@@ -58,7 +57,6 @@
winebrowser \
winecfg \
wineconsole \
- winedbg \
winefile \
winemenubuilder \
winemine \
@@ -81,7 +79,6 @@
winebrowser \
winecfg \
wineconsole \
- winedbg \
winefile \
winemine \
winepath \
@@ -112,7 +109,6 @@
winebrowser.exe$(DLLEXT) \
winecfg.exe$(DLLEXT) \
wineconsole.exe$(DLLEXT) \
- winedbg.exe$(DLLEXT) \
winefile.exe$(DLLEXT) \
winemenubuilder.exe$(DLLEXT) \
winemine.exe$(DLLEXT) \
Index: programs/winetest/Makefile.in
===================================================================
--- programs/winetest/Makefile.in (revision 30735)
+++ programs/winetest/Makefile.in (working copy)
@@ -39,7 +39,6 @@
netapi32_test.exe$(DLLEXT) \
ntdll_test.exe$(DLLEXT) \
ole32_test.exe$(DLLEXT) \
- oleaut32_test.exe$(DLLEXT) \
psapi_test.exe$(DLLEXT) \
quartz_test.exe$(DLLEXT) \
rpcrt4_test.exe$(DLLEXT) \
Index: dlls/ntdll/signal_sparc.c
===================================================================
--- dlls/ntdll/signal_sparc.c (revision 30735)
+++ dlls/ntdll/signal_sparc.c (working copy)
@@ -388,7 +388,7 @@
/* wait with 0 timeout, will only return once the thread is no longer
suspended */
timeout.QuadPart = 0;
- NTDLL_wait_for_multiple_objects( 0, NULL, 0, &timeout );
+ NTDLL_wait_for_multiple_objects( 0, NULL, 0, &timeout, 0 );
}
Index: dlls/ole32/storage32.c
===================================================================
--- dlls/ole32/storage32.c (revision 30735)
+++ dlls/ole32/storage32.c (working copy)
@@ -4130,8 +4130,8 @@
ULARGE_INTEGER tmp;
memcpy(&tmp, buffer + offset, sizeof(ULARGE_INTEGER));
- value->LowPart = htole32(tmp.HighPart);
- value->HighPart = htole32(tmp.LowPart);
+ value->u.LowPart = htole32(tmp.u.HighPart);
+ value->u.HighPart = htole32(tmp.u.LowPart);
#else
memcpy(value, buffer + offset, sizeof(ULARGE_INTEGER));
#endif
@@ -4143,8 +4143,8 @@
#ifdef WORDS_BIGENDIAN
ULARGE_INTEGER tmp;
- tmp.LowPart = htole32(value->HighPart);
- tmp.HighPart = htole32(value->LowPart);
+ tmp.u.LowPart = htole32(value->u.HighPart);
+ tmp.u.HighPart = htole32(value->u.LowPart);
memcpy(buffer + offset, &tmp, sizeof(ULARGE_INTEGER));
#else
memcpy(buffer + offset, value, sizeof(ULARGE_INTEGER));
Index: dlls/Makefile.in
===================================================================
--- dlls/Makefile.in (revision 30735)
+++ dlls/Makefile.in (working copy)
@@ -36,7 +36,6 @@
d3dim \
d3drm \
d3dxof \
- dbghelp \
dciman32 \
devenum \
dinput \
@@ -100,7 +99,6 @@
odbccp32 \
ole32 \
oleacc \
- oleaut32 \
olecli \
oledlg \
olepro32 \
@@ -270,7 +268,6 @@
d3dim.dll.so \
d3drm.dll.so \
d3dxof.dll.so \
- dbghelp.dll.so \
dciman32.dll.so \
devenum.dll.so \
dinput.dll.so \
@@ -346,7 +343,6 @@
odbccp32.dll.so \
ole32.dll.so \
oleacc.dll.so \
- oleaut32.dll.so \
olecli32.dll.so \
oledlg.dll.so \
olepro32.dll.so \
Index: tools/winebuild/import.c
===================================================================
--- tools/winebuild/import.c (revision 30735)
+++ tools/winebuild/import.c (working copy)
@@ -753,7 +753,11 @@
fprintf( outfile, "#ifndef __GNUC__\nstatic void __asm__dummy_import(void)
{\n#endif\n\n" );
pos = (sizeof(void *) + 2*sizeof(unsigned int) + sizeof(const char *) +
sizeof(void *)) *
(nb_imm + 1); /* offset of imports.data from start of imports */
+#if defined(__sun) && defined(__sparc)
+ fprintf( outfile, "asm(\".section\\t\\\".data.rel.local\\\"\\n\\t.align
%d\\n\"\n", get_alignment(8) );
+#else
fprintf( outfile, "asm(\".text\\n\\t.align %d\\n\"\n", get_alignment(8) );
+#endif
fprintf( outfile, " \"" __ASM_NAME("%s") ":\\n\"\n", import_thunks);
for (i = 0; i < nb_imports; i++)
@@ -1057,7 +1061,11 @@
}
output_function_size( outfile, delayed_import_loaders );
+#if defined(__sun) && defined(__sparc)
+ fprintf( outfile, "\n \".section\\t\\\".data.rel\\\"\\n\\t.align
%d\\n\"\n", get_alignment(8) );
+#else
fprintf( outfile, "\n \".align %d\\n\"\n", get_alignment(8) );
+#endif
fprintf( outfile, " \"" __ASM_NAME("%s") ":\\n\"\n",
delayed_import_thunks);
pos = nb_delayed * 32;
for (i = 0; i < nb_imports; i++)