mbox series

[bug#68202,0/5] Add support for x86_64-linux-gnux32

Message ID cover.1704179455.git.efraim@flashner.co.il
Headers show
Series Add support for x86_64-linux-gnux32 | expand

Message

Efraim Flashner Jan. 2, 2024, 7:26 a.m. UTC
I was reminded recently about a comment I made back in February 2017
about getting guix support for x32, aka x86_64-linux-gnux32, aka
x86_64-linux but with 32-bit data structures.  The idea was that by
using 32-bit pointers there'd be a not insignificant speed-up of code
execution¹.  I am uncertain how true this is, or which packages would
really benefit from this.

Interestingly,
%glibc-cross-x86_64-linux-gnux32-2.35/lib/ld-linux-x32.so.2 --help
suggests that it still benefits from our --tune parameters, which is not
the case for i686-linux's ld-linux.so.2.

¹ https://en.wikipedia.org/wiki/X32_ABI

Efraim Flashner (5):
  gnu: Add support for x86_64-linux-gnux32.
  gnu: Add target-x32?.
  gnu: openssl: Fix building on x86_64-linux-gnux32.
  gnu: gmp: Fix building on x86_64-linux-gnux32.
  gnu: libsigsegv: Fix building for x86_64-linux-gnux32.

 gnu/packages/bootstrap.scm      |  5 ++++-
 gnu/packages/gcc.scm            |  5 ++++-
 gnu/packages/libsigsegv.scm     | 33 +++++++++++++++++----------------
 gnu/packages/multiprecision.scm |  4 +++-
 gnu/packages/tls.scm            |  4 +++-
 guix/platforms/x86.scm          | 10 ++++++++++
 guix/utils.scm                  | 12 +++++++++++-
 7 files changed, 52 insertions(+), 21 deletions(-)


base-commit: f2102cb5b9239be2ed2023b908b726af542e0124

Comments

Efraim Flashner Jan. 5, 2024, 11:22 a.m. UTC | #1
Patches pushed, with the change to libsigsegv to patch on all
cross-builds.
Ludovic Courtès Jan. 8, 2024, 5:14 p.m. UTC | #2
Hi,

Efraim Flashner <efraim@flashner.co.il> skribis:

> I was reminded recently about a comment I made back in February 2017
> about getting guix support for x32, aka x86_64-linux-gnux32, aka
> x86_64-linux but with 32-bit data structures.  The idea was that by
> using 32-bit pointers there'd be a not insignificant speed-up of code
> execution¹.  I am uncertain how true this is, or which packages would
> really benefit from this.

Interesting!

I’m not sure why this target hasn’t been picked up by ci.guix.  (gnu ci)
calls ‘targets’, which returns it.  Weird.

> ¹ https://en.wikipedia.org/wiki/X32_ABI

It’s not clear how long support for this ABI will live on in the
toolchain…

Cheers,
Ludo’.