-
Notifications
You must be signed in to change notification settings - Fork 201
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
Disable TLS/C++ tests with some unsupported compilers #442
Disable TLS/C++ tests with some unsupported compilers #442
Conversation
|
host/xtest/regression_1000.c
Outdated
res = TEEC_InvokeCommand(&session, TA_OS_TEST_CMD_TLS_TEST_MAIN, NULL, | ||
&ret_orig); | ||
if (res == TEEC_ERROR_NOT_SUPPORTED) | ||
printf("TA returned TEEC_ERROR_NOT_SUPPORTED\n"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do_ADBG_Log()
instead of printf()
.
For consistency with other skipped tested:
Do_ADBG_Log(" - 1029 - skip test, Thread Local Storage test not supported");
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I will use Do_ADBG_Log()
and adjust the format for more consistency. But I'd rather not repeat "Thread Local Storage" which is printed immediately before. It's better to inform the user that the cause is with the TA I think.
Update |
|
The Thread Local Storage test (__thread attribute) is modified to accept TEE_ERROR_NOT_SUPPORTED without failing. This return value will be used in a later commit in case an unsupported compiler is used to build the TA. Signed-off-by: Jerome Forissier <[email protected]> Acked-by: Jens Wiklander <[email protected]> Acked-by: Etienne Carriere <[email protected]>
In 64-bit mode, the Thead Local Storage tests currently pass only with Clang, or GCC 8 or later. Earlier GCC versions (6.2, 7.3) generate an unsupported relocation type: * regression_1006 Test Basic OS features E/LD: e64_relocate:538 Unknown relocation type 1031 E/TC:?? 0 init_with_ldelf:232 ldelf failed with res: 0xffff0005 [...] regression_1006 FAILED TLS is not currently useful in itself, since OP-TEE doesn't have multi- threaded TAs. It was implemented primarily to support C++ because the GNU C++ runtime depends on it. To avoid failures in the regression tests of people who upgrade their OP-TEE environment and who possibly use older toolchains, the TLS tests should be ignored unless a "known good" compiler is used. Similarly, since the C++ tests depend on TLS, they need to be disabled too with Aarch64 GCC < 8 (note they are already disabled with Clang). Signed-off-by: Jerome Forissier <[email protected]> Tested-by: Jerome Forissier <[email protected]> (QEMU/QEMUv8, GCC 8.3/GCC 6.2/Clang 10) Acked-by: Jens Wiklander <[email protected]> Acked-by: Etienne Carriere <[email protected]>
7a9e17a
to
158be32
Compare
@jforissier I'm getting below build errors with aosp clang 11.0.2 if variables in
|
Hi @vchong, This |
Addresses OP-TEE/optee_os#4008 (comment).