[Vm-dev] ucontext.h or sys/ucontext.h

stes stes at telenet.be
Sat Apr 25 12:45:02 UTC 2020


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256


Minor technical issue.

Regarding platforms/unix/vm/include_ucontext.h

Solaris has a #include <sys/ucontext.h> so the build was working,
but some versions adhere to the "Single Unix Specification v2" (SUS v2).

According to some info (I'm no expert in this) this is Solaris 7/8

           SUSv2        superset of SUS extended      Solaris 7
                        to support POSIX.1b-1993,
                        POSIX.1c-1996, and ISO/IEC
                        9899 (C Standard)
                        Amendment 1

Now that standard speficies that you can #include <ucontext.h>
instead of #include <sys/ucontext.h>

Also see
https://pubs.opengroup.org/onlinepubs/7908799/xsh/ucontext.h.html

I've added a small #ifdef __sun fix to use #include <ucontext.h> in the 
Solaris case.

Alternatively perhaps the configure script could check for the
existence of the <ucontext.h> header file ...

Unfortunately the #include's that the program issues,
does have obviously major impact on the behaviour of the VM.

Another issue one of the fixes I submitted in the sunos branch is

or was :

  # include <sys/file.h> /* FASYNC or ioctl FIOASYNC will be issued  */

in the file platforms/unix/vm/aio.c

The issue there (completely unrelated to the ucontext.h issue) is that
that header file determines how the code in aio.c works

Because in aio.c there is code

#if defined(O_ASYNC)
#elif defined(FASYNC)
#elif defined(FIOASYNC)

great care about the configuration of header files (#include) is needed.

Perhaps also in the case of aio.c this could be dealt with in the configure
script.

The configure script could also in that case try to figure out what
the correct #include is, but it has major impact of course on the
behavior of the VM ...

David Stes

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJepDBDAAoJEAwpOKXMq1Mab1oH/iGxCG89bwpvE2PxVyAbRVkR
LRPoT0t9GZydOr4qWHCGl13DOLvUUfLXH4vkSD1VHCC0Qlnxir9xwgIxSL1mDxpJ
KhEOyddTwnfaALNiwJ9bU3HA5pRMwH1U9eCHhUdUJHXcx4YL9dt/zG9bIMwx+Z3y
x92YqEqJ99qDeYPJ9Ap6KzRMC5/QgHxQWbS5GP1WrqpwzHbUtv7Y/sdXGtOVYfE2
VKHEoCR+yHZjnige1kVF+WejDEvyFG+65ScicEFDfCXB7yXTHpxrkAbNkp2gO1xM
PXnCe25yn6rj861N2ndmnL61iMk4rzqNMomDkaG+KT7CYa6bJdPMeHiXNOkZgxg=
=IsL8
-----END PGP SIGNATURE-----




--
Sent from: http://forum.world.st/Squeak-VM-f104410.html


More information about the Vm-dev mailing list