Skip to content

[Backport staging-23.11] llvmPackages_{15,16,17,git}.libcxx: use LIBCXX_CXX_ABI=libcxxabi link flags on darwin#280518

Merged
RaitoBezarius merged 1 commit intostaging-23.11from
backport-278945-to-staging-23.11
Jan 12, 2024
Merged

[Backport staging-23.11] llvmPackages_{15,16,17,git}.libcxx: use LIBCXX_CXX_ABI=libcxxabi link flags on darwin#280518
RaitoBezarius merged 1 commit intostaging-23.11from
backport-278945-to-staging-23.11

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot commented Jan 12, 2024

Bot-based backport to staging-23.11, triggered by a label in #278945.

  • Before merging, ensure that this backport is acceptable for the release.
    • Even as a non-commiter, if you find that it is not acceptable, leave a comment.

This change applies the upstream PR
llvm/llvm-project#77218 so the same link flags
on darwin are used as when LIBCXX_CXX_ABI=libcxxabi. Specifically, this
adds
"-Wl,-force_symbols_not_weak_list,${CMAKE_CURRENT_SOURCE_DIR}/../lib/notweak.exp"
which prevents libcxx from segfaulting on darwin

(cherry picked from commit 7b62547)
@ofborg ofborg bot added 6.topic: darwin Running or building packages on Darwin 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. labels Jan 12, 2024
@ofborg ofborg bot added 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. labels Jan 12, 2024
@abathur
Copy link
Copy Markdown
Member

abathur commented Jan 12, 2024

Will be good to get this backport through. Without it, the nix in 23.11 is segfaulting on older macOS systems when it tries to print missing packages (see also NixOS/nix#9640):

$ nix-shell -p ponysay --dry-run
Segmentation fault: 11

After applying the patch used here, I can build a Nix that doesn't segfault:

$ nix build .#nix --max-jobs 1
Thu Jan 11 2024 22:16:11 --> 
Fri Jan 12 2024 05:47:56 (7h31m)

$ result/bin/nix-shell -p ponysay --dry-run
this path will be fetched (0.80 MiB download, 10.77 MiB unpacked):
  /nix/store/mw0vgxkffr88239a6mv4idwzawsyw6h3-ponysay-unstable-2021-03-27

@delroth delroth added the 12.approvals: 1 This PR was reviewed and approved by one person. label Jan 12, 2024
@RaitoBezarius RaitoBezarius merged commit 3ca0064 into staging-23.11 Jan 12, 2024
@RaitoBezarius RaitoBezarius deleted the backport-278945-to-staging-23.11 branch January 12, 2024 21:58
@rrbutani rrbutani added the 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related label May 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: darwin Running or building packages on Darwin 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants