-
Notifications
You must be signed in to change notification settings - Fork 161
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
Update BoringSSL to 6a2ccdcc2ed1d37a43a2183658d2ae61fd5ce208 #255
Conversation
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.
Changes to the vendor script look good. Didn't review every line of vendored code of course. Looks like the API break pipeline is just because the branch is outdated with main.
|
||
if(CMAKE_SYSTEM_NAME STREQUAL Darwin AND CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64") | ||
target_sources(CCryptoBoringSSL PRIVATE | ||
crypto/chacha/chacha-x86_64-mac.mac.x86_64.S |
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.
What happened to all of the asm? And is this big if
needed anymore?
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.
Good catch. It's still there, but I suspect the script is looking in the wrong place.
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.
Ah yeah, so these are now generated by BoringSSL, and it expects the names to match.
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.
Now fixed.
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.
OOI what happens if they are missing? Presumably there's a lower-perf fallback?
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.
No, I think the compile would fail. You need NO_ASM
set to fallback. We don't build the cmake version in CI here which is why we didn't notice.
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.
There is a cmake
CI job which did pass:
https://ci.swiftserver.group/job/swift-crypto-cmake-prb/306/
It builds the project with ninja:
swift-crypto/docker/docker-compose.yaml
Line 37 in 81bee98
command: /bin/bash -xcl "cmake -G Ninja -D CMAKE_BUILD_TYPE=Release -B out -S . && ninja -C out" |
and it looks like we only set NO_ASM
when building was WASI:
Line 104 in 81bee98
.define("OPENSSL_NO_ASM", .when(platforms: [Platform.wasi])), |
This is a little surprising given the above...
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.
Yeah, that's very curious.
8841cb1
to
08ee77f
Compare
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.
LGTM
There have been a few changes in the BoringSSL build, so those are present in this commit too. Otherwise, this updates BoringSSL to 6a2ccdcc2ed1d37a43a2183658d2ae61fd5ce208.