-
Notifications
You must be signed in to change notification settings - Fork 2
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
General project updates; rebase onto upstream v6.11; add notes about CONFIG_WERROR #17
base: llvm-trunk-next
Are you sure you want to change the base?
Conversation
@@ -1,7 +1,7 @@ | |||
From 7c60851daae39815fa696fc2265e838b1913f7ac Mon Sep 17 00:00:00 2001 | |||
From: Wentao Zhang <[email protected]> |
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.
In the sent version 2 I accidentally included my personal email here in the cover letter. I dry-run with myself a few times, checked a few places but somehow ignored this one..
I suppose it should not create a "Signed-off-by chain" issue as it's not a patch? I will pay attention in future updates.
56c4610
to
155c1eb
Compare
13c4a11
to
3ffae81
Compare
It does not look like any lines of code are changed as a result of the rebase and the v2.0 patches still apply cleanly to v6.11 as well as the current torvalds HEAD commit ( I recommend you remove the v3.0 patch set and associated changed and limit this PR to project updates. |
This is probably a silly mistake I am making, but since there is possible build breakage, I am erring on the side of caution and reporting early. Currently investigating an issue where build warnings are suddenly being interpreted as errors when using the latest LLVM 20 HEAD commit. I have an old build of LLVM 20 based on commit b076f6640e3c2781410588f4a8e4ccfeed8eb606 that does not seem to have the issue. I did a full LLVM 20 build from 0673642cab6b6a9eec20d4ea4ee6bc46db47e04c and kernel build warnings seem to be interpreted as errors. I also note that a big pile of LLVM commits just landed after 0673642cab6b6a9eec20d4ea4ee6bc46db47e04c, which somewhat complicates the issue. I am going to re-verify LLVM 19.1.0 and bisect the LLVM 20 build. Either I will find a specific commit that is causing the issue, or figure out the silly mistake I am making.
|
Thanks for the investigation. What are the build warnings/errors you are seeing? Are they those MC/DC related ones? Can you post it here? Update 1: Ok. I'm reproducing it as well. I can also take a look. Update 2: the root cause is, previously Check the following with your old and new LLVM respectively. cat > test.c << 'EOF'
int foo(int x) { return x; }
int main(void) {
int a, b, c, d, e, f, g, h;
a && b && c && d && e && f && g;
a && foo( b && c );
return 0;
}
EOF
clang -Xclang -fmcdc-max-conditions=6 -Werror -Wno-unused-value -fprofile-instr-generate -fcoverage-mapping -fcoverage-mcdc test.c -o test Update 3: I can confirm llvm/llvm-project@e7f782e is one of the breaking commits. By "one of" I mean the PR in question was applied and reverted multiple times that day (history), so it's possible to see pattern "...warning, error, warning, error..." over that period of time. Added a note in LLVM community here. For our patch, I suppose the only solution in the short term is to disable |
I guess the good news is that this fixes some buggy Clang behavior. I tested LLVM 19.1 and it still displays the old behavior, so the patches should work just fine for anyone testing with a release version of LLVM. I think I agree that Looking at the LLVM code, these look like custom diagnostics here and here, which means we are not likely to find a diagnostic flag flag that we can disable with a We might be able to narrowly manage this if the llvm-project is willing to let us add some diagnostic flags for split nested logical ops and MC/DC max conditions. Then we can update the kernel patch to only disable those particular diagnostics (e.g. Probably the best approach is to add some text in the Kconfig help section warning about this issue. Maybe a lot of people will miss it, but at least we can say we put it in there. We could include that with a v3 patch set now that mainline has some changes that cause the v2 patches to not apply cleanly. I can also confirm using your example:
|
* No longer keep "tentative repository structure" as most of the important stuffs have already been referenced elsewhere in README * Add YouTube live links with anchors before the split version videos are released
952e6cf
to
137c343
Compare
Let me resolve Nathan's comments and rebase onto 6.12-rc1 in a day |
Nathan's first round of comments have been resolved or responded. See patches/v3.0 in this PR and my replies in the mailing list. In the PR, I have reverted the earlier bit about The booting issue reported by Nathan in his latest reply can be reproduced on my side. I will investigate that.
I think we can put Chuck and me there. @chuckwolber you mentioned in another comment you can do that, which is appreciated! Please let us know if there's any other consideration e.g. clearance from Boeing. |
Agreed. Also, I believe since the nested boolean warning is due to unimplemented functionality in the LLVM MC/DC code, we should expect that that error will eventually go away.
Also investigating it myself and I am able to reproduce the problem as well. The
Yes, that is correct, and no additional approvals or clearances required. I think we can add a fifth patch to the v3 set to update the Also, please add my personal email address ( |
@chuckwolber Please take a look at the latest patches/v3 in this PR. Do you suggest we send it out before or after we have a better understanding of the boot issue? |
I have been testing them. Other than the boot hang issue, they look good. I still need to do a close review of the Yes, I think we should get a better understanding of the boot issue before we submit v3. I was not able to get to it today, but my plan is to add |
I believe I can confirm I am going to drill down on the
|
No description provided.