| 10 Apr 2025 |
Tristan Ross | So WG14 is looking to make many libc functions use const char* instead of char* after like 40 years. This brings a problem where many things aren't expecting this. There will be a C revision which includes this so we don't have to deal with it immediately. However, one of the WG14 people discussed this with the LLVM libc team which I am a part of. I've found a few things broken via Nix. One of which seems to be makeWrapper, -Werror=write-strings is a good mechanism for catching this. Do we want to enable that flag in a few places so we can start catching this? | 19:04:23 |
Alyssa Ross | I think it depends if we have people who want to be part of fixing upstreams, which will be a lot of tedious work but a nice way to do good. Usually Fedora and Gentoo do most of that but would be great for us to do more. | 19:06:06 |
Tristan Ross | Yeah, that's why I tested things here. | 19:06:23 |
Tristan Ross | openssl and expect both fail in the fixupPhase but key-utils itself actually has a problem. | 19:06:50 |
Tristan Ross | It's likely we won't see the downstream effect of the const char* stuff until a long time from now but working on the problem sooner than later may not be a bad idea. | 19:07:30 |
Tristan Ross | Aaron Ballman is who I've been on contact with for this btw. | 19:08:12 |
Alyssa Ross | Yeah | 19:08:15 |
Alyssa Ross | We could maybe have a low-activity Hydra jobset? | 19:08:24 |
Tristan Ross | Yeah, that may not be a bad idea | 19:08:36 |
Alyssa Ross | Great that you're involved in this so proactively | 19:08:59 |
Tristan Ross | As a quick and dirty way to get started, I just did this:
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 692474d48c42..262594e6dd15 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -845,6 +845,10 @@ stdenvNoCC.mkDerivation {
substituteAll ${./add-clang-cc-cflags-before.sh} $out/nix-support/add-local-cc-cflags-before.sh
''
+ + ''
+ echo "-Werror=write-strings" >> $out/nix-support/cc-cflags
+ ''
+
##
## Extra custom steps
##
| 19:08:59 |