Re: [Linaro-TCWG-CI] glibc patch #85585: FAIL: 1 regressions on arm
On Thu, Feb 15, 2024 at 10:02 AM Adhemerval Zanella Netto wrote: > > > > On 15/02/24 09:13, H.J. Lu wrote: > > On Thu, Feb 15, 2024 at 4:12 AM H.J. Lu wrote: > >> > >> On Thu, Feb 15, 2024 at 3:49 AM Adhemerval Zanella Netto > >> wrote: > >>> > >>> > >>> > >>> On 15/02/24 08:47, H.J. Lu wrote: > On Thu, Feb 15, 2024 at 12:01 AM Maxim Kuvyrkov > wrote: > > > >> On Feb 15, 2024, at 03:54, H.J. Lu wrote: > >> > >> FAIL: elf/tst-gnu2-tls2 > >> > >> indicates that your _dl_tlsdesc_dynamic may not preserve all > >> caller-saved > >> registers. Please find out how the test fails. > > > > Hi H.J., > > > > See below. > > > > ... > >> FAIL: 1 regressions > >> > >> regressions.sum: > >>=== glibc tests === > >> > >> Running glibc:elf ... > >> FAIL: elf/tst-gnu2-tls2 > >> > >> > >> You can find the failure logs in *.log.1.xz files in > >> - > >> https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/ > > > > tests.log.1.xz contains output of failed tests -- > > https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/tests.log.1.xz > > === > > FAIL: elf/tst-gnu2-tls2 > > original exit status 1 > > open tst-gnu2-tls2mod0.so > > open tst-gnu2-tls2mod1.so > > open tst-gnu2-tls2mod2.so > > close tst-gnu2-tls2mod0.so > > close tst-gnu2-tls2mod1.so > > open tst-gnu2-tls2mod0.so > > open tst-gnu2-tls2mod1.so > > Didn't expect signal from child: got `Segmentation fault' > > === > > > > Let me know if you need any help investigating this. > > > > I don't have access to aarch64 machine which can build glibc. > Please configure glibc with --enable-hardcoded-path-in-tests > and run elf/tst-gnu2-tls2 under GDB to find out what is going > on. > > >>> > >>> I will check this out H.J. > >> > >> Does your _dl_tlsdesc_dynamic save ALL caller-saved registers, > >> except for the return value register? I saw > >> > >> stp x5, x6, [sp, #16*1] > >> stp x7, x8, [sp, #16*2] > >> stp x9, x10, [sp, #16*3] > >> stp x11, x12, [sp, #16*4] > >> stp x13, x14, [sp, #16*5] > >> stp x15, x16, [sp, #16*6] > >> stp x17, x18, [sp, #16*7] > >> > >> Do you need to save x1 to x4? > >> > >> -- > >> H.J. > > > > If your processor is also impacted, please add it to > > > > https://sourceware.org/bugzilla/show_bug.cgi?id=31372 > > > > Hi H.J. > > The issues is not really on aarch64, but rather arm 32 bits. And it is > seems to be a real one on arm _dl_tlsdesc_dynamic implementation, that > fail to save/restore r12 that is used by gcc as a scratch register. > > I have added 3 more fixes on top on your patches [1]. First one is a > small fix for the -mtls-dialect=gnu2 configure test that fail when > -mtp=soft is used (used by default arm-linux-gnueabihf cross compiler > produced by build-many-glibcs.py). > > Second is the arm fix for BZ 31372 regression. However, I am not sure > if this suffice, since similar to others ABIs, arm also support vector > extensions (VFP, VFP3, and neon). I think we will eventually need to > do something similar to what you did for x86 and provided either > multiple _dl_tlsdesc_dynamic or handle the vector register save/restore > using hwcap feature check (or we can also eventually just remove the > slow patch and get over this whole save/restore vector extensions). > > This is not an issue now on arm32 because gnu2 is not default and I > don't think gcc will flip the switch in near future. > > The last patch enables TLS descriptor tests on aarch64 as well, since > it uses a different name of gnu2. I think RISC-V will use the same > naming as aarch64, so it would make easier to enable such tests > on this abi as well. > > [1] > https://github.com/zatrazz/glibc/commits/azanella/tls-descriptor-fixes-arm/ > Great. I added Arm to https://sourceware.org/bugzilla/show_bug.cgi?id=31372 Thanks. -- H.J. ___ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org
Re: [Linaro-TCWG-CI] glibc patch #85585: FAIL: 1 regressions on arm
On 15/02/24 09:13, H.J. Lu wrote: > On Thu, Feb 15, 2024 at 4:12 AM H.J. Lu wrote: >> >> On Thu, Feb 15, 2024 at 3:49 AM Adhemerval Zanella Netto >> wrote: >>> >>> >>> >>> On 15/02/24 08:47, H.J. Lu wrote: On Thu, Feb 15, 2024 at 12:01 AM Maxim Kuvyrkov wrote: > >> On Feb 15, 2024, at 03:54, H.J. Lu wrote: >> >> FAIL: elf/tst-gnu2-tls2 >> >> indicates that your _dl_tlsdesc_dynamic may not preserve all caller-saved >> registers. Please find out how the test fails. > > Hi H.J., > > See below. > > ... >> FAIL: 1 regressions >> >> regressions.sum: >>=== glibc tests === >> >> Running glibc:elf ... >> FAIL: elf/tst-gnu2-tls2 >> >> >> You can find the failure logs in *.log.1.xz files in >> - >> https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/ > > tests.log.1.xz contains output of failed tests -- > https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/tests.log.1.xz > === > FAIL: elf/tst-gnu2-tls2 > original exit status 1 > open tst-gnu2-tls2mod0.so > open tst-gnu2-tls2mod1.so > open tst-gnu2-tls2mod2.so > close tst-gnu2-tls2mod0.so > close tst-gnu2-tls2mod1.so > open tst-gnu2-tls2mod0.so > open tst-gnu2-tls2mod1.so > Didn't expect signal from child: got `Segmentation fault' > === > > Let me know if you need any help investigating this. > I don't have access to aarch64 machine which can build glibc. Please configure glibc with --enable-hardcoded-path-in-tests and run elf/tst-gnu2-tls2 under GDB to find out what is going on. >>> >>> I will check this out H.J. >> >> Does your _dl_tlsdesc_dynamic save ALL caller-saved registers, >> except for the return value register? I saw >> >> stp x5, x6, [sp, #16*1] >> stp x7, x8, [sp, #16*2] >> stp x9, x10, [sp, #16*3] >> stp x11, x12, [sp, #16*4] >> stp x13, x14, [sp, #16*5] >> stp x15, x16, [sp, #16*6] >> stp x17, x18, [sp, #16*7] >> >> Do you need to save x1 to x4? >> >> -- >> H.J. > > If your processor is also impacted, please add it to > > https://sourceware.org/bugzilla/show_bug.cgi?id=31372 > Hi H.J. The issues is not really on aarch64, but rather arm 32 bits. And it is seems to be a real one on arm _dl_tlsdesc_dynamic implementation, that fail to save/restore r12 that is used by gcc as a scratch register. I have added 3 more fixes on top on your patches [1]. First one is a small fix for the -mtls-dialect=gnu2 configure test that fail when -mtp=soft is used (used by default arm-linux-gnueabihf cross compiler produced by build-many-glibcs.py). Second is the arm fix for BZ 31372 regression. However, I am not sure if this suffice, since similar to others ABIs, arm also support vector extensions (VFP, VFP3, and neon). I think we will eventually need to do something similar to what you did for x86 and provided either multiple _dl_tlsdesc_dynamic or handle the vector register save/restore using hwcap feature check (or we can also eventually just remove the slow patch and get over this whole save/restore vector extensions). This is not an issue now on arm32 because gnu2 is not default and I don't think gcc will flip the switch in near future. The last patch enables TLS descriptor tests on aarch64 as well, since it uses a different name of gnu2. I think RISC-V will use the same naming as aarch64, so it would make easier to enable such tests on this abi as well. [1] https://github.com/zatrazz/glibc/commits/azanella/tls-descriptor-fixes-arm/ ___ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org
Re: [Linaro-TCWG-CI] glibc patch #85585: FAIL: 1 regressions on arm
On Thu, Feb 15, 2024 at 4:12 AM H.J. Lu wrote: > > On Thu, Feb 15, 2024 at 3:49 AM Adhemerval Zanella Netto > wrote: > > > > > > > > On 15/02/24 08:47, H.J. Lu wrote: > > > On Thu, Feb 15, 2024 at 12:01 AM Maxim Kuvyrkov > > > wrote: > > >> > > >>> On Feb 15, 2024, at 03:54, H.J. Lu wrote: > > >>> > > >>> FAIL: elf/tst-gnu2-tls2 > > >>> > > >>> indicates that your _dl_tlsdesc_dynamic may not preserve all > > >>> caller-saved > > >>> registers. Please find out how the test fails. > > >> > > >> Hi H.J., > > >> > > >> See below. > > >> > > >> ... > > >>> FAIL: 1 regressions > > >>> > > >>> regressions.sum: > > >>>=== glibc tests === > > >>> > > >>> Running glibc:elf ... > > >>> FAIL: elf/tst-gnu2-tls2 > > >>> > > >>> > > >>> You can find the failure logs in *.log.1.xz files in > > >>> - > > >>> https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/ > > >> > > >> tests.log.1.xz contains output of failed tests -- > > >> https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/tests.log.1.xz > > >> === > > >> FAIL: elf/tst-gnu2-tls2 > > >> original exit status 1 > > >> open tst-gnu2-tls2mod0.so > > >> open tst-gnu2-tls2mod1.so > > >> open tst-gnu2-tls2mod2.so > > >> close tst-gnu2-tls2mod0.so > > >> close tst-gnu2-tls2mod1.so > > >> open tst-gnu2-tls2mod0.so > > >> open tst-gnu2-tls2mod1.so > > >> Didn't expect signal from child: got `Segmentation fault' > > >> === > > >> > > >> Let me know if you need any help investigating this. > > >> > > > > > > I don't have access to aarch64 machine which can build glibc. > > > Please configure glibc with --enable-hardcoded-path-in-tests > > > and run elf/tst-gnu2-tls2 under GDB to find out what is going > > > on. > > > > > > > I will check this out H.J. > > Does your _dl_tlsdesc_dynamic save ALL caller-saved registers, > except for the return value register? I saw > > stp x5, x6, [sp, #16*1] > stp x7, x8, [sp, #16*2] > stp x9, x10, [sp, #16*3] > stp x11, x12, [sp, #16*4] > stp x13, x14, [sp, #16*5] > stp x15, x16, [sp, #16*6] > stp x17, x18, [sp, #16*7] > > Do you need to save x1 to x4? > > -- > H.J. If your processor is also impacted, please add it to https://sourceware.org/bugzilla/show_bug.cgi?id=31372 -- H.J. ___ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org
Re: [Linaro-TCWG-CI] glibc patch #85585: FAIL: 1 regressions on arm
On Thu, Feb 15, 2024 at 3:49 AM Adhemerval Zanella Netto wrote: > > > > On 15/02/24 08:47, H.J. Lu wrote: > > On Thu, Feb 15, 2024 at 12:01 AM Maxim Kuvyrkov > > wrote: > >> > >>> On Feb 15, 2024, at 03:54, H.J. Lu wrote: > >>> > >>> FAIL: elf/tst-gnu2-tls2 > >>> > >>> indicates that your _dl_tlsdesc_dynamic may not preserve all caller-saved > >>> registers. Please find out how the test fails. > >> > >> Hi H.J., > >> > >> See below. > >> > >> ... > >>> FAIL: 1 regressions > >>> > >>> regressions.sum: > >>>=== glibc tests === > >>> > >>> Running glibc:elf ... > >>> FAIL: elf/tst-gnu2-tls2 > >>> > >>> > >>> You can find the failure logs in *.log.1.xz files in > >>> - > >>> https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/ > >> > >> tests.log.1.xz contains output of failed tests -- > >> https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/tests.log.1.xz > >> === > >> FAIL: elf/tst-gnu2-tls2 > >> original exit status 1 > >> open tst-gnu2-tls2mod0.so > >> open tst-gnu2-tls2mod1.so > >> open tst-gnu2-tls2mod2.so > >> close tst-gnu2-tls2mod0.so > >> close tst-gnu2-tls2mod1.so > >> open tst-gnu2-tls2mod0.so > >> open tst-gnu2-tls2mod1.so > >> Didn't expect signal from child: got `Segmentation fault' > >> === > >> > >> Let me know if you need any help investigating this. > >> > > > > I don't have access to aarch64 machine which can build glibc. > > Please configure glibc with --enable-hardcoded-path-in-tests > > and run elf/tst-gnu2-tls2 under GDB to find out what is going > > on. > > > > I will check this out H.J. Does your _dl_tlsdesc_dynamic save ALL caller-saved registers, except for the return value register? I saw stp x5, x6, [sp, #16*1] stp x7, x8, [sp, #16*2] stp x9, x10, [sp, #16*3] stp x11, x12, [sp, #16*4] stp x13, x14, [sp, #16*5] stp x15, x16, [sp, #16*6] stp x17, x18, [sp, #16*7] Do you need to save x1 to x4? -- H.J. ___ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org
Re: [Linaro-TCWG-CI] glibc patch #85585: FAIL: 1 regressions on arm
On 15/02/24 08:47, H.J. Lu wrote: > On Thu, Feb 15, 2024 at 12:01 AM Maxim Kuvyrkov > wrote: >> >>> On Feb 15, 2024, at 03:54, H.J. Lu wrote: >>> >>> FAIL: elf/tst-gnu2-tls2 >>> >>> indicates that your _dl_tlsdesc_dynamic may not preserve all caller-saved >>> registers. Please find out how the test fails. >> >> Hi H.J., >> >> See below. >> >> ... >>> FAIL: 1 regressions >>> >>> regressions.sum: >>>=== glibc tests === >>> >>> Running glibc:elf ... >>> FAIL: elf/tst-gnu2-tls2 >>> >>> >>> You can find the failure logs in *.log.1.xz files in >>> - >>> https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/ >> >> tests.log.1.xz contains output of failed tests -- >> https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/tests.log.1.xz >> === >> FAIL: elf/tst-gnu2-tls2 >> original exit status 1 >> open tst-gnu2-tls2mod0.so >> open tst-gnu2-tls2mod1.so >> open tst-gnu2-tls2mod2.so >> close tst-gnu2-tls2mod0.so >> close tst-gnu2-tls2mod1.so >> open tst-gnu2-tls2mod0.so >> open tst-gnu2-tls2mod1.so >> Didn't expect signal from child: got `Segmentation fault' >> === >> >> Let me know if you need any help investigating this. >> > > I don't have access to aarch64 machine which can build glibc. > Please configure glibc with --enable-hardcoded-path-in-tests > and run elf/tst-gnu2-tls2 under GDB to find out what is going > on. > I will check this out H.J. ___ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org
Re: [Linaro-TCWG-CI] glibc patch #85585: FAIL: 1 regressions on arm
On Thu, Feb 15, 2024 at 12:01 AM Maxim Kuvyrkov wrote: > > > On Feb 15, 2024, at 03:54, H.J. Lu wrote: > > > > FAIL: elf/tst-gnu2-tls2 > > > > indicates that your _dl_tlsdesc_dynamic may not preserve all caller-saved > > registers. Please find out how the test fails. > > Hi H.J., > > See below. > > ... > > FAIL: 1 regressions > > > > regressions.sum: > >=== glibc tests === > > > > Running glibc:elf ... > > FAIL: elf/tst-gnu2-tls2 > > > > > > You can find the failure logs in *.log.1.xz files in > > - > > https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/ > > tests.log.1.xz contains output of failed tests -- > https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/tests.log.1.xz > === > FAIL: elf/tst-gnu2-tls2 > original exit status 1 > open tst-gnu2-tls2mod0.so > open tst-gnu2-tls2mod1.so > open tst-gnu2-tls2mod2.so > close tst-gnu2-tls2mod0.so > close tst-gnu2-tls2mod1.so > open tst-gnu2-tls2mod0.so > open tst-gnu2-tls2mod1.so > Didn't expect signal from child: got `Segmentation fault' > === > > Let me know if you need any help investigating this. > I don't have access to aarch64 machine which can build glibc. Please configure glibc with --enable-hardcoded-path-in-tests and run elf/tst-gnu2-tls2 under GDB to find out what is going on. -- H.J. ___ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org
Re: [Linaro-TCWG-CI] glibc patch #85585: FAIL: 1 regressions on arm
> On Feb 15, 2024, at 03:54, H.J. Lu wrote: > > FAIL: elf/tst-gnu2-tls2 > > indicates that your _dl_tlsdesc_dynamic may not preserve all caller-saved > registers. Please find out how the test fails. Hi H.J., See below. ... > FAIL: 1 regressions > > regressions.sum: >=== glibc tests === > > Running glibc:elf ... > FAIL: elf/tst-gnu2-tls2 > > > You can find the failure logs in *.log.1.xz files in > - > https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/ tests.log.1.xz contains output of failed tests -- https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/tests.log.1.xz === FAIL: elf/tst-gnu2-tls2 original exit status 1 open tst-gnu2-tls2mod0.so open tst-gnu2-tls2mod1.so open tst-gnu2-tls2mod2.so close tst-gnu2-tls2mod0.so close tst-gnu2-tls2mod1.so open tst-gnu2-tls2mod0.so open tst-gnu2-tls2mod1.so Didn't expect signal from child: got `Segmentation fault' === Let me know if you need any help investigating this. Thanks! -- Maxim Kuvyrkov https://www.linaro.org ___ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org
Fwd: [Linaro-TCWG-CI] glibc patch #85585: FAIL: 1 regressions on arm
FAIL: elf/tst-gnu2-tls2 indicates that your _dl_tlsdesc_dynamic may not preserve all caller-saved registers. Please find out how the test fails. H.J. -- Forwarded message - From: Date: Wed, Feb 14, 2024 at 3:50 PM Subject: [Linaro-TCWG-CI] glibc patch #85585: FAIL: 1 regressions on arm To: 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. In glibc_check master-arm after: | glibc patch https://patchwork.sourceware.org/patch/85585 | Author: H.J. Lu | Date: Sun Feb 11 19:19:49 2024 -0800 | | x86-64: Update _dl_tlsdesc_dynamic to preserve vector registers | | Compiler generates the following instruction sequence for GNU2 dynamic | TLS access: | | leaqtls_var@TLSDESC(%rip), %rax | call*tls_var@TLSCALL(%rax) | ... 13 lines of the commit log omitted. | ... applied on top of baseline commit: | dbae3a3940 trivial doc fix: remove weird phrase "syscall takes zero to five arguments" FAIL: 1 regressions regressions.sum: === glibc tests === Running glibc:elf ... FAIL: elf/tst-gnu2-tls2 You can find the failure logs in *.log.1.xz files in - https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/00-sumfiles/ The full lists of regressions and progressions as well as configure and make commands are in - https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/notify/ The list of [ignored] baseline and flaky failures are in - https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts/artifacts.precommit/sumfiles/xfails.xfail The configuration of this build is: CI config tcwg_glibc_check master-arm -8<--8<--8<-- The information below can be used to reproduce a debug environment: Current build : https://ci.linaro.org/job/tcwg_glibc_check--master-arm-precommit/1460/artifact/artifacts Reference build : https://ci.linaro.org/job/tcwg_glibc_check--master-arm-build/953/artifact/artifacts -- H.J. ___ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org