Linux e x32-ABI - Como usar?

8

Introdução
Acabei de mudar para uma instalação de 64 bits e estou enfrentando uma grande diferença no uso de memória (especialmente para aplicativos como aplicativos chrome, firefox, mysql e java):

  • Enquanto antes de 4 GB eram suficientes, agora eles estão esgotados!

Este é um efeito colateral bem conhecido dos sistemas operacionais de 64 bits de qualquer maneira. 64 bits também traz outras vantagens.

Além do ram, é muito barato, existem alguns netbooks que ainda vêm com 1 / 2gb de ram ... ... e aqui vem x32 ABI: um recurso do kernel que serve exatamente para limitar esse problema.

O que é x32 ABI: de
acordo com este pdf, ele oferece uma grande vantagem de memória em comparação com um sistema operacional normal de 64 bits (até 40% de melhoria).

Agora, se eu entendi x32-ABI, é necessário :

  • Linux Kernel 3.4 compilado com CONFIG_X86_X32 = y
  • Gcc 4.7
  • Binutils 2.22
  • Glibc 2.16
  • Recompilando todas as bibliotecas do sistema, exigidas por um aplicativo, com gcc -mx32

Eu sei que o Debian e outras distribuições estão realmente enviando bibliotecas com suporte 32x-ABI, mas não consigo encontrar nenhuma documentação para configurar essa funcionalidade (estou no Ubuntu 14.04 64bit)

Gostaria de usar esta pergunta para ajudar a mim e a outras pessoas a coletar informações, porque acho que esse é um recurso muito interessante.

Em particular, meu objetivo seria executar um aplicativo (como chrome, firefox ou mysql) usando x32-ABI.

Francesco
fonte
Como você usa essas bibliotecas com suporte x32 ABI para usar no Ubuntu?
jarno 24/01

Respostas:

2

Debian
Ainda não tentei, mas aqui estão algumas instruções para executar o X32-ABI no debian: https://wiki.debian.org/X32Port

Arch
Aqui um repositório com muitos pacotes X32 (como chromium, mysql): https://github.com/fantix/ArchLinux-x32

Francesco
fonte
1
Então você precisa inicializar o kernel com a opção "syscall.x32 = y".
jarno 24/01
Por favor, note que o parâmetro só funcionaria no Debian (e derivados, talvez?) Que incluam esse patch há 4 anos ou mais. Por alguma razão, nunca foi aceito na linha principal de baunilha, que ainda tem tudo fechado exclusivamente viaCONFIG_X86_X32
mirh