** Description changed: + SRU Justification: + ================== + + [Impact] + + * The latest glibc uses DT_RELR relocations, + but it turned out that the linker support is still incomplete, + as of binutils-2.38-3ubuntu1 on Ubuntu 22.04. + + * It lacks the fix/commit 'PowerPC64 DT_RELR relative reloc addresses'. + + * As discussed at the binutils mailing list: + https://sourceware.org/pipermail/binutils/2022-March/119921.html + this fixes several (glibc) regressions (from 574 to 17). + + * Instead of stashing r_offset final address calculations in + ppc64_elf_size_stubs for use by ppc64_elf_build_stubs, + section/offset pairs need to be kept. + + [Test Plan] + + * Build and run the official (make) check: + git clone git://sourceware.org/git/glibc.git + mkdir build && cd build + ../glibc/configure --prefix=/usr && make -j8 && make check + + [Where problems could occur] + + * In case relr_addr is not replaced everywhere it's deletion in + elf64-ppc.c can cause problems, which will mainly occur at build time. + + * The relr section/offset array may lead to problems if the array is not + properly handled or used. + + * The rewrite of append_relr_off may cause issues due to wrong allocs + erroneous pointer arithmetic or array handling. + + * The entirely new sort_relr function may introduce new code issues + or performance issues. + + * The adjustments of ppc64_elf_size_stubs and ppc64_elf_build_stubs to + the new relr code could be done wrong + in which case the linker support is still not working. + + * But the patch was discussed at the upstream mailing list: + https://sourceware.org/pipermail/binutils/2022-March/thread.html#119921 + + * and is limited to ppc, and even to file 'elf64-ppc.c'. + __________ + == Comment: #0 - Matheus Salgueiro Castanho <mscasta...@ibm.com> - 2022-06-09 09:32:29 == ---Problem Description--- Latest glibc uses DT_RELR relocations, but linker support is incomplete as of binutils-2.38-3ubuntu1 on Ubuntu 22.04. It lacks the following fix integrated into the upstream 2.38 branch: - + PowerPC64 DT_RELR relative reloc addresses https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=e4a35c7319628045302d4c597cb27f1b0a08c858 As mentioned in the binutils mailing list when this patch was discussed, this fixes several glibc regressions: https://sourceware.org/pipermail/binutils/2022-March/119921.html - - Contact Information = Matheus Castanho/mscasta...@ibm.com - + + Contact Information = Matheus Castanho/mscasta...@ibm.com + ---uname output--- N/A - - Machine Type = N/A - + + Machine Type = N/A + ---Debugger--- A debugger is not configured - + ---Steps to Reproduce--- - git clone git://sourceware.org/git/glibc.git + git clone git://sourceware.org/git/glibc.git mkdir build && cd build ../glibc/configure --prefix=/usr && make -j8 && make check - - Userspace tool common name: binutils - - The userspace tool has the following bit modes: 64-bit + + Userspace tool common name: binutils + + The userspace tool has the following bit modes: 64-bit Userspace rpm: binutils - Userspace tool obtained from project website: na - + Userspace tool obtained from project website: na + *Additional Instructions for Matheus Castanho/mscasta...@ibm.com: -Attach ltrace and strace of userspace application.
-- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to binutils in Ubuntu. https://bugs.launchpad.net/bugs/1978129 Title: Incomplete support for DT_RELR relocations on Ubuntu 22.04 Status in The Ubuntu-power-systems project: New Status in binutils package in Ubuntu: New Status in binutils source package in Jammy: New Status in binutils source package in Kinetic: New Bug description: SRU Justification: ================== [Impact] * The latest glibc uses DT_RELR relocations, but it turned out that the linker support is still incomplete, as of binutils-2.38-3ubuntu1 on Ubuntu 22.04. * It lacks the fix/commit 'PowerPC64 DT_RELR relative reloc addresses'. * As discussed at the binutils mailing list: https://sourceware.org/pipermail/binutils/2022-March/119921.html this fixes several (glibc) regressions (from 574 to 17). * Instead of stashing r_offset final address calculations in ppc64_elf_size_stubs for use by ppc64_elf_build_stubs, section/offset pairs need to be kept. [Test Plan] * Build and run the official (make) check: git clone git://sourceware.org/git/glibc.git mkdir build && cd build ../glibc/configure --prefix=/usr && make -j8 && make check [Where problems could occur] * In case relr_addr is not replaced everywhere it's deletion in elf64-ppc.c can cause problems, which will mainly occur at build time. * The relr section/offset array may lead to problems if the array is not properly handled or used. * The rewrite of append_relr_off may cause issues due to wrong allocs erroneous pointer arithmetic or array handling. * The entirely new sort_relr function may introduce new code issues or performance issues. * The adjustments of ppc64_elf_size_stubs and ppc64_elf_build_stubs to the new relr code could be done wrong in which case the linker support is still not working. * But the patch was discussed at the upstream mailing list: https://sourceware.org/pipermail/binutils/2022-March/thread.html#119921 * and is limited to ppc, and even to file 'elf64-ppc.c'. __________ == Comment: #0 - Matheus Salgueiro Castanho <mscasta...@ibm.com> - 2022-06-09 09:32:29 == ---Problem Description--- Latest glibc uses DT_RELR relocations, but linker support is incomplete as of binutils-2.38-3ubuntu1 on Ubuntu 22.04. It lacks the following fix integrated into the upstream 2.38 branch: PowerPC64 DT_RELR relative reloc addresses https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=e4a35c7319628045302d4c597cb27f1b0a08c858 As mentioned in the binutils mailing list when this patch was discussed, this fixes several glibc regressions: https://sourceware.org/pipermail/binutils/2022-March/119921.html Contact Information = Matheus Castanho/mscasta...@ibm.com ---uname output--- N/A Machine Type = N/A ---Debugger--- A debugger is not configured ---Steps to Reproduce--- git clone git://sourceware.org/git/glibc.git mkdir build && cd build ../glibc/configure --prefix=/usr && make -j8 && make check Userspace tool common name: binutils The userspace tool has the following bit modes: 64-bit Userspace rpm: binutils Userspace tool obtained from project website: na *Additional Instructions for Matheus Castanho/mscasta...@ibm.com: -Attach ltrace and strace of userspace application. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-power-systems/+bug/1978129/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp