[ppc64le] Added GCC-11 and Power support #218
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request addresses build issues encountered on Power architecture with GCC-11, specifically related to the following components: pg_bitutils.c (PostgreSQL), m4, and BoringSSL. The fixes ensure better compatibility and successful compilation on Power systems using GCC-11.
Summary of Changes
1. Power Architecture Support – PostgreSQL Patch
A patch has been added to resolve a build error in pg_bitutils.c encountered specifically on Power architecture.
Patch location: //ml_metadata/third_party:postgresql.patch
2. GCC-11 Compatibility Fix – m4 Patch
Resolved the following compilation error in c-stack.c when building m4 with GCC-11:
error:
missing binary operator before token "(" #elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
Upstream patch taken from Debian sources:
https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/m4/1.4.18-5ubuntu1/m4_1.4.18-5ubuntu1.debian.tar.xz
Patch location: ml_metadata/third_party:zetasql.patch
3. Boringssl Update for GCC-11
A build error was encountered with the previous version of BoringSSL on Power architecture using GCC-11.
The issue was resolved by upgrading the boringssl version.
Update location: WORKSPACE file
Purpose of this PR:
These changes are necessary to ensure successful builds of ml_metadata on Power architecture with GCC-11. They improve cross-platform compatibility and ensure smoother CI/CD integration for platforms using newer compilers.