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

Initial commit to build on ARM #99

Merged
merged 2 commits into from
Apr 9, 2020

Conversation

SalusaSecondus
Copy link
Contributor

Issue #, if available: #40

Description of changes:
Changes necessary to support ARM64/aarch64.

This does not include changes to our build/publishing system and so will not publish to maven or otherwise release these artifacts.

Additionally, as standardized support for hardware entropy is not yet common on aarch64, this version disables the build-in implementation of SecureRandom. This is identical behavior to ACCP on x86_64 systems lacking RDRAND.

This commit includes a patch file from openssl/openssl#10842 with special thanks to @sztomi who graciously released his patch under the MIT license.

As our integrated tests do not (currently) run on aarch64, I have run the following commands locally on my aarch64 ec2 instance and all have been successfull.

  • ./gradlew clean
  • ./gradlew release
  • ./gradlew test_integration
  • ./gradlew test_extra_checks test_integration_extra_checks

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@SalusaSecondus SalusaSecondus force-pushed the arm branch 2 times, most recently from c84304c to bd97448 Compare April 7, 2020 19:06
@SalusaSecondus
Copy link
Contributor Author

Closing and re-opening to force re-run of checks (now that they have patch installed).

@SalusaSecondus SalusaSecondus reopened this Apr 7, 2020
@SalusaSecondus SalusaSecondus reopened this Apr 7, 2020
@SalusaSecondus SalusaSecondus reopened this Apr 7, 2020
@SalusaSecondus SalusaSecondus reopened this Apr 7, 2020
@SalusaSecondus SalusaSecondus marked this pull request as ready for review April 7, 2020 21:23
README.md Outdated Show resolved Hide resolved
AzeemJiva
AzeemJiva previously approved these changes Apr 9, 2020
Copy link

@AzeemJiva AzeemJiva left a comment

Choose a reason for hiding this comment

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

LGTM

scottarc
scottarc previously approved these changes Apr 9, 2020
@SalusaSecondus SalusaSecondus dismissed stale reviews from scottarc and AzeemJiva via 73a3949 April 9, 2020 17:33
Copy link

@AzeemJiva AzeemJiva left a comment

Choose a reason for hiding this comment

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

I like the updated README, still LGTM

Copy link
Contributor

@seebees seebees left a comment

Choose a reason for hiding this comment

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

The license headers should be updated. You can update the individual files to remove the date, or you need to update the date to the current year.

// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

We should have a big PR to update all the files to avoid this.

@@ -4,6 +4,7 @@

### Improvements
* Now uses [OpenSSL 1.1.1f](https://www.openssl.org/source/openssl-1.1.1f.tar.gz). [PR #97](https://github.com/corretto/amazon-corretto-crypto-provider/pull/97)
* **EXPERIMENTAL** support for aarch64 added. [PR #99](https://github.com/corretto/amazon-corretto-crypto-provider/pull/99)
Copy link
Contributor

Choose a reason for hiding this comment

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

I would suggest moving to something like https://www.conventionalcommits.org/en/v1.0.0/ to handle this.
Out of scope for this PR, just a note.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We are not changing our versioning of ACCP at this time.

add_custom_target(check-rdrand
COMMAND $<TARGET_FILE:test_rdrand>
)
add_dependencies(check check-rdrand)
Copy link
Contributor

Choose a reason for hiding this comment

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

Does this mean you are adding check twice? Here and below?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No. The first element check is getting a new dependency check-rdrand.

@@ -716,6 +723,8 @@ add_custom_target(run-benchmark

set_target_properties(run-benchmark PROPERTIES EXCLUDE_FROM_ALL 1)

if (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
Copy link
Contributor

Choose a reason for hiding this comment

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

Everything under this is not re-indented, is this intentional?
Also, you have a comment at the end # End of Dieharder targets, would it be good to have one at the beginning?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll change the closing comment to # End of x64_64 only targets

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