-
-
Notifications
You must be signed in to change notification settings - Fork 14k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cctools: 973.0.1 -> 1010.6 #307880
cctools: 973.0.1 -> 1010.6 #307880
Commits on Jul 13, 2024
-
ld-wrapper: use a temporary file for reponse file
This changes ld-wrapper to use a temporary file for the response file passed to ld instead of using process substitution. ld64 does not handle long command-lines when reading from the response file, which defeats the point of using a response file to handle long command-lines. cctools-port was patched to work around this, but nixpkgs is now using Apple’s source release directly instead of the port. Since it’s preferable not to patch Apple’s release heavily (to reduce the difficulty of updating to new versions and to match upstream’s behavior), use the approach that was adopted in cc-wrapper to work around issues with response files in newer versions of clang. Related PRs (cctools-port): - NixOS#213831 - tpoechtrager/cctools-port#132 Related PRs (cc-wrapper): - NixOS#245282 - NixOS#258608
Configuration menu - View commit details
-
Copy full SHA for 1cb1853 - Browse repository at this point
Copy the full SHA 1cb1853View commit details -
libredirect: use llvmPackages unconditionally
Darwin and its bootstrap tools both use LLVM 16, which is sufficient for arm64e support in LLVM. Thsi change removes an unnecessary LLVM 13 build from the stdenv bootstrap.
Configuration menu - View commit details
-
Copy full SHA for 4712e8f - Browse repository at this point
Copy the full SHA 4712e8fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 91d8dd9 - Browse repository at this point
Copy the full SHA 91d8dd9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a545f6 - Browse repository at this point
Copy the full SHA 3a545f6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f45223 - Browse repository at this point
Copy the full SHA 7f45223View commit details -
darwin.Libsystem: get headers from AvailabilityVersions
While these headers correspond to a newer SDK, they’re compatible with the 10.12 SDK and more compatible with GCC.
Configuration menu - View commit details
-
Copy full SHA for b7952b4 - Browse repository at this point
Copy the full SHA b7952b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ee4fe5 - Browse repository at this point
Copy the full SHA 4ee4fe5View commit details -
Configuration menu - View commit details
-
Copy full SHA for baf3568 - Browse repository at this point
Copy the full SHA baf3568View commit details -
Configuration menu - View commit details
-
Copy full SHA for cdf968c - Browse repository at this point
Copy the full SHA cdf968cView commit details -
Configuration menu - View commit details
-
Copy full SHA for f02b50b - Browse repository at this point
Copy the full SHA f02b50bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9f68d60 - Browse repository at this point
Copy the full SHA 9f68d60View commit details -
darwin.stdenv: make sure curl cannot be used
Fetchers can use the `curl` binary from the bootstrap tools. Allowing packages in the Darwin bootstrap to link curl makes any curl update cause a full rebuild on Darwin, which is undesirable.
Configuration menu - View commit details
-
Copy full SHA for 65a37e7 - Browse repository at this point
Copy the full SHA 65a37e7View commit details -
darwin.stdenv: always use a response file
The bootstrap tools have been updated, so it is no longer necessary to suppress using a response file in the Darwin stdenv bootstrap.
Configuration menu - View commit details
-
Copy full SHA for 8559d64 - Browse repository at this point
Copy the full SHA 8559d64View commit details -
Configuration menu - View commit details
-
Copy full SHA for 78da51c - Browse repository at this point
Copy the full SHA 78da51cView commit details -
Darwin no longer uses GNU binutils and prevents it from being used in the bootstrap. This hack is no longer necessary.
Configuration menu - View commit details
-
Copy full SHA for 7f1bc0d - Browse repository at this point
Copy the full SHA 7f1bc0dView commit details -
darwin.stdenv: clean up GNU binutils ban
- Only propagate binutils-unwrapped; and - Clarify in the `throw` that it cannot be used in the Darwin bootstrap.
Configuration menu - View commit details
-
Copy full SHA for 05e5d7f - Browse repository at this point
Copy the full SHA 05e5d7fView commit details -
darwin.stdenv: consolidate stage 2 into one stage
Separate stages are no longer necessary because CF is not built from source and will not be built in the future.
Configuration menu - View commit details
-
Copy full SHA for 9403fdc - Browse repository at this point
Copy the full SHA 9403fdcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 10c87ee - Browse repository at this point
Copy the full SHA 10c87eeView commit details -
bintools-wrapper: drop postLinkSignHook
When the linker signs a Mach-O binary, it sets a flag in the signature’s code directory indicating that the signature was generated by a linker. Tools such as `strip` and `install_name_tool` read this flag and will update ad hoc signatures after they perform their modifications. The updated l64 supports signing binaries automatically. Both the updated cctools and LLVM will check for the linker-signed flag and resign binaries they modify automatically when it’s present. Given that, use of postLinkSignHook is unnecessary and potentially harmful. In particular, if the hook is used and an unwrapped `strip` or `install_name_tool` is on the user’s path, they will not automatically update an ad hoc signature. Instead, they will issue a warning and create a binary with a broken signature. It is more robust to let the tools handled this since the only time a signature would not be linker-signed is when the user is manually invoking `codesign` (or another tool such as `sigtool` or `rcodesign`), which by nature of the invocation updates the signature to a valid one. Since `strip` no longer needs to be wrapped for code-signing, binutils-wrapper now uses the GNU strip wrapper on Darwin. Fixes NixOS#208951.
Configuration menu - View commit details
-
Copy full SHA for c922cb2 - Browse repository at this point
Copy the full SHA c922cb2View commit details -
Configuration menu - View commit details
-
Copy full SHA for a49dbb2 - Browse repository at this point
Copy the full SHA a49dbb2View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca92415 - Browse repository at this point
Copy the full SHA ca92415View commit details
Commits on Jul 14, 2024
-
ghc: update Darwin bintools references
- Unconditionally get `install_name_tool` from cc.bintools.bintools since it is no longer wrapped; and - Use the `strip` wrapper on both Darwin architectures. It’s the default one, and it’s the same between both.
Configuration menu - View commit details
-
Copy full SHA for 79f5f9b - Browse repository at this point
Copy the full SHA 79f5f9bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 76e1209 - Browse repository at this point
Copy the full SHA 76e1209View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9641ac5 - Browse repository at this point
Copy the full SHA 9641ac5View commit details