23 Apr 2025 |
rosssmyth | * Yes, Clang is sane. But right now a clang stdenv can't be built for arm-embedded | 16:41:47 |
dramforever | can you confirm that arm-embedded has ever worked before? | 16:41:52 |
dramforever | to me it doesn't seem like pkgsCross.arm-embedded.stdenv.cc should successfully build for -mcpu=cortex-m0 | 16:43:12 |
dramforever | it is effectively an unimplemented case | 16:43:29 |
dramforever | * it is effectively an unimplemented case in nixpkgs | 16:43:34 |
rosssmyth | Define "worked" | 16:44:09 |
dramforever | successfully produce a program for cortex-m0 | 16:44:35 |
rosssmyth | I showed you how I have done it, and it compiled successfully. I have not flashed any firmware, and inspecting the objdump it would have failed to flash. | 16:44:42 |
rosssmyth | I also just opened an issue because the armv6-m machinery is messed up and doesn't generate the correct gcc | 16:45:12 |
rosssmyth | * I also just opened an issue because the armv6-m machinery is messed up and doesn't generate the correct gcc wrapper | 16:45:19 |
dramforever | maybe i misunderstood but did you ever have an old version of nixpkgs that had a working pkgsCross.arm-embedded.stdenv.cc | 16:46:29 |
dramforever | again, as in, produce code correctly for cortex-m0 | 16:46:46 |
rosssmyth | no | 16:46:50 |
dramforever | okay thanks for clarifying | 16:47:01 |
dramforever | this is the thing i'm getting
../.././newlib/libm/math/e_atanh.c:73:1: sorry, unimplemented: '-fstack-check=specific' for Thumb-1
| 16:47:41 |
dramforever | and like, tens of other errors on other similar functions | 16:47:52 |
rosssmyth | Ok | 16:48:48 |
dramforever | that's (import ./. { crossSystem = { config = "armv6m-none-eabi"; libc = "newlib"; gcc.float-abi = "softfp"; gcc.cpu = "cortex-m0"; }; }).stdenv.cc on aca270648ecaa9450a6feb34ff2d995e0b0a3444 | 16:49:16 |
rosssmyth | There are many broken things in how arm seems to be handled in generating a stdenv | 16:49:22 |
rosssmyth | The armv6m config is broken | 16:49:41 |
rosssmyth | and then handling for cortex-m0 doesn't seem implemented | 16:49:58 |
dramforever | handling for specifying config = "armv6m-none-eabi" isn't implemented | 16:52:29 |
dramforever | as in like, it doesn't know to properly configure armv6m | 16:52:37 |
dramforever | this one would have worked, if there wasn't this -fstack-check problem | 16:53:22 |
dramforever | log https://fars.ee/SUAG | 16:53:26 |
rosssmyth | There is some stuff in lib/systems for armv6m. I do not know what else is needed | 16:53:58 |
dramforever | we need to either pass --with-arch=armv6-m to the gcc config, or pass -march=armv6-m in the gcc wrapper | 16:54:51 |
dramforever | when we parse armv6m, parsed.cpu.arch gets set to "armv6-m" but that seems unused | 16:57:05 |
wucke13 | In reply to @dramforever:matrix.org i've been trying to go all in on the configurification and used gcc.cpu = "cortex-m0" . newlib fails to compile Have you tried stdenvNoLibc ? | 22:09:53 |
24 Apr 2025 |
dramforever | In reply to @wucke13:matrix.org Have you tried stdenvNoLibc ? it would not work because ross indeed need newlib | 00:31:07 |