Wine on Sparc
Hiji
hijinio at yahoo.com
Thu May 26 01:02:00 CDT 2005
As an end-user, I'd find any screenshots of notepad
running amazing. :) Got any?
Hiji
--- Eric Frias <efrias at syncad.com> wrote:
> 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++)
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the wine-devel
mailing list