| 23 Jan 2024 |
rdg | any ideas? | 11:27:33 |
Alex | In reply to @rdg:matrix.org any ideas? Have you tried setting gcc.arch in the targetSystem option for nixpkgs?
I'd share some specific code, but I can't find it. I think it might only be on my RISC-V system. | 13:07:12 |
Alex | In reply to @rdg:matrix.org any ideas? If you're compiling natively (YMMV for cross-compilation), the following should work, since it seems to be used by all gcc compilers, including when compiling gcc itself from the bootstrap gcc.
nixpkgs.config.gcc.arch = "rv64g";
| 13:20:24 |
Alex | * If you're compiling natively (YMMV for cross-compilation), the following should work, since it seems to be used by all gcc compilers, including when compiling gcc itself from the bootstrap gcc.
nixpkgs.localSystem.gcc.arch = "rv64g";
| 13:20:53 |
rdg | Alex: I'm cross compiling, so I tried adding it in the nixpkgs.crossSystem.gcc.arch but I don't see it with NIX_DEBUG=1 being added anywhere | 13:27:30 |
rdg | for native compilation we had successfully used nixpkgs.localSystem.gcc.arch in other tests | 13:28:13 |
rdg | https://github.com/NixOS/nixpkgs/blob/15ff1758e7816331033baa14eebbea68626128f3/pkgs/build-support/cc-wrapper/default.nix#L601 | 15:33:44 |
rdg | it is injected before not after the original flags | 15:34:03 |
Alex | In reply to @rdg:matrix.org https://github.com/NixOS/nixpkgs/blob/15ff1758e7816331033baa14eebbea68626128f3/pkgs/build-support/cc-wrapper/default.nix#L601 I think it's because isGccArchSupported "rv64g" is false and you have to patch nixpkgs so that it doesn't think the arch isn't supported.
That whole function is a nightmare for RISC-V's highly customisable ISA... | 15:55:39 |
rdg | the flag arrives to cc-cflags-before | 15:57:33 |
rdg | the problem is that some packages inject their own -march, overriding it | 15:57:55 |
rdg | that's why I used NIX_CFLAGS_COMPILE_riscv64_unknown_linux_gnu, as it gets added after | 15:58:20 |
rdg | but it doesn't work for musl (required for the security wrappers) or rust | 15:58:48 |
Alex | In reply to @rdg:matrix.org the problem is that some packages inject their own -march, overriding it Oh, I think I might have encountered one of those.
But I didn't really need it, so I replaced it with a package that worked (or patched it? I can't remember). | 15:59:10 |
rdg | I'm testing with gcc.arch again, and I will see if I can instead patch the broken packages | 15:59:39 |
rdg | as it seems to be a better solution | 15:59:56 |
| Guilhem left the room. | 16:00:23 |
Alex | Don't forget to look at the wiki page linked in the room description and update it if you find anything new. ^.^ | 16:00:58 |
| 26 Jan 2024 |
rdg | Using gcc.arch = "rv64g" works mostly okay, except for security wrappers that are compiled with pkgsStatic and the flag is not propagated there | 13:48:56 |
rdg | I had to also modify the kernel configuration to disable EFI | 13:49:21 |
rdg | I opened a PR to address the security wrappers issue: https://github.com/NixOS/nixpkgs/pull/283460 | 13:49:39 |
rdg | Now I'm trying to fix the rustc compiler, as it doesn't seem to have any target configuration without compressed instructions | 13:50:04 |
| 27 Jan 2024 |
| Sam Lehman removed their profile picture. | 16:59:32 |
| Sam Lehman set a profile picture. | 16:59:35 |
| Sam Lehman removed their display name Sam Lehman. | 17:03:17 |
| Sam Lehman left the room. | 17:06:46 |
| 29 Jan 2024 |
| Sam Lehman joined the room. | 11:03:20 |
| Sam Lehman set a profile picture. | 11:06:03 |
| hxr404 ✨ [they/them] (offline) joined the room. | 19:30:00 |
| 30 Jan 2024 |
| erremilia left the room. | 19:55:24 |