• Raising the minimum required s390x CPU to z196?

    From Aurelien Jarno@21:1/5 to All on Wed Jan 31 15:40:01 2018
    Hi all,

    The Debian s390x port currently officially defaults to the z900 ISA.
    That's what our GCC defaults too, but I wouldn't be surprised if a few
    packages use a slightly newer ISA.

    Unfortunately more and more packages require a newer ISA, usually at
    least z196. This is the case of at least nodejs, go and rustc. It should
    be noted that it's not a question of passing the right flag to GCC, but
    rather these packages have their own JIT compiler which has been written
    for a z196 ISA minimum.

    For go we currently use gccgo instead of golang, which is not really
    an optimal solution and prevents many packages to build. For the same
    reason rustc is not available on s390x, which might become problematic
    soon (for example rsvg will require it soon). Finally recent versions
    of nodejs require at least a z196 CPU, so we have to drop all nodejs
    packages if we want to keep the baseline as z900.

    In my opinion we don't really have any other choice than raising the
    minimum ISA to z196, even if this CPU is less than 7 years old. The
    the only other alternative I can think about would be to have people
    committing to maintain patches lowering the minimum ISA for the above
    packages. I started to work on that for go a few months ago, but
    unfortunately that's a huge work as upstream keeps moving.

    The ISA change would be done in testing/unstable and released for
    Buster. Stretch would be unchanged in that regard and it will continue
    to be supported for 2 more years.

    Note also that it means that we would have to get rid of our older
    build daemon, zemlinsky.d.o. We would still have 2 buildd daemons in 2 different locations left, which is enough to run the port. However that
    would be appreciable to get a third one to fully secure the port.

    Any opinion, or alternative solution?

    Thanks,
    Aurelien

    --
    Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://www.aurel32.net

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCgAdFiEEUryGlb40+QrX1Ay4E4jA+JnoM2sFAlpx1P8ACgkQE4jA+Jno M2uTcg//Xtv+cuR76+dX5Sa3qN8FNmuwcISF2DEOUCyV1fV9z8gag7Es41KrKreE 9AcfpbP/MS5MLHHYaRnCtCr4mWIrxTpfQHmiCLoF2lt+Tr6k2T+a5TM0BIOQmipk LxcAQGv+fl87MGsUgXfAsBXqfifqDwz0lGGj1AxgjzzVBv8qgYV45Ifu6AjV7vLF mcYQBSfrCzwbrfIoP3DaUK5IHdsfGym44JlXjNGDOt2WogKpAzqaBhs3GVS+5yXe yaIx9XS2n8cCPRgDL7JaI0Jnoh912Gmux700UUTBrR1dHP9b8trsBmYv9dhusLtH bdQLt+7jwKAgYvW+D8auNcuz6wzf4AkJLhxcZmJwtEsvG52IiI6nPUB88rRwwI5G qWMVA76qt04rl0hixFuEzGCdivc7kbHfpUVhMzg3iiTdydfkvGlP7bLOwVFBmdEb LWB0YBNYuRuhBlDwiTQEBdP3gPmoAv/vrIP28Ak/MCaLyFaFjzvHiT+o5qRjRrU5 4ByEpf7Wp0vTxBbDI+DPFy1QMxC7nb/Ra9NbgNDiRDHjITNLyVzAnsOXKxwZFGVW XCDigekUEZQxHcEclaiXQpPPEndiOYz08lq2v1yusZrsR//18PqybmXGNOTQFQmw ZP3wZ4e+Hx6Lbxtqa1sLEiEnpqt7GP/U//kb81qtGJXsaGWVKYw=
    =3p4y
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet
  • From Aurelien Jarno@21:1/5 to Aurelien Jarno on Tue Feb 6 21:10:01 2018
    On 2018-01-31 15:38, Aurelien Jarno wrote:
    Hi all,

    The Debian s390x port currently officially defaults to the z900 ISA.
    That's what our GCC defaults too, but I wouldn't be surprised if a few packages use a slightly newer ISA.

    Unfortunately more and more packages require a newer ISA, usually at
    least z196. This is the case of at least nodejs, go and rustc. It should
    be noted that it's not a question of passing the right flag to GCC, but rather these packages have their own JIT compiler which has been written
    for a z196 ISA minimum.

    For go we currently use gccgo instead of golang, which is not really
    an optimal solution and prevents many packages to build. For the same
    reason rustc is not available on s390x, which might become problematic
    soon (for example rsvg will require it soon). Finally recent versions
    of nodejs require at least a z196 CPU, so we have to drop all nodejs
    packages if we want to keep the baseline as z900.

    In my opinion we don't really have any other choice than raising the
    minimum ISA to z196, even if this CPU is less than 7 years old. The
    the only other alternative I can think about would be to have people committing to maintain patches lowering the minimum ISA for the above packages. I started to work on that for go a few months ago, but unfortunately that's a huge work as upstream keeps moving.

    Note that both hercules and QEMU are able to simulate a z196 CPU, or at
    least the facilities used by the Linux kernel and user land when built
    for z196.

    Aurelien

    --
    Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://www.aurel32.net

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCgAdFiEEUryGlb40+QrX1Ay4E4jA+JnoM2sFAlp6CaMACgkQE4jA+Jno M2vEfQ//dUAay58mqlf9dliTp7GL6uz+Xi5eaA84RiPHrR+Aol05pgonomh524vF MCBN9dbNOMmBbU1yNP/Cax1pJ0KMtwcTDzA9emvbwakRLHWhvMNJ5jkEszQFDHky 55tWX3A9eONbQvobAsXV1fAeA5POZpSE/tmRWkzeLSlt+QRlDIAGU5iNdeNO8OPn P455orOZ17SqwRmMXt0bQfpx5ZUV/5cNY2zCCUmUu8dQOx9Foy3QYVFaakWSpkT1 LZnFOl053az6m6cRyHEMxxNPSvmVY6EYoJ+BR2mqrfS1OC1UClMrveS/HSs8fCTn +w+JYJmZzTJbj70RgAbp+it/DnyOkecYW+YJ+SYuPHMpJ/wj6hxOt9kU5Ho6ZJfy 2AFtZk0NaAGYJtvEZD9/mnA0p9/A1Zk3/EuECC1Dx01yHRmsN7OYA0CIrjnSpsFt whjZWJ1YlQro6mNVjLHpqVSMIPEfu2RCfw1mb7Xf91fjESYbTD8LMjIosF5Ok/vA Hd/gKBEWqYCAi3kRpPR9E12KHey4IkYfS4ApHNQqSF7hd2uWoS8z9xzYcFHwNm6W Pa+z2xZxQkghUU+f1/YN2DP0ryB7yFkzdRWhgzV5Ap975pekcwcEsavvHVo9w2RI wkh2juuK4eGm3oHR3cB3pAPEGJ07CHPFs6FhxGcosl0h95HRF5A=
    =yM3S
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet