X86/PPC linking (was Re: [Darwine] Re: Wine Emulation: Swapping
functions)
Jim White
jim at pagesmiths.com
Wed Aug 25 17:58:35 CDT 2004
Pierre d'Herbemont wrote:
> Le 25 août 04, à 23:01, Jim White a écrit :
>
>> I would really like to get away from having to write all the little
>> wrappers to deal with the namespace problem. I believe we can solve
>> that with a suitable naming convention as we began to do with the
>> winegcc patch.
>
> I think we can forget this solution, loading symbol at launch time works
> like a charm :)
>
> (BTW it was indeed winebuild which was patched)
>
> Pierre.
While I think that dynamic binding can work, I'm concerned about calling
conventions between X86 and PPC. We'll need to look into what those are
and what QEMU uses. It may turn out that to get things to line up
correctly and not have anything get clobbered, we might not be able to
allow any intermediate calls. In which case we have to use an emulation
escape so that the call can be translated as a direct native call rather
than using a syscall. And in that case the indirection through the
pointer is likely be a problem.
Besides not having little wrappers for the namespace issue is not having
to write syscalls for all the OS X API we want to use. I'ld much rather
folks could just call the OS X API directly (albeit with carefully
written code). Of course the advantage to going this (syscall) route is
that it is easy to write and doesn't depend on esoteric
compiler/linker/loader/emulator coordination.
Of course if you're planning on compiling Wine as PPC then we're on
different pages architecturally.
Jim
More information about the wine-devel
mailing list