Skip to content

[BoringSSL] Update third_party/boringssl-with-bazel#36089

Closed
XuanWang-Amos wants to merge 8 commits intogrpc:masterfrom
XuanWang-Amos:update_boringssl_202403082234
Closed

[BoringSSL] Update third_party/boringssl-with-bazel#36089
XuanWang-Amos wants to merge 8 commits intogrpc:masterfrom
XuanWang-Amos:update_boringssl_202403082234

Conversation

@XuanWang-Amos
Copy link
Copy Markdown
Contributor

@XuanWang-Amos XuanWang-Amos commented Mar 8, 2024

Change was created by the release automation script. See go/grpc-release.

Additional Changes:

Note that this PR does not update BoringSSL to HEAD, we're having an issue with a new symbol in the prefix headers generated by BoringSSL, see discussions here: https://groups.google.com/a/google.com/g/boringssl/c/82dm9pLppGY

@XuanWang-Amos XuanWang-Amos marked this pull request as ready for review March 11, 2024 22:16
@XuanWang-Amos XuanWang-Amos requested review from yashykt and removed request for gnossen and veblush March 11, 2024 22:16
copybara-service bot pushed a commit that referenced this pull request Nov 4, 2024
This might not be needed? (From #37976)

- Boringssl commit requiring -msse2: google/boringssl@56d3ad9#diff-f628d148f94bbab9e22a1ad426ccd94311f1fb87bbe5cc533cb85aee18b07a20R248
- gRPC change to add -msse2 #36089

---

Answer to the quesiton above is yes; The -msse2 option remains necessary for gRPC on i686 due to BoringSSL's requirements. However, the existing CMake condition for this option was too broad, potentially including ARM architectures where SSE2 isn't supported, leading to compilation errors. I've refined the condition to specifically target 32-bit x86 architectures.

Furthermore, to ensure accurate architecture detection within our dockerized tests, I've configured x86 tests to utilize the linux32 command. This ensures that uname -a correctly reports i686, allowing gRPC's CMake to identify the architecture and apply the -msse2 option as needed.

It's important to note that RBE overrides the default entrypoint, so RBE-based tests must explicitly invoke linux32 even if the Docker image already has it set.

Fixes #37976

Closes #38024

PiperOrigin-RevId: 693026079
eugeneo pushed a commit to eugeneo/grpc that referenced this pull request Nov 6, 2024
This might not be needed? (From grpc#37976)

- Boringssl commit requiring -msse2: google/boringssl@56d3ad9#diff-f628d148f94bbab9e22a1ad426ccd94311f1fb87bbe5cc533cb85aee18b07a20R248
- gRPC change to add -msse2 grpc#36089

---

Answer to the quesiton above is yes; The -msse2 option remains necessary for gRPC on i686 due to BoringSSL's requirements. However, the existing CMake condition for this option was too broad, potentially including ARM architectures where SSE2 isn't supported, leading to compilation errors. I've refined the condition to specifically target 32-bit x86 architectures.

Furthermore, to ensure accurate architecture detection within our dockerized tests, I've configured x86 tests to utilize the linux32 command. This ensures that uname -a correctly reports i686, allowing gRPC's CMake to identify the architecture and apply the -msse2 option as needed.

It's important to note that RBE overrides the default entrypoint, so RBE-based tests must explicitly invoke linux32 even if the Docker image already has it set.

Fixes grpc#37976

Closes grpc#38024

PiperOrigin-RevId: 693026079
paulosjca pushed a commit to paulosjca/grpc that referenced this pull request Nov 25, 2024
This might not be needed? (From grpc#37976)

- Boringssl commit requiring -msse2: google/boringssl@56d3ad9#diff-f628d148f94bbab9e22a1ad426ccd94311f1fb87bbe5cc533cb85aee18b07a20R248
- gRPC change to add -msse2 grpc#36089

---

Answer to the quesiton above is yes; The -msse2 option remains necessary for gRPC on i686 due to BoringSSL's requirements. However, the existing CMake condition for this option was too broad, potentially including ARM architectures where SSE2 isn't supported, leading to compilation errors. I've refined the condition to specifically target 32-bit x86 architectures.

Furthermore, to ensure accurate architecture detection within our dockerized tests, I've configured x86 tests to utilize the linux32 command. This ensures that uname -a correctly reports i686, allowing gRPC's CMake to identify the architecture and apply the -msse2 option as needed.

It's important to note that RBE overrides the default entrypoint, so RBE-based tests must explicitly invoke linux32 even if the Docker image already has it set.

Fixes grpc#37976

Closes grpc#38024

PiperOrigin-RevId: 693026079
set(_gRPC_PLATFORM_LINUX ON)
if(NOT CMAKE_CROSSCOMPILING AND CMAKE_SIZEOF_VOID_P EQUAL 4)
message("+++ Enabling SSE2 for ${CMAKE_SYSTEM_PROCESSOR}")
set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} -msse2")
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The commit message says "Require SSE2 when targetting 32-bit x86" and while I see check for "32-bit", I can't see "x86" being checked anywhere.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants