Alexandre Julliard wrote:
> > This is not covered in elf-dlls because libwine.so will never occur in
> > the dll-list (it is not a dll).
> 
> But we will want to do that for all dlls, not only for libwine.so.

Indeed for all DLLs, but libwine.so is in principle no dll, but a
collection of routines to support wine as a whole. Unless you want to
introduce a special dll in wine?

> I don't think we should rely on negative offsets to work, so we
> probably want a linker script to put the PE header first. Also we
> probably should ensure that it is 64k aligned, which I don't think you
> can do directly with a link directive. I'd suggest reserving a 64k+
> block before the .text section and build the PE header in there at
> run-time.

Well, in principle, conversion from RVA to linear address is a simple
addition, so it should work. However, I agree that we should not depend
on it to work with windows apps.

> > You can't get the absolute
> > addresses of .text and .data/.rodata normally, but you can link in a
> > couple of dummy objects that declare some global labels in each
> > section.
> 
> If we have a linker script we should be able to declare symbols
> directly in there, which will make things somewhat easier.

Oh, so you do not object to a wine-specific linker-script? I have been
trying to keep away from linker-scripts because they are very
non-portable. If you want linker-scripts, then I also suggest to include
a separate resource section to keep them demand-loaded by the OS and
have proper alignment guaranteed.

Greetings Bertho

Reply via email to