Каков текущий статус реализации x32 ABI в Ubuntu с 14.04?

10

примечания к выпуску 14.04 содержат следующее предложение:

  

Поддержка X32 ABI (64-разрядный режим с 32-разрядными указателями).

Я думаю, что это заслуживает большего объяснения. Когда вы используете поисковую систему, чтобы узнать больше о «x32 ABI», вы можете найти статью в Википедии в лучшем случае, но в основном Phoronix и Slashdot, которые, похоже, не очень полезны.

Я хотел бы получить некоторые проницательные ответы на:

  • Как или что из x32 ABI в настоящее время реализовано в 14.04?
    • Включено ли оно по умолчанию в 14.04 64-бит или какие-либо дополнительные шаги, необходимые для установки x32 ABI?
    • Какие компоненты или какое программное обеспечение может использовать x32 ABI?
  • Существуют ли фактические преимущества для машины / установки, работающей с x32 ABI?
    • Каково потребление памяти по сравнению со стандартными 32-разрядными и 64-битными установками?

В идеале x32 ABI должен был собрать лучшее из обоих миров: большая часть улучшений скорости x86-64 и более низкого потребления памяти для пользователей на

задан LiveWireBT 21.04.2014 в 12:31
источник

1 ответ

5

На 64-битной установке у вас будут большие различия в использовании памяти (особенно для приложений, таких как хром, firefox, mysql и java-приложения).

Это хорошо известный побочный эффект 64-битных ОС, так или иначе, 64bit приносит также и некоторые другие преимущества.

Здесь наступает x32 ABI : функция ядра, предназначенная для ограничения этой проблемы.

Что такое x32 ABI:
в соответствии с этим pdf он обеспечивает отличное преимущество памяти по сравнению с 64-битным нормальным ОС (даже повышение на 40%).

Теперь, если я понял x32-ABI, требуется :

  • Linux Kernel 3.4, скомпилированный с CONFIG_X86_X32 = y
  • Gcc 4.7
  • Binutils 2.22
  • Glibc 2.16
  • Перекомпиляция всех системных библиотек, необходимых приложению, с помощью gcc -mx32

Как попробовать
Новое ядро ​​имеет обязательный флаг по умолчанию, поэтому вам нужно only упакованный скомпилированный в правильном порядке (здесь Gentoo наверняка правила;)
На Ubuntu я не уверен, что для этого существует какой-либо репозиторий / ppa, так как Debian и Arch имеют некоторое решение:

Debian

  • Инструкции о том, как настроить среду chroot и запустить X32-ABI на debian: Ссылка

  • Здесь размещаются пакеты x32: Ссылка

  • Информация о x32 порт Debian Ссылка

Arch

  • Здесь репозиторий со многими пакетами X32 (например, chromium, mysql): Ссылка
ответ дан Postadelmaga 19.03.2015 в 04:10
источник