15 Apr 2025 |
Tristan Ross | I should compile with LLVM and Clang since GCC causes like a 15% dip in performance. | 05:00:29 |
dramforever | the x32ification has begun | 05:01:22 |
dramforever | thanks for the rubber ducky debugging i just did exactly what i tried yesterday but on master instead of an old nixpkgs | 05:01:43 |
dramforever | ...stdenv-linux/setup: line 319: type: install_name_tool: not found | 05:18:54 |
dramforever | i knew it wouldn't be that easy | 05:19:01 |
dramforever | nevermind that's benign the real error is mv: cannot stat '/nix/store/vszns96v7clqrwfy6lymff7r2lf6xw64-x86_64-unknown-linux-gnux32-nolibc-gcc-14-20241116-lib/x86_64-unknown-linux-gnux32/li b/libgcc_s.so': No such file or directory | 05:25:07 |
Tristan Ross | Fun | 05:27:26 |
dramforever | it's installed to libx32???? | 05:38:52 |
dramforever | no way | 05:39:00 |
dramforever | the fun truly begins, i guess | 05:39:33 |
Tristan Ross | Oh, that's fun. We'll need things to be adjusted now lol. | 05:55:19 |
dramforever | i've performed some adjustments | 05:56:02 |
dramforever | there's move-lib64.sh that i haven't touched yet because i fear | 05:56:17 |
dramforever | not really relevant but all this started as a joke | 05:56:50 |
Tristan Ross | Make move-libx32.sh a thing lol | 05:56:57 |
dramforever | the joke being one weird trick to save memory on nix eval
max rss (KiB)
i686 823492
x86_64 1223344
i686 (gc off) 1137444
x86_64 (gc off) 1754408
| 06:00:22 |
dramforever | save a third of memory usage with this one weird trick | 06:01:07 |
dramforever | but it runs slower | 06:01:16 |
dramforever | so, only one way to fix it | 06:01:21 |
dramforever | i would have sent you a bar graph but you know | 06:02:22 |
dramforever | okay, isCompatible is just wrong now | 06:18:08 |
dramforever | or is it like, theoretical? | 06:18:26 |
dramforever |
NOTE: not always true! Some arm64 cpus don’t support arm32 mode okay, not very confidence inspiring
| 06:19:16 |
dramforever | *
NOTE: not always true! Some arm64 cpus don’t support arm32 mode
okay, not very confidence inspiring
| 06:19:23 |
dramforever | chat should x64.canExecute x32 be true? it's not default enabled in linux | 06:23:29 |
dramforever | i gave it false because it's false on my machine, currently at least, and now we have x86_64-unknown-linux-gnux32-gcc | 06:37:46 |
dramforever | * i gave it false because it's false on my machine, currently at least, and now we are building x86_64-unknown-linux-gnux32-gcc | 06:42:25 |
dramforever | hell yeah now we got business
[dram@sakuya ~/code/nixpkgs]% /nix/store/7s53146ig1117bfx64l2f94nm2q3aahx-glibc-x86_64-unknown-linux-gnux32-2.40-66/lib/ld-linux-x32.so.2 /nix/store/1p04yi3n469vw3khyvbn9dnllxyga5av-hello-x86_64-unknown-linux-gnux32-2.12.1/bin/hello
Hello, world!
[dram@sakuya ~/code/nixpkgs]% file /nix/store/1p04yi3n469vw3khyvbn9dnllxyga5av-hello-x86_64-unknown-linux-gnux32-2.12.1/bin/hello
/nix/store/1p04yi3n469vw3khyvbn9dnllxyga5av-hello-x86_64-unknown-linux-gnux32-2.12.1/bin/hello: ELF 32-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /nix/store/7s53146ig1117bfx64l2f94nm2q3aahx-glibc-x86_64-unknown-linux-gnux32-2.40-66/lib/ld-linux-x86-64.so.2, for GNU/Linux 3.10.0, not stripped
| 07:01:27 |
dramforever | Tristan Ross: in case you want to suffer with me together: https://github.com/dramforever/nixpkgs/tree/add-x32-wip | 08:07:11 |
dramforever | let's see what the nixpkgs overlords have to say about this https://github.com/NixOS/nixpkgs/pull/398802 | 08:47:55 |