Skip to content

libelf: fix build with clang 16 on Darwin#235501

Merged
toonn merged 1 commit intoNixOS:stagingfrom
reckenrode:libelf-clang-darwin
Jun 11, 2023
Merged

libelf: fix build with clang 16 on Darwin#235501
toonn merged 1 commit intoNixOS:stagingfrom
reckenrode:libelf-clang-darwin

Conversation

@reckenrode
Copy link
Copy Markdown
Contributor

Description of changes

Clang 16 does not allow main with an implicit int, which causes the configure script to misdetect clang as a non-working compiler. Patching configure.in and regenerating configure allows libelf to build.

Due to the comment regarding bootstrap tools, this patching is only done on Darwin with clang.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.11 Release Notes (or backporting 23.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Clang 16 does not allow `main` with an implicit `int`, which causes the
configure script to misdetect clang as a non-working compiler. Patching
`configure.in` and regenerating `configure` allows libelf to build.

Due to the comment regarding bootstrap tools, this patching is only done
on Darwin with clang.
@ofborg ofborg bot added 6.topic: darwin Running or building packages on Darwin 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: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Jun 2, 2023
Copy link
Copy Markdown
Contributor

@toonn toonn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@toonn toonn merged commit c11f723 into NixOS:staging Jun 11, 2023
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 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: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants