Re: [meta-arm] [PATCH v2 1/8] external-arm-toolchain: remove old sed fixup for libc.so
Romain Naour <[email protected]>
| Newsgroups | org.yoctoproject.lists.meta-arm |
|---|---|
| Message-ID | <[email protected]> |
Hello Denys, Jon, All,
Le 14/11/2024 à 23:50, Jon Mason a écrit :
> On Fri, Nov 01, 2024 at 02:55:22PM -0400, Denys Dmytriyenko wrote:
>> FYI, Ross and I discussed the whole external toolchain support a while back
>> and we were under the impression that there were no users of it and he was
>> planning to deprecate the entire external toolchain support after Styhead was
>> out. I wonder if your patchset changes the plans...
>
> As we now have a known user, let's keep meta-arm-toolchain around a
> little longer.
Not only me but also users that replied in April 2024.
>
>> Either way, I reviewed your patches and they seem reasonable. I currently
>> don't have an active setup with external toolchain, so was not able to do any
>> testing yet.
>>
>> If Jon is willing to run these through the CI paces, I won't mind giving my
>> Reviewed-by: stamp.
I missed the discussion about external toolchain package back in 2020:
https://lists.yoctoproject.org/g/meta-arm/message/599
I wasn't aware that it was not recommended anymore.
Still, using an external toolchain for TI SoC is helpful for r5 and aarch64 builds.
>
> I ran it through CI, and it passes (sort of). There is an issue with
> QEMU 9.0.4, but when I regress that recipe to the previous version
> then it passes. Since that is outside the scope of this series, I've
> queued these in master-next and added Denys' acked-by to each of them.
I tried to use gcil as much as possible. I noticed recent runtime issues due to
systemd provided by poky-altcfg but it was out of the scope of this series.
In addition, I tested this series with the yocto build I use for my customer.
Best regards,
Romain
>
> Thnks,
> Jon
>
>>
>> --
>> Denys
>>
>>
>> On Fri, Oct 25, 2024 at 06:49:55PM +0200, Romain Naour via lists.yoctoproject.org wrote:
>>> As reported by Vasyl Vavrychuk [1], /${EAT_LIBDIR}/${EAT_TARGET_SYS}
>>> is not present in libc.so in the latest prebuilt toolchains:
>>>
>>> ARM32:
>>> $ cat ./gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib/libc.so
>>> OUTPUT_FORMAT(elf32-littlearm)
>>> GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) )
>>>
>>> $ cat ./gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/usr/lib/libc.so
>>> OUTPUT_FORMAT(elf32-littlearm)
>>> GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) )
>>>
>>> $ cat ./arm-gnu-toolchain-12.3.rel1-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/usr/lib/libc.so
>>> OUTPUT_FORMAT(elf32-littlearm)
>>> GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) )
>>>
>>> $ cat ./arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/libc/usr/lib/libc.so
>>> OUTPUT_FORMAT(elf32-littlearm)
>>> GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-armhf.so.3 ) )
>>>
>>> Aarch64:
>>> $ cat ./gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/usr/lib/libc.so
>>> OUTPUT_FORMAT(elf64-littleaarch64)
>>> GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) )
>>>
>>> $ cat ./gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/lib64/libc.so
>>> OUTPUT_FORMAT(elf64-littleaarch64)
>>> GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) )
>>>
>>> $ cat ./arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/lib64/libc.so
>>> OUTPUT_FORMAT(elf64-littleaarch64)
>>> GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) )
>>>
>>> $ cat ./arm-gnu-toolchain-13.3.rel1-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/lib64/libc.so
>>> OUTPUT_FORMAT(elf64-littleaarch64)
>>> GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib/ld-linux-aarch64.so.1 ) )
>>>
>>> We can safely remove old sed fixup for libc.so.
>>>
>>> [1] https://lists.yoctoproject.org/g/meta-arm/message/5565
>>>
>>> Signed-off-by: Romain Naour <[email protected]>
>>> ---
>>> .../external-arm-toolchain/external-arm-toolchain.bb | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
>>> index 1e8c1116..1095736b 100644
>>> --- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
>>> +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
>>> @@ -213,13 +213,13 @@ do_install() {
>>> rm -rf ${D}${includedir}/rpcsvc/rquota.*
>>>
>>> if [ -f ${D}${libdir}/libc.so ];then
>>> - sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../${EAT_LIBDIR}#g" -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so
>>> + sed -i -e "s# /usr/${EAT_LIBDIR}/# /usr/lib/#g" -e "s# /${EAT_LIBDIR}/ld-linux# ../../${EAT_LIBDIR}/ld-linux#g" ${D}${libdir}/libc.so
>>> sed -i -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${libdir}/libc.so
>>> sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
>>> fi
>>>
>>> if [ -f ${D}${base_libdir}/libc.so ];then
>>> - sed -i -e "s# /${EAT_LIBDIR}/${EAT_TARGET_SYS}# ../../lib#g" -e "s# /usr/${EAT_LIBDIR}/${EAT_TARGET_SYS}# .#g" -e "s# /${EAT_LIBDIR}/# /lib/#g" ${D}${base_libdir}/libc.so
>>> + sed -i -e "s# /${EAT_LIBDIR}/# /lib/#g" ${D}${base_libdir}/libc.so
>>> if [ -f ${D}${base_libdir}/libc.so.6 ]; then
>>> sed -i -e "s# /usr/${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" -e "s# /${EAT_LIBDIR}/libc.so.6# /lib/libc.so.6#g" ${D}${base_libdir}/libc.so.6
>>> fi
>>> --
>>> 2.45.0
>>