| 18 Dec 2025 |
emily | we can just fix that, though. | 15:37:51 |
emily | I mean, "just" | 15:37:55 |
emily | it's effort better spent than trying to integrate gcc-arm-embedded further, IMO | 15:38:07 |
emily | source-building the right GCC is not really the hard part | 15:38:17 |
@rosssmyth:matrix.org | I put some effort into that once and it will probably require a breaking change in the embedded parts of lib.systems or multilib support. For example when one writes lib.systems.examples.arm-embedded that will compile a GCC that only targets Armv4 (iirc). So ror any reasonable usage multilib is required because FUCK compiling GCC for every little arm variant. But if you try to make a GCC for specific targets, it also fails (I can't remember why, it's been a while since I tried). There's also build system funniness, such as CMake interpreting embedded target triple differently than GCC and Clang. | 15:45:35 |
@rosssmyth:matrix.org | * I put some effort into that once and it will probably require a breaking change in the embedded parts of lib.systems or multilib support. For example when one writes lib.systems.examples.arm-embedded that will compile a GCC that only targets Armv4 (iirc). So for any reasonable usage multilib is required because FUCK compiling GCC for every little arm variant. But if you try to make a GCC for specific targets, it also fails (I can't remember why, it's been a while since I tried). There's also build system funniness, such as CMake interpreting embedded target triple differently than GCC and Clang. | 15:45:50 |
emily | the embedded parts of lib.systems are sufficiently little used that I'm not very concerned about breaking changes to them | 15:46:05 |
@rosssmyth:matrix.org | * I put some effort into that once and it will probably require a breaking change in the embedded parts of lib.systems or multilib support. For example when one writes lib.systems.examples.arm-embedded that will compile a GCC that only targets Armv4 (iirc). So for any reasonable usage multilib is required because FUCK compiling GCC for every little arm variant. But if you try to make a GCC for specific targets, it also fails (I can't remember why, it's been a while since I tried). There's also build system funniness, such as CMake interpreting embedded target triples differently than GCC and Clang. | 15:46:07 |
emily | (I also don't think one GCC build per target is that bad though) | 15:46:18 |
emily | (if you don't want to rebuild a compiler per target my suggestion is to use LLVM :) ) | 15:46:26 |