この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
ニュースで「Linuxカーネルがx32 ABIを廃止へ」と聞いて、ふと不安になった現役管理者の方も多いと思います。
この記事では、Linuxカーネルが2027年をめどに廃止を検討している「x32 ABI」について、それが何だったのか、なぜ消えるのか、そして自分の運用環境に影響があるのかを、コマンドで確認する方法まで含めて解説します。結論から言うと、ほとんどの本番Linuxサーバーは無関係ですが、組み込みや一部の特殊ビルドでは確認しておく価値があります。
この記事のポイント
・x32 ABIは2027年めどにカーネルから削除される提案が進行中
・普及しなかった「64bitレジスタ+32bitポインタ」のハイブリッドABI
・確認は grep X32 /boot/config-$(uname -r) で一発
・大半の本番サーバーは無関係、影響は組み込み・特殊ビルドに限定
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
x32 ABIとは何だったのか
x32 ABI(エックスサーティーツー・エービーアイ)は、x86-64(64bit)のCPU上で動く、ちょっと変わった実行モードです。一言で言うと「64bitレジスタとデータパスはフルに使うけれど、ポインタだけは32bitに保つ」というハイブリッドな仕組みでした。専門用語ではILP32(int・long・ポインタがすべて32bit)と呼びます。
なぜそんなものを作ったのか。ねらいはメモリ効率です。ポインタを8バイトから4バイトに半減できれば、ポインタを大量に持つプログラムはキャッシュ効率が上がり、メモリフットプリントが小さくなります。それでいて64bitの広いレジスタや高速なシステムコールはそのまま使える、という「いいとこ取り」を目指したわけです。
登場は古く、2011年8月にH. Peter Anvinがカーネルメーリングリストで提案し、2012年のLinux 3.4でマージされました。glibcは2.16から対応しています。コンパイラ側では gcc -mx32 でx32向けのバイナリをビルドできます。
実際、SPEC CPUの整数ベンチマークでは平均5~8%、一部のワークロードでは最大40%という性能向上が報告されていました。数字の上では悪くありません。
なぜ今、廃止が検討されているのか
性能向上の数字があったのに、なぜ消えるのか。理由はシンプルで、ほとんど誰も使わなかったからです。
x32 ABIはLinux固有の仕組みで、WindowsにもmacOSにも移植されませんでした。アプリケーション開発者の立場からすると、x32専用にビルドし直す手間に対して、5~8%の性能改善は「専用環境に乗り換えるほどの動機」にはなりませんでした。結果として、主要なディストリビューションも標準ではx32向けのパッケージ群を整備せず、エコシステムが育たないまま10年以上が経過しました。
2026年に入り、Linutronix社のSebastian Andrzej Siewior氏が、このx32 ABIをカーネルから削除する提案を出しました。提案では「半年間まとまった異議が出なければ、夏季休暇明け(おおむね8月)にコードを削除する」という流れが示されています。これまでのところ大きな反対は出ておらず、「将来システムコール番号を再利用しないように」という技術的な指摘が出た程度です。
Linus Torvaldsを含む上流開発者の多くも、x32の廃止には前向きとされています。異議がなければ、2027年までにカーネルから姿を消す見込みです。裏を返せば、2026年がx32最後の年になる可能性があります。
PR
詳解 Linuxカーネル 第3版(Daniel P. Bovet、Marco Cesati 著/オライリー・ジャパン)
ABIやシステムコール、メモリ管理がカーネル内部でどう扱われるかを腰を据えて理解したいなら、定番の一冊です。x32のような「ポインタ幅とアドレス空間」の話が腑に落ちると、こうした廃止ニュースの意味が一段深く読めるようになります。
自分の環境がx32を使っているか確認する方法
ここが現役管理者として一番気になるところでしょう。「自分の本番サーバーは大丈夫なのか」を確認する手順を示します。RHEL 9 / Rocky Linux 9 / Ubuntu 24.04 LTSで動作確認しています。
1. カーネルがx32対応でビルドされているか
まずはカーネルのコンフィグを見ます。x32対応の可否は CONFIG_X86_X32_ABI というオプションで決まります。
# 稼働中カーネルのコンフィグを確認 grep X32 /boot/config-$(uname -r) # 出力例(無効な場合) # CONFIG_X86_X32_ABI is not set
多くのディストリビューションの標準カーネルでは # CONFIG_X86_X32_ABI is not set となっており、そもそもx32バイナリは動きません。この表示が出ていれば、廃止の影響を受ける余地はゼロです。/boot配下にconfigが無い環境では、代わりに zcat /proc/config.gz | grep X32 を試します。
2. x32バイナリが紛れ込んでいないか
仮にカーネルがx32対応だったとして、次は「実際にx32形式のバイナリを使っているか」です。fileコマンドで判別できます。
# 対象バイナリのABIを確認 file /usr/bin/your-program # x32バイナリの場合、以下のように「x86-64」かつ「32-bit」と表示される # ELF 32-bit LSB executable, x86-64, version 1 (SYSV) ...
通常の64bitバイナリは「ELF 64-bit ... x86-64」、通常の32bitバイナリは「ELF 32-bit ... Intel 80386」と出ます。x32だけが「32-bit」なのに「x86-64」という珍しい組み合わせになるので、ここで見分けがつきます。
3. ツールチェーンの対応を確認する
自分でx32バイナリをビルドしている心当たりがあるなら、コンパイラ側も確認します。
# x32向けにコンパイルできるか試す echo 'int main(){return 0;}' > /tmp/t.c gcc -mx32 /tmp/t.c -o /tmp/t_x32 && file /tmp/t_x32 # 対応していなければ -mx32 でエラーになる
運用への実務的な影響
確認結果を踏まえて、影響範囲を整理します。
結論として、一般的なWebサーバー・DBサーバー・アプリケーションサーバーは、まず影響を受けません。主要ディストリビューションの標準カーネルはx32を無効化しており、配布されるパッケージも64bitの通常バイナリです。「x32 ABI廃止」というニュースを見て慌てる必要は、ほとんどのケースでありません。
注意したほうがよいのは、次のような環境です。
・独自にカーネルをビルドしている組み込み・特殊用途:メモリ制約の厳しい組み込みLinuxで、あえてx32を選んでメモリを節約していたケース。将来のカーネルでビルドが通らなくなるため、64bitかARM等への移行計画が必要になります。
・古い検証環境・レガシーアプリ:長く塩漬けになっている環境で、x32バイナリが残っている可能性。棚卸しの機会に確認しておくと安心です。
・カーネルアップグレードの自動化を組んでいる現場:将来 CONFIG_X86_X32_ABI 自体が消えるため、古いカーネルコンフィグを使い回している場合は差分に出ます。
逆に言えば、影響があるかどうかは前章のコマンド3つで機械的に判定できます。「無関係」と確認できたなら、それで対応完了です。慌てて何かを入れ替える話ではありません。
本記事のまとめ
x32 ABIは、64bitの性能と32bitのメモリ効率を両立させようとした意欲的な仕組みでしたが、Linux固有でエコシステムが育たず、10年余りで役目を終えようとしています。技術として優れていても、普及しなければ維持コストだけが残る——インフラ運用でも通じる話です。
現役管理者としてやるべきことは、ニュースに慌てるのではなく、自分の環境を1回だけ確認しておくことです。
| 確認したいこと | コマンド |
|---|---|
| カーネルのx32対応可否 | grep X32 /boot/config-$(uname -r) |
| バイナリがx32形式か | file /usr/bin/your-program |
| コンパイラのx32対応 | gcc -mx32 source.c -o out |
この3つで「無関係」と分かれば、それ以上やることはありません。私自身、20年以上Linuxサーバーの現場を見てきましたが、こうした「廃止ニュース」の8割は実害なしで、残り2割の特殊環境をいかに早く特定するかが運用の腕の見せどころです。確認する習慣そのものが、次のもっと大きな変更への備えになります。
PR
Linuxシステムプログラミング(Robert Love 著/オライリー・ジャパン)
ABIやシステムコール、ポインタとアドレス空間の関係を「使う側」から理解したい管理者に向いた一冊です。fileコマンドが何を見ているのか、ILP32とは何が違うのかが地続きで分かるようになり、こうした話題を自分の言葉で説明できるようになります。
そのカーネル変更、自信を持って自分の環境を判断できますか?
CONFIG_X86_X32_ABI の確認、fileコマンドでのABI判別、ツールチェーンの対応チェック。記事で読むだけでなく、実機で繰り返し手を動かすことで初めて身につきます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます