:ihavenomouth: on Nostr: Caleb James DeLisle you know what :scholar: x86 is not fucked up enough ...
Caleb James DeLisle (nprofile…mj4q) you know what
x86 is not fucked up enough
The problem with most 32 bit is it's a compatibility layer for old binaries, so it's an older / trashier instruction set.
What I want is 64 bit registers, 64 bit syscalls, entire system is 64 bit, but, you know that you're never going to have a pointer above 2**32 so you can encode pointers as 32 bit values.
It looks like this is possible already, and it's just ABI/compiler/loader shit to make it work.
mmap() already has a flag MAP_32BIT to require that the mapping goes in the lower 32 bits.
It's probably possible to compile libc/linker/loader with like __INTPTR_WIDTH__ 32 and so on, but telling the compiler to make 64 bit assembly 😈 , and then just patch in a syscall shim so that syscalls are done correctly with 64 bit words.
Published at
2025-01-25 10:22:24Event JSON
{
"id": "6a1758e67ea745562c4c5fdfb139c1417d555fb6cba09aa923479f75177f07f1",
"pubkey": "80ee8adeda8e5da3db21e3c53e89092adbf79cadb7074e8d61ad5f759803c1c5",
"created_at": 1737800544,
"kind": 1,
"tags": [
[
"p",
"dde9dd6efbaf3c747c06bfd60f732666acd686e4c2eff471937f0c7c5fca5e0e",
"wss://relay.mostr.pub"
],
[
"q",
"1b801df4541d1a3896f2bbe31aeea923ebd06db90fdbbcb515992337beb365de",
"wss://relay.mostr.pub"
],
[
"emoji",
"scholar",
"https://clubcyberia.co/emoji/misc/scholar.png"
],
[
"proxy",
"https://clubcyberia.co/objects/acebbd3c-41bf-40f5-9f3c-6ba2bd353816",
"activitypub"
]
],
"content": "nostr:nprofile1qy2hwumn8ghj7un9d3shjtnddaehgu3wwp6kyqpqmh5a6mhm4u78glqxhltq7uexv6kddphycthlguvn0ux8ch72tc8qxpmj4q \nyou know what\n:scholar: \nx86 is not fucked up enough\n\nnostr:nevent1qy2hwumn8ghj7un9d3shjtnddaehgu3wwp6kyqpqrwqpmaz5r5dr39hjh0334m4fy04aqmdepldmedg4ny3n004nvh0qwhkntw",
"sig": "8adc30ea4a93f43d64881ae540d248426bfd6d23a0754dbac814f54cf38d73d8a7b3b5bd5434012fe86b3b5b8587e1ae8ef3f2e52c992b1b710c6eb89e68eff7"
}