libredirect: fix build with clang 16#243558
Conversation
* Preferentially use the stdenv clang if it is new enough to produce arm64e binaries; and * Fix incompatible function pointer conversions (results in an error with clang 16).
|
This LGTM based on observing the code and some fiddling around locally. I unfortunately can't test this end-to-end on my aarch64-darwin machine, because the libredirect that I build doesn't work (either on master or staging-next), perhaps because I'm on Ventura. If you're curious, the error is: |
tjni
left a comment
There was a problem hiding this comment.
LGTM if we change the branch to staging due to the number of rebuilds.
|
Whoa, that error only happens with SIP disabled. |
|
Result of 119 packages marked as broken and skipped:
38 packages failed to build:
207 packages built:
|
|
I retargeted to staging because of the number of Linux rebuilds. |
Does it also happen without the patch? That is a weird error. |
|
Result of 119 packages marked as broken and skipped:
47 packages failed to build:
197 packages built:
|
|
Checking some of the failures against master on aarch64-darwin:
|
|
For x86_64-darwin, borgbackup and diffoscope are failing due to e2fsprogs. That failure should be fixed in staging with the stdenv rework and CF updates. |
Yeah, it happens without the patch too. Something to worry about for another day. |
That means it’s not a regression. 🤓 |
| WRAPPER(int, openat)(int dirfd, const char * path, int flags, ...) | ||
| { | ||
| int (*openat_real) (int, const char *, int, mode_t) = LOOKUP_REAL(openat); | ||
| int (*openat_real) (int, const char *, int, ...) = LOOKUP_REAL(openat); |
There was a problem hiding this comment.
Eh, I expect someone was looking at Linux docs instead of POSIX. I'm prone to doing that mistake, too.
Description of changes
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)