Closed dtarditi closed 2 years ago
Quick sanity check: Maybe make sure our benchmarks all work and give the same answers as pre-PR, and likewise the regression tests? Just want to make sure the new Checked C compiler stuff we merged with didn't change anything.
We should also merge https://github.com/correctcomputation/checkedc here; it has a bunch of updates to checked headers that may be material to the tests you've run.
Results of the benchmarks on the CC branch and the 3c-jan-2022-update
are same. Attached are the files.
BenchmarkResults.zip
Note: There are minor differences in running time, which is expected.
Great! Let’s merge.
main
branch of https://github.com/secure-sw-dev/checkedc (it wasn't clear whether this had been done already), and they passed.So I see no problem with merging this PR now.
I know we want to update https://github.com/secure-sw-dev/checkedc from https://github.com/correctcomputation/checkedc also, but that doesn't block this PR because the differences in the checked headers do not affect the 3C regression tests and nobody should be using https://github.com/secure-sw-dev/checkedc for anything that is affected by the differences right now. (The checkedc-{vsftpd,thttpd,icecast}
repositories were recently moved to this organization, but their readmes all explicitly say to use https://github.com/correctcomputation/checkedc for now.)
One thing to be aware of is that when this PR is merged, there is a risk of unqualified "closing keywords" in the 3C commit messages in the PR unintentionally closing issues in this repository, just as previous PRs did in Microsoft's repository. (As soon as we learned about the problem in July 2021, we made an effort to stop adding more unqualified closing keywords to 3C, but we may have made some mistakes, and some unqualified closing keywords may remain from between the previous PR and when we learned about the problem.) We should just check for and reopen any affected issues after the merge. It looks like I have write permission on this repository, so I can do that myself when the time comes. Update 2022-02-09: I checked, and there were no unintentionally closed issues because none of the numbers in unqualified closing keywords in the PR corresponded to open issues in this repository.
When I ran testing using the clang regression test suite, there was one 3C failure on Windows. The test 3C/multiple_tu.c caused 3C to crash. This is new and did not happen before the merge. I am investigating. At first glance, it looks like an issue with incorrect handling of a file name string.
When I ran testing using the clang regression test suite, there was one 3C failure on Windows. The test 3C/multiple_tu.c caused 3C to crash. This is new and did not happen before the merge. I am investigating. At first glance, it looks like an issue with incorrect handling of a file name string.
I'd be happy to help with this if you like since I know a bit about the 3C code involved. We no longer have easy access to a Windows machine powerful enough to build 3C, but I could log in remotely to yours. Or if you use git bisect
to find the change that introduced the problem, I might be able to guess the cause.
This PR updates the 3C conversion tool for Checked C to the latest changes at https://github.com/correctcomputation/checkedc-clang. The specific commit hash that we are updating to is https://github.com/correctcomputation/checkedc-clang/commit/79804ee066f04e44583dd6df2dbe883b466aef5d
@mwhicks1, does this look good to you?