Skip to content
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

Add support to delocate.go to parse output from GCC 11 and test with AL2022 #745

Merged
merged 3 commits into from
Jan 6, 2023

Conversation

andrewhop
Copy link
Contributor

Issues:

Resolves CryptoAlg-1482

Description of changes:

  1. Add support for the GCC 11 FIPS static build by handling pinsrq instructions
  2. Update error message to make it a bit easier to figure out if similar new instructions get misclassified in the future
  3. Add AL2022 base image
  4. Add AL2022 images with gcc and clang
  5. Update CDK to run the regular build and fips build with each compiler (4 new builds)

Call-outs:

None

Testing:

Built images locally and ran tests. Working on deploying the CI to my account next.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and
the ISC license.

…uration to build and run AWS-LC tests on Amazon Linux 2022.
@ottok
Copy link

ottok commented Jan 6, 2023

I have not reviewed the code nor tested it but I +1 that the bug is relevant and it is important for AWS-LC to test every commit on Amazon Linux 2022 and so that downstream projects/users of AWS-LC on any version of Amazon Linux can "just use it" without extra work.

rm -rf awscliv2.zip aws/ && \
mkdir -p ${DEPENDENCIES_DIR} && \
cd ${DEPENDENCIES_DIR} && \
git clone https://github.com/llvm/llvm-project.git --branch llvmorg-15.0.6 --depth 1 && \

Choose a reason for hiding this comment

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

Why does this require llvm? Also why version 15 when the al2022 version of clang is 14?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

To run the memory sanitizer without false positives from inside the C standard functions we need to compile libc as a part of our build. I didn't think about the clang 14 vs llvm 15. This only needs the libcxx and libcxxabi parts, but it makes more sense to use the matching set.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Turns out nothing was using this and trying to add the sanitizer results in C++11 vs 17 version issues. I'll tackle this all later.

@andrewhop andrewhop merged commit 59a219a into aws:main Jan 6, 2023
@andrewhop andrewhop mentioned this pull request Jan 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants