glibc 2.36 - Slushy freeze (3 weeks to release)
Xi Ruoyao
xry111@xry111.site
Tue Jul 12 13:00:52 GMT 2022
On Tue, 2022-07-12 at 20:48 +0800, caiyinyu wrote:
> I can add R_LARCH_NONE handling in boostraping, but there is another
> problem:
>
> binutils 2.38 generates R_LARCH_IRELATIVEs in .rela.plt and now glibc
> loongarch ld.so has no R_LARCH_IRELATIVEs handling in elf_machine_lazy_rel, this will
> cause ifunc tests to fail.
>
> I did not find the way to disable ifunc tests by adding configure
> options (if glibc community can accept loongarch port being tested without ifunc tests),
> so we have to wait until related patches are merged into binutils community.
"libc_cv_ld_gnu_indirect_function=no" (just append it into configure
command line, not "--libc_cv_...", nor "--disable-...") will do the job.
I'm not sure how much effort is needed to fix R_LARCH_IRELATIVE issue.
If it's trivial I still suggests to get it reviewed and accepted by
binutils ASAP. But if it's very tricky (like R_LARCH_NONE) we can
disable ifunc support for now by setting
libc_cv_ld_gnu_indirect_function=no in machine-specific configure.ac
(use commit 600c13b "hurd: disable ifunc for now" as a reference).
> Or maybe we can add the following patch back now, and remove it when
> binutils fix R_LARCH_IRELATIVE's problems.
I don't think it's an option: if a shared object is loaded fine with
Glibc-2.36 but rejected by 2.37, we call it a "regression" or "bug".
--
Xi Ruoyao <xry111@xry111.site>
School of Aerospace Science and Technology, Xidian University
More information about the Libc-alpha
mailing list