惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
MyScale Blog
MyScale Blog
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
Google DeepMind News
Google DeepMind News
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
Martin Fowler
Martin Fowler
酷 壳 – CoolShell
酷 壳 – CoolShell
N
Netflix TechBlog - Medium
MongoDB | Blog
MongoDB | Blog
I
InfoQ
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Help Net Security

LWN.net comments

tcmalloc's weird hack [LWN.net] Fixed? [LWN.net] mpd [LWN.net] Userspace AX.25 [LWN.net] RIP [LWN.net] My two cents... [LWN.net] pipx [LWN.net] Tragedy [LWN.net] A young man destined for glory [LWN.net] And 'less' won't let you search [LWN.net] A great loss [LWN.net] Sad and shocking news [LWN.net] Easy migration from Clementine [LWN.net] Sad coincidence [LWN.net] GNOME is actually usable thanks to Seth et al [LWN.net] Sad news :( [LWN.net] armhf supports preempt_rt [LWN.net] MusicBrainz accurracy [LWN.net] On open source maintainership [LWN.net] Let's stop here [LWN.net] Not a new thing [LWN.net] uv is indeed great pgmoneta Some comments on this on a Postgres blog feed [LWN.net] uv [LWN.net] going to Debian [LWN.net] Upgrading 64-bit-capable systems to 64-bit kernels? [LWN.net] Free Software foundations Maintainers can wait for code review but not for publish review? A reasonably extreme point of view [LWN.net]
Could this break user space? [LWN.net]
farnz · 2026-06-01 · via LWN.net comments

Could this break user space?

Posted Jun 1, 2026 15:43 UTC (Mon) by farnz (subscriber, #17727)
In reply to: Could this break user space? by jpeisach
Parent article: Reconsidering x32 — again

Software built for Windows must be built for the Windows x86 or x64 ABIs, which are unrelated to x32. WINE needs Linux AMD64 libraries for x64 ABI support and (for versions where the WoW64 work in Wine is not done) Linux i386 libraries for x86 ABI support.

Linux's x32 ABI is a special case of Linux's AMD64 where the ABI designers have declared that the top 33 bits of all 64 bit pointers are always going to be the same - either all 1s, or all 0s, and C's long type is 32 bit instead of 64 bit. Other than those two differences (with all of the ripple-through this causes), the ABI is the same as AMD64 - the CPU is in long mode, you have access to RAX through R15 (with RSP, RBP etc) instead of EAX through ESP, segmentation doesn't work etc.

Making the top 33 bits of every pointer the same means that loading and storing pointers can just store the bottom 32 bits of the 64 bit pointer, and load with sign extension, to recover the 64 bit pointer the CPU works with. This was supposed to reduce memory use (halving the RAM used by pointers) and speed things up by reducing cache footprint, but in practice never did by enough to make it worth having.