Linux und x32-ABI - Wie benutzt man?

8

Einführung
Ich bin gerade zu einer 64-Bit-Installation übergegangen und habe große Unterschiede in der Speichernutzung festgestellt (insbesondere für Apps wie Chrome-, Firefox-, MySQL- und Java-Apps):

  • Während vorher 4 GB jetzt genug waren, sind sie bald erschöpft!

Dies ist ein bekannter Nebeneffekt von 64-Bit-Betriebssystemen, 64-Bit bringt jedoch auch einen anderen Vorteil.

Abgesehen davon, dass RAM sehr billig ist, gibt es einige Netbooks, die immer noch mit 1/2-GB-RAM ausgeliefert werden ... ... und hier kommt es x32 ABI: eine Kernelfunktion, die genau dieses Problem begrenzen soll.

Was ist x32 ABI:
Laut diesem PDF bietet es einen großen Speichervorteil im Vergleich zu einem normalen 64-Bit-Betriebssystem (sogar 40% Verbesserung).

Wenn ich verstanden habe, dass x32-ABI Folgendes erfordert :

  • Linux Kernel 3.4 kompiliert mit CONFIG_X86_X32 = y
  • Gcc 4.7
  • Binutils 2.22
  • Glibc 2.16
  • Neukompilieren aller von einer Anwendung benötigten Systembibliotheken mit gcc -mx32

Ich weiß, dass Debian und andere Distributionen tatsächlich Bibliotheken mit 32x-ABI-Unterstützung ausliefern, aber ich kann keine Dokumentation zum Einrichten dieser Funktionalität finden (ich bin auf Ubuntu 14.04 64bit).

Ich möchte diese Frage nutzen, um mir und anderen beim Sammeln von Informationen zu helfen, da ich dies für eine sehr interessante Funktion halte.

Insbesondere wäre mein Ziel, eine App (wie Chrome oder Firefox oder MySQL) mit x32-ABI auszuführen.

Francesco
quelle
Wie können Sie diese Bibliotheken mit x32 ABI-Unterstützung in Ubuntu verwenden?
Jarno

Antworten:

2

Debian
Ich habe es noch nicht versucht, aber hier einige Anweisungen zum Ausführen von X32-ABI auf Debian: https://wiki.debian.org/X32Port

Arch
Hier ein Repository mit vielen X32-Paketen (wie Chrom, MySQL): https://github.com/fantix/ArchLinux-x32

Francesco
quelle
1
Sie müssen den Kernel also mit der Option "syscall.x32 = y" starten.
Jarno
Bitte beachten Sie, dass der Parameter nur für Debian (und möglicherweise für Derivate?) Funktioniert, die diesen Patch seit ungefähr 4 Jahren enthalten. Aus irgendeinem Grund wurde es nie in die Vanille-Hauptleitung aufgenommen, die immer noch alles exklusiv überCONFIG_X86_X32
mirh