Merge pull request #318132 from risicle/ris-libdc1394-disable-trivialautovarinit

libdc1394: disable `trivialautovarinit` hardening flag
This commit is contained in:
Thomas Gerbet
2024-06-22 10:48:55 +02:00
committed by GitHub
2 changed files with 11 additions and 0 deletions
+6
View File
@@ -1538,6 +1538,12 @@ Adds the `-ftrivial-auto-var-init=pattern` compiler option. This causes "trivial
Use of this flag is controversial as it can prevent tools that detect uninitialized variable use (such as valgrind) from operating correctly.
This should be turned off or fixed for build errors such as:
```
sorry, unimplemented: __builtin_clear_padding not supported for variable length aggregates
```
#### `stackclashprotection` {#stackclashprotection}
This flag adds the `-fstack-clash-protection` compiler option, which causes growth of a program's stack to access each successive page in order. This should force the guard page to be accessed and cause an attempt to "jump over" this guard page to crash.
@@ -10,6 +10,11 @@ stdenv.mkDerivation rec {
sha256 = "sha256-U3zreN087ycaGD9KF2GR0c7PhfAlUg5r03WLDhnmYJ8=";
};
hardeningDisable = [
# "sorry, unimplemented: __builtin_clear_padding not supported for variable length aggregates"
"trivialautovarinit"
];
buildInputs = [ libusb1 ]
++ lib.optional stdenv.isLinux libraw1394
++ lib.optional stdenv.isDarwin CoreServices;