Thanks for the notification! I took a look and the error seems to be something specific to the TLS implementation for ARM requiring additional flags to link correctly, maybe?
I'm unable to test locally (I don't have access to an ARM machine) but from looking at other testsuite examples which make use of thread locals, adding the following two lines to the testcases may resolve the failures:
// { dg-add-options tls } // { dg-require-effective-target tls_runtime }
Please let me know if the issue is something else and I can take another look.
Yours, Nathaniel.
On Thu, Jan 18, 2024 at 07:12:12AM +0000, ci_notify@linaro.org wrote:
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain@lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We appreciate that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
We track this report status in https://linaro.atlassian.net/browse/GNU-1112 , please let us know if you are looking at the problem and/or when you have a fix.
In master-arm_eabi after:
| commit gcc-14-8168-g14338386970 | Author: Nathaniel Shead nathanieloshead@gmail.com | Date: Thu Jan 11 16:49:39 2024 +1100 | | c++: Support thread_local statics in header modules [PR113292] | | Currently, thread_locals in header modules cause ICEs. This patch makes | the required changes for them to work successfully. | | This requires additionally writing the DECL_TLS_MODEL for thread-local | variables to the module interface, and the TLS wrapper function needs to | ... 24 lines of the commit log omitted.
FAIL: 3 regressions
regressions.sum: === g++ tests ===
Running g++:g++.dg/modules/modules.exp ... FAIL: g++.dg/modules/pr113292 -std=c++17 link FAIL: g++.dg/modules/pr113292 -std=c++2a link FAIL: g++.dg/modules/pr113292 -std=c++2b link
=== Results Summary ===
You can find the failure logs in *.log.1.xz files in
The full lists of regressions and progressions are in
The list of [ignored] baseline and flaky failures are in
The configuration of this build is: CI config tcwg_gnu_embed_check_gcc master-arm_eabi
-----------------8<--------------------------8<--------------------------8<-------------------------- The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_eabi-build/57... Reference build : https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_eabi-build/57...
Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sha...
Full commit : https://github.com/gcc-mirror/gcc/commit/14338386970bc6c2d46b81181f48622fdf2...
List of configurations that regressed due to this commit :
- tcwg_gnu_embed_check_gcc
** master-arm_eabi *** FAIL: 3 regressions *** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sha... *** https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_eabi-build/57...
Hi Nathaniel,
On Jan 18, 2024, at 13:02, Nathaniel Shead via Gcc-regression gcc-regression@gcc.gnu.org wrote:
Thanks for the notification! I took a look and the error seems to be something specific to the TLS implementation for ARM requiring additional flags to link correctly, maybe?
Looking at [1], it seems that only the bare-metal configurations are affected. And looking at [2], the tests are failing with === undefined reference to `__aeabi_read_tp' === .
Given that we are configuring GCC for arm-none-eabi with "--enable-threads=no", the failure is not a surprise.
[1] https://linaro.atlassian.net/browse/GNU-1112 [2] https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_eabi-build/57...
I'm unable to test locally (I don't have access to an ARM machine) but from looking at other testsuite examples which make use of thread locals, adding the following two lines to the testcases may resolve the failures:
// { dg-add-options tls } // { dg-require-effective-target tls_runtime }
Yes, this should skip the testcase for targets without thread/TLS support.
Please let me know if the issue is something else and I can take another look.
Thanks!
-- Maxim Kuvyrkov https://www.linaro.org
Yours, Nathaniel.
On Thu, Jan 18, 2024 at 07:12:12AM +0000, ci_notify@linaro.org wrote:
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain@lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We appreciate that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
We track this report status in https://linaro.atlassian.net/browse/GNU-1112 , please let us know if you are looking at the problem and/or when you have a fix.
In master-arm_eabi after:
| commit gcc-14-8168-g14338386970 | Author: Nathaniel Shead nathanieloshead@gmail.com | Date: Thu Jan 11 16:49:39 2024 +1100 | | c++: Support thread_local statics in header modules [PR113292] | | Currently, thread_locals in header modules cause ICEs. This patch makes | the required changes for them to work successfully. | | This requires additionally writing the DECL_TLS_MODEL for thread-local | variables to the module interface, and the TLS wrapper function needs to | ... 24 lines of the commit log omitted.
FAIL: 3 regressions
regressions.sum: === g++ tests ===
Running g++:g++.dg/modules/modules.exp ... FAIL: g++.dg/modules/pr113292 -std=c++17 link FAIL: g++.dg/modules/pr113292 -std=c++2a link FAIL: g++.dg/modules/pr113292 -std=c++2b link
=== Results Summary ===
You can find the failure logs in *.log.1.xz files in
The full lists of regressions and progressions are in
The list of [ignored] baseline and flaky failures are in
The configuration of this build is: CI config tcwg_gnu_embed_check_gcc master-arm_eabi
-----------------8<--------------------------8<--------------------------8<-------------------------- The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_eabi-build/57... Reference build : https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_eabi-build/57...
Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sha...
Full commit : https://github.com/gcc-mirror/gcc/commit/14338386970bc6c2d46b81181f48622fdf2...
List of configurations that regressed due to this commit :
- tcwg_gnu_embed_check_gcc
** master-arm_eabi *** FAIL: 3 regressions *** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sha... *** https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_eabi-build/57...
linaro-toolchain@lists.linaro.org