-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
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
gcc: revert "do not install sys-include headers for cross-compilers." #245550
Conversation
The change reverts commit 7df4387 A few reasons to revert the commit: 1. The change was not enough to restore `-idirafter` override semantic to match unwrapped compiler. 2. The change broke override semantics for cross-compilers 3. The change made override semantics different between cross-compiler and native compiler All of three have some overlap between, but I think it's important to call all of them out. The main fallout is the uboot builds, reported by cynerd. Used the following test to check the override recovery: $ nix shell github:NixOS/nixpkgs/release-22.05#pkgsCross.aarch64-multiplatform.stdenv.cc $$ cat stdio.h # empty $$ printf "#include <stdio.h>" | aarch64-unknown-linux-gnu-gcc -E - -o - -idirafter . >/dev/null; echo $? 0 It failed before the change and succeded after.
Validated the fix helped for a smaller test:
|
And also tested on @Cynerd 's config as:
The change recovered the build. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a very good idea. Especially because the conditional can't be known at eval-time, so this if-then-fi
can't be lifted into Nix code.
I will merge this as soon as my rebuilds complete.
Building on:
-
x86_64-linux
-
powerpc64le-linux
-
aarch64-linux
(cross fromx86_64-linux
) -
mips64el-linux
mixedn32
/64
(cross fromx86_64-linux
)
Also built:
-
pkgs.tests.cross.sanity
(almost finished)
Caused bootstrap failure on |
This turned out to be due to parallel stripping, rather than |
The change reverts commit 7df4387
A few reasons to revert the commit:
-idirafter
override semantic to match unwrapped compiler.All of three have some overlap between, but I think it's important to call all of them out.
The main fallout is the uboot builds, reported by cynerd.
Used the following test to check the override recovery:
It failed before the change and succeded after.
Description of changes
Things done
sandbox = true
set 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/
)