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

Update CHANGELOG for 3.10.0 #4008

Merged
merged 1 commit into from Aug 21, 2020
Merged

Conversation

jforissier
Copy link
Contributor

Update CHANGELOG for 3.10.0 and collect Tested-by tags.

Signed-off-by: Jerome Forissier jerome@forissier.org

@igoropaniuk
Copy link
Contributor

igoropaniuk commented Aug 4, 2020

First one! :)

I/TC: OP-TEE version: 3.9.0-109-gbb8cd6f0 (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 Mon Aug  3 14:04:05 UTC 2020 aarch64
# xtest -l20
...
+-----------------------------------------------------
44626 subtests of which 0 failed
103 test cases of which 0 failed
0 test cases were skipped
TEE test application done!

Tested-by: Igor Opaniuk <igor.opaniuk@gmail.com> (Poplar)

@clementfaure
Copy link
Contributor

Hello @jforissier !

Tested-by: Clement Faure <clement.faure@nxp.com> (mx6dlsabreauto)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6dlsabresd)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6qpsabreauto)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6ulevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6ullevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6ulzevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6sllevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx7dsabresd)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx7ulpevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx8mmevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx8mnevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx8mqevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx8qmmek)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx8qxpmek)

@Emantor
Copy link
Contributor

Emantor commented Aug 7, 2020

0c30f9e with #4021 and a build patch for YOCTO on top, no 1027 nor 1028 because the kernel is at 5.7:

root@ccbv2:~ xtest -l 15 -t regression -x 1027 -x 1028
…
+-----------------------------------------------------
44467 subtests of which 0 failed
103 test cases of which 0 failed
2 test cases were skipped
TEE test application done!

Tested-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> (mx6ulccbv2)

Edit: rerun with -l 15, -l20 does not seem to do anything.

@jforissier
Copy link
Contributor Author

3.9.0-131-gbc587ec0

Tested-by: Jerome Forissier <jerome@forissier.org> (QEMU)

@jforissier
Copy link
Contributor Author

3.9.0-131-gbc587ec0

Tested-by: Jerome Forissier <jerome@forissier.org> (QEMUv8)

Found two issues, nothing critical IMO:

@jforissier
Copy link
Contributor Author

3.9.0-131-gbc587ec03

Tested-by: Jerome Forissier <jerome@forissier.org> (HiKey, GP)

@jenswi-linaro
Copy link
Contributor

With #4027
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Juno)

@jforissier
Copy link
Contributor Author

3.9.0-131-gbc587ec03

Tested-by: Jerome Forissier <jerome@forissier.org> (HiKey960, GP)

@jenswi-linaro
Copy link
Contributor

With OP-TEE/build#435
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (FVP)

@etienne-lms
Copy link
Contributor

etienne-lms commented Aug 14, 2020

FYI, issue found when building with CFG_UNWIND=n, see OP-TEE/optee_test#440.

(edited: add info below)
Note: aside this issue, platform stm32mp1 regression tests passes successfully:

# xtest -l 15
(...)
43984 subtests of which 0 failed
105 test cases of which 0 failed
0 test cases were skipped
TEE test application done!

However, since this platform default configures CFG_UNWIND=n, it currently does not build.

(updated)
3.10.0-rc1 + #4040:
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (stm32mp1, GP)

@grandpaul
Copy link
Contributor

With 3.10.0-rc1
Tested-by: Ying-Chun Liu (PaulLiu) paul.liu@linaro.org (bpi0)

@lorc
Copy link
Contributor

lorc commented Aug 15, 2020

For 3.10.0-rc1:

Tested-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> (Rcar H3)
Tested-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> (Rcar H3/virtualization)

@b49020
Copy link
Contributor

b49020 commented Aug 18, 2020

Firstly apologies for the late issue report as now I could find time to test on Developerbox.

I am seeing multiple xtest failures with similar error code as follows:

* 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
E/TC:?? 0 tee_ta_open_session:728 Failed. Return error 0xffff0005
/home/sumit/build/developerbox/test/optee_test/host/xtest/regression_1000.c:546: xtest_teec_open_session(&session, &os_test_ta_uuid, ((void *)0), &ret_orig) has an unS
  regression_1006 FAILED

OP-TEE OS version:

[    8.298779] optee: probing for conduit method.
[    8.303339] optee: revision 3.10 (64df747c)
[    8.304145] optee: initialized driver

And this is seen with 64 bit TAs as Developerbox has "supported-ta-targets = ta_arm64" set. I am not sure if it makes any difference.

Toolchain: "gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu"

Any ideas about what I maybe missing?

@jforissier
Copy link
Contributor Author

jforissier commented Aug 18, 2020

Firstly apologies for the late issue report as now I could find time to test on Developerbox.

I am seeing multiple xtest failures with similar error code as follows:

* regression_1006 Test Basic OS features
E/LD:  e64_relocate:538 Unknown relocation type 1031

Relocation type 1031 is R_AARCH64_TLSDESC.

Toolchain: "gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu"

That is the problem. I reproduced the same error with GCC 6.2, but our "default" toolchain (8.3) works fine.
My understanding is that there are several ways for a toolchains to implement thread local storage, all involve some specific relocations. When I worked on C++ support I had to implement basic TLS support, because the C++ runtime depends on it. I did that based on the requirements of GCC 8.3. Older GCC versions seem to do it differently, and require different relocation types :-/

Could you please check if GCC 8.3 works for you?

PS: this affects all the tests that load the os_test TA (1006 to 1010 I think).
PPS: more info on TLSDESC: https://www.fsfla.org/~lxoliva/writeups/TLS/RFC-TLSDESC-ARM.txt

@b49020
Copy link
Contributor

b49020 commented Aug 19, 2020

Toolchain: "gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu"

That is the problem.

I was using this toolchain as an old debian 9 distro is installed on my Developerbox and Linux apps didn't worked when built with GCC 8+ toolchains giving following error:

$ sudo ./tee-supplicant -d
./tee-supplicant: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by ./tee-supplicant)

But I can very well use different toolchain to build TAs.

Could you please check if GCC 8.3 works for you?

So, yes with GCC 8.3 and GCC 9.2, it works pretty well and hence:

Tested-by: Sumit Garg <sumit.garg@linaro.org> (Developerbox)

PS: this affects all the tests that load the os_test TA (1006 to 1010 I think).

Yes, these are the tests failing while using GCC 7.3.1 toolchain. So, do you think we need to document this limitation somewhere that OP-TEE 3.10.0 release supports only GCC 8 onward toochain releases?

@jforissier
Copy link
Contributor Author

So, yes with GCC 8.3 and GCC 9.2, it works pretty well and hence:

Good, thanks for testing with 9.x -- I had not tried it myself 👍

Tested-by: Sumit Garg <sumit.garg@linaro.org> (Developerbox)

PS: this affects all the tests that load the os_test TA (1006 to 1010 I think).

Yes, these are the tests failing while using GCC 7.3.1 toolchain. So, do you think we need to document this limitation somewhere that OP-TEE 3.10.0 release supports only GCC 8 onward toochain releases?

I don't think so. The issue is only with C++ TAs basically (since there is no reason a non-C++ TA would use the thread local storage hence the relocations that cause the problem with GCC < 8), and C++ was not supported before. So there is effectively no backward compatibility issue in practice, and users can keep their current toolchains.

That being said, the xtest error is annoying because it will undoubtedly raise questions from people who run regression tests with the new release. So I think we should simply ifdef-out the TLS/C++ code in the os_test TA if the compiler is GCC older than 8. The thing is experimental, we know it works with GCC 8 and 9, so it makes sense to simply restrict its use to the known working case. I will propose a PR.

@b49020
Copy link
Contributor

b49020 commented Aug 19, 2020

So I think we should simply ifdef-out the TLS/C++ code in the os_test TA if the compiler is GCC older than 8. The thing is experimental, we know it works with GCC 8 and 9, so it makes sense to simply restrict its use to the known working case. I will propose a PR.

Sounds good to me.

@jforissier
Copy link
Contributor Author

So I think we should simply ifdef-out the TLS/C++ code in the os_test TA if the compiler is GCC older than 8. The thing is experimental, we know it works with GCC 8 and 9, so it makes sense to simply restrict its use to the known working case. I will propose a PR.

Sounds good to me.

OP-TEE/optee_test#442. As mentioned in the PR I have tested on QEMU and QEMUv8 with Clang 10, GCC 8.3 and GCC 6.2. Feel free to try it with your original config.

Update CHANGELOG for 3.10.0 and collect Tested-by tags.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Tested-by: Igor Opaniuk <igor.opaniuk@gmail.com> (Poplar)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6dlsabreauto)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6dlsabresd)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6qpsabreauto)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6ulevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6ullevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6ulzevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx6sllevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx7dsabresd)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx7ulpevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx8mmevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx8mnevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx8mqevk)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx8qmmek)
Tested-by: Clement Faure <clement.faure@nxp.com> (mx8qxpmek)
Tested-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> (mx6ulccbv2)
Tested-by: Jerome Forissier <jerome@forissier.org> (QEMU)
Tested-by: Jerome Forissier <jerome@forissier.org> (QEMUv8)
Tested-by: Jerome Forissier <jerome@forissier.org> (HiKey, GP)
Tested-by: Jerome Forissier <jerome@forissier.org> (HiKey960, GP)
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Juno)
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (FVP)
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (stm32mp1, GP)
Tested-by: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org> (bpi0)
Tested-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> (Rcar H3)
Tested-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> (Rcar H3/virtualization)
Tested-by: Sumit Garg <sumit.garg@linaro.org> (Developerbox)
@jforissier jforissier merged commit e7387fe into OP-TEE:master Aug 21, 2020
@jforissier jforissier deleted the changelog-3.10.0 branch August 8, 2022 07:09
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.

None yet

9 participants