[haiku-development] Re: Wine for Haiku?

  • From: André Hentschel <nerv@xxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 02 Jun 2014 21:32:50 +0200

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 02.06.2014 18:49, schrieb Andrew Hudson (Redacted sender hudsonco1@xxxxxxx 
for DMARC):
> It looks like it might have been several years since an attempt to build Wine 
> for Haiku. These are listed as missing requirements for a build:
> 
>   * in general: LDT support, m(un)lock, pthread_attr_setstack, a fix for the 
> Address Space Layout problem 
>   * dbghelp: Elf32_Ehdr, Elf32_Shdr, Elf32_Phdr, Elf32_Dyn, DT_DEBUG, 
> DT_NULL, SHT_NULL, SHT_NOBITS, SHT_SYMTAB, SHT_DYNSYM, SHT_DYNAMIC, 
> STT_NOTYPE, STT_FILE, STT_OBJECT, STT_FUNC, SHN_UNDEF, STB_LOCAL, ELFMAG0, 
> ELFMAG1, ELFMAG2, ELFMAG3, EI_CLASS, ELFCLASS32, ELFCLASS64, PT_LOAD 
>   * network related: ESOCKTNOSUPPORT, ETOOMANYREFS 
>   * ntdll: SIGIO, an improved ucontext_t 
> 
> from:
> http://wiki.winehq.org/Haiku

Hi,
i'm the one who set up this wiki page 2 years ago when i tried hard to analyze 
what is needed to run Wine on Haiku.
Note that i didn't tried in the meantime and now i just try to remember my 
thoughts from back then.

The most critical points are listed in bullet one.
For the address space layout thing i need to mention that i'm not sure if i 
ever understood exactly what's going on.
I thought Haikus layout is done that way for compatibility to BeOS, and i heard 
that Haiku plans to break compatibility at some point anyway.
What confuses me is the table i set up back then which shows that the layout 
differs totally between Haiku and BeOS. (not sure about my sources)
Further i thought when Haiku will break compatibility anyway it could also 
adjust the address space layout to run Wine, i guess that depends on
the need of the users to run Wine... Maybe this could be done right now for 
x86_64 versions of Haiku which is not compatible with BeOS afaik
(not sure about support for 32-bit applications then)
Also in case you thought about simply changing Wine, well, i'm not an expert on 
Wines memory needs, but i'd say it's done that way to support Win32
applications, changing it eliminates the sense of Wine...

Then there's still:
LDT support
m(un)lock
pthread_attr_setstack

and i obviously have no clue about the state in Haiku...

Am 02.06.2014 18:56, schrieb Edward Robbins:
> I think all the things in the second bullet are handled by my libelf port 
> (which is in haikuports).

It's not critical to hack around those missing things in dbghelp for first 
tests, but support on the Haiku side is welcome.
I just wonder why advanced elf support is not mainlined and needs haikuports...

Am 02.06.2014 19:28, schrieb scottmc:> 
>       * ntdll: SIGIO, an improved ucontext_t 
> 
> This may have changed since this was patched for Mono, but here's an email 
> from 2010 regarding SIGIO and Haiku:
> http://lists.ports.haiku-files.org/pipermail/haikuports-devs-ports.haiku-files.org/2010-March/000786.html

I guess the SIGIO problem is not critical and could be patched that same way, i 
just listed it.
But don't waste your time with sending a patch for it as long as Wine can't 
even start on Haiku.


I hope my thoughts are helpful...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQGcBAEBAgAGBQJTjNFhAAoJEGm5GZTakYssO1YL/jR8jCC3x4u+lsOn9M1qy2/7
2hyMoR27sQq0RbU7xG6u3U0nRWUO0dRRuJXmNWIdrG4ncNjNtcSumaBcZop5jvK4
q/fT5A0eChAC5F3jolOp8VH0dAhtqrD6xa+lRIU0L7Qhlhsdq5pUNmjhLgS+iydk
vHexf8JWjGxV9zw0qAMsYRc1j4hVHD9rB2Esh2gd2ZNUsYk0QuQ9F4sxZ6Qk9s7W
varfaOBYOfaIRWsO1uqXcJ8JhG4YbSDVH4QoVpCEN9RsnQlikgPE6QvHtm7HxOq5
ltSWevdA1qSIBYH3OFoQL9Dnpl7R5B5ehvqOD8zFLYATGB8m2HVmurDav/IvmP40
HZJWsT2OZmRUjfWaAagqWpES3twWbCgZDtddOzgCFiPzGRKFfaAb1Vtb5kH7H2if
yb1kvFo00YjVnuMiBbnpmYutep9VwOfdKsGhhacWeVloTo/yYvatlYr1fTiaEk1l
+IpCQDhCLPpPIS3jzV7dlnyQQSbf/B6f3PSPHn8CgQ==
=yQGy
-----END PGP SIGNATURE-----

Other related posts: