Comments (7)
Was building fine (except for -Wexpansion-to-defined warnings) as of d979cae.
from ms-tpm-20-ref.
TravisCI build passes for x64 and i386 Linux build configurations. I'm quite confident that the merge did not contain any changes that could specifically affect the ARM architecture. So, something is probably wrong with your build environment. In particular, both RSA_PRIVATE_SIZE and PRIVATE_VENDOR_SPECIFIC_BYTES are defined in Implementation.h. And the latter is included by all reference implementation source files.
from ms-tpm-20-ref.
Have you tried building for OPTEE with ARM64? Is OPTEE build succeeding for you?
TA_DEV_KIT_DIR=path/to/export-ta_arm64 TA_CPU=cortex-a53 CROSS_COMPILE=aarch64-linux-gnu- \
make -C ms-tpm-20-ref/Samples/ARM32-FirmwareTPM/optee_ta/fTPM
from ms-tpm-20-ref.
from ms-tpm-20-ref.
Inline with what @jordanrh1 said, I experience the same issues (arm32 build) when following the instructions as provided by this git. I've bisected the commit that introduces the build regression to:
5847c02ff793114343dc18e92e60e2919fadc0b8 is the first bad commit
commit 5847c02ff793114343dc18e92e60e2919fadc0b8
Author: Andrey Marochko <[email protected]>
Date: Fri Feb 8 13:28:00 2019 -0800
Rev. 1.52.
- X.509 support
- RSA keys representation optimized
:100644 100644 883ea24e738d315d3d951c111545ce2cbb93fa35 8c151f4a8437f069cc0abf524b701d416eb44b18 M .gitignore
:040000 040000 fa7aac36d722c87f95e1ca5f77066660e2b3e26f 69b4c619b2c0eb94beeb3896bf020d156b902229 M TPMCmd
Everything prior to this works fine when following the instructions in this git. That commit is huge, so I haven't been able to figure out what is going wrong.
from ms-tpm-20-ref.
I'm not sure how this is supposed to work, but it looks like there are lots of differences between these two files
./Samples/ARM32-FirmwareTPM/optee_ta/fTPM/reference/include/Implementation.h
./TPMCmd/tpm/include/Implementation.h
What is the reason for having them both? Should they be more or less identical? They looked much more similar on the old version (that doesn't have a build regression). It's clear that we get undeclared variables when compiling the optee_ta, since indeed Implementation.h are missing many of the defines that are being used.
from ms-tpm-20-ref.
Hi Joakim,
Yes, the reason of the build failure is that the OPTEE source tree uses a (slightly) modified copy of Implementation.h instead of including the latter and then redefining some of its macro symbols (mostly supported algorithms, AFAIK). Devs who maintain the OPTEE code are aware of the issue and were going to fix it. Meanwhile you could try to replace the OPTEE Implementation.h in with the new one. Also, if it matters for your build, you may want to make sure that the set of supported SHA algorithms, ECC curves, and RSA key sizes matches what is in the current OPTEE version.
from ms-tpm-20-ref.
Related Issues (20)
- Build fails
- the DFStart function may has two lines of code implementation that may be incorrect
- Table-driven marshalling code is not type-safe
- OP-TEE fTPM crashes with persistent storage HOT 3
- Execution of test cases failed on macOS
- NV_MEMORY_SIZE HOT 2
- Cooperative Checkpointing Implementation HOT 3
- How to enable MEASURED_BOOT macro using a yocto recipe HOT 1
- TPM2_LoadExternal does not validate authPolicy size if private area is not loaded. HOT 1
- This repo is missing important files
- Default branch changed from `master` to `main`
- NO_LONGJMP doesn't work - TpmFail() and _plat__Fail() do not use TPM_FAIL_RETURN as return attribute HOT 10
- Code formatting for TPM reference implementation HOT 1
- Is the generator for the TPM sources available? HOT 8
- fTPM usage of RTC HOT 2
- Where to find the TPM 2.0 Spec
- Does not build with OpenSSL 3 HOT 1
- WolfSSL reference outdated
- Missing dependencies break parallel fTPM builds HOT 1
- bad substitution when configuring TPMCmd in Windows Subsystem for Ubuntu Linux HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ms-tpm-20-ref.