Linux et x32-ABI - Comment utiliser?

8

Intro
Je viens de passer à une installation 64 bits et je constate une grande différence dans l'utilisation de la mémoire (en particulier pour les applications comme Chrome, Firefox, mysql et Java):

  • Alors qu'avant 4 Go suffisaient maintenant, ils sont bientôt épuisés!

C'est un effet secondaire bien connu des systèmes d'exploitation 64 bits, de toute façon le 64 bits apporte également un autre avantage.

À côté de ram est très bon marché, il y a des netbooks qui sont toujours livrés avec 1 / 2gb de RAM ... ... et voilà x32 ABI: une fonctionnalité du noyau qui est exactement destinée à limiter ce problème.

Qu'est-ce que x32 ABI:
selon ce pdf, il offre un grand avantage de mémoire par rapport à un système d'exploitation normal 64 bits (même une amélioration de 40%).

Maintenant, si j'ai compris x32-ABI, il faut :

  • Linux Kernel 3.4 compilé avec CONFIG_X86_X32 = y
  • Gcc 4.7
  • Binutils 2.22
  • Glibc 2.16
  • Recompilation de toutes les bibliothèques système, requises par une application, avec gcc -mx32

Je connais Debian et d'autres distributions, ils expédient en fait des bibliothèques avec le support 32x-ABI mais je ne trouve aucune documentation pour configurer cette fonctionnalité (je suis sur Ubuntu 14.04 64 bits)

Je voudrais utiliser cette question pour m'aider et aider les autres à collecter des informations car je pense que c'est une fonctionnalité très intéressante.

En particulier, mon objectif serait d'exécuter une application (comme Chrome, Firefox ou mysql) en utilisant x32-ABI.

Francesco
la source
Comment utilisez-vous ces bibliothèques avec support ABI x32 pour les utiliser dans Ubuntu?
jarno

Réponses:

2

Debian
je n'ai pas encore essayé mais voici quelques instructions pour exécuter X32-ABI sur debian: https://wiki.debian.org/X32Port

Arch
Here un référentiel avec de nombreux packages X32 (tels que chrome, mysql): https://github.com/fantix/ArchLinux-x32

Francesco
la source
1
Vous devez donc démarrer le noyau avec l'option "syscall.x32 = y".
jarno
Veuillez noter que le paramètre ne fonctionnerait que sur Debian (et les dérivés peut-être?) Qui incluent ce correctif depuis environ 4 ans. Pour une raison quelconque, il n'a jamais été accepté dans la ligne principale de vanille, qui a toujours tout fermé exclusivement viaCONFIG_X86_X32
mirh