summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/patchelf/patchelf
AgeCommit message (Collapse)Author
2023-08-01patchelf: add 3 fixes to optimize and fix uninativeMartin Jansa
* uninative-3.10 and 4.0 doesn't work on e.g. ubuntu-18.04, because patchelf-uninative makes the binaries unusable and e.g. mkfs.ext4 segfaults in loader, see: https://github.com/NixOS/patchelf/issues/492 * mke2fs.real, mkfs.ext2.real, mkfs.ext3.real, mkfs.ext4.real are indentical binary with multiple hardlinks and we end calling patchelf-uninative 4 times even when the interpreter is already set correctly from the build The issue was reported upstream with mkfs.ext4.real as possible reproducer: https://github.com/NixOS/patchelf/issues/492#issuecomment-1602862272 To fix uninative we need to first release new uninative tarball and then upgrade it in master, mickledore, kirkstone, dunfell * originally reported in: https://lists.openembedded.org/g/openembedded-core/message/182862 with temporary work around (applicable locally without waiting for new uninative release): https://lists.openembedded.org/g/openembedded-core/message/183314 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-16patchelf: upgrade 0.17.0 -> 0.17.2Wang Mingyu
8d2cb4f9ab8d564904c292099a022ffb3cccd52d.patch included in 0.17.2 Changelog: =========== Also pass STRIP to the tests Fix Out-of-bounds read in the function modifySoname Split segment size fix Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-10patchelf: Add fix submitted upstream for uninative segfaultsuninative-3.8.1Richard Purdie
The new uninative tarball is segfaulting in quilt (the underlying patch binary). We see errors in dmesg like: (patch): Uhuuh, elf segment at 0000000000400000 requested but the memory is mapped already This patch submitted to patchelf upstream looks like an appropriate fix for that. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-14patchelf: replace a rejected patch with an equivalent uninative.bbclass tweakAlexander Kanavin
This was the original reason to add the patch: https://git.openembedded.org/openembedded-core/commit/?id=18efcbcb896239c64fedd009ce57f3f0c668cbc0 and this is the upstream discussion which suggests handling read-only files explicitly outside of patchelf: https://github.com/NixOS/patchelf/pull/89 Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-14patchelf: update 0.14.5 -> 0.15.0Alexander Kanavin
Rebase handle-read-only-files.patch Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-11patchelf: Fix corrupted file mode patchuninative-3.5Richard Purdie
The recent patchelf upgrades corrupted the file permissions patch we carry as upstream inserted an early exit to the funciton. This showed up as corrupted file modes when testing a new uninative tarball containing this patchelf. Rework and tweak the patch to fix this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-01patchelf: upgrade 0.13 -> 0.14.1wangmy
refresh handle-read-only-files.patch Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-23patchelf: upgrade 0.12 -> 0.13Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-02patchelf: Fix alignment patchRichard Purdie
The previous fix was in the right direction but needed to account for the section alignment of the current section. Tweak the patch to handle this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-01patchelf: Fix note section alignment issuesRichard Purdie
Improve note section normalization was added to patchelf in recent versions however if fails if there are two note sections which aren't sized to match section alignment. Tweak the code to account for section alignment. This fixes patchelf failures on the autobuilder, particularly to ccache-native. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-23patchelf: Backport fix from upstream for note section overlap errorRichard Purdie
Backport a patch from upstream to fix an error: patchelf: cannot normalize PT_NOTE segment: non-contiguous SHT_NOTE sections seen on our ubuntu1604 autobuilder worker. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-17patchelf: Upgrade 0.10 -> 0.11Richard Purdie
Two patches were merged upstream, the other needed refreshing. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-04patchelf: Add patch to address corrupt shared library issueRichard Purdie
patchelf can corrupt shared libraries if the program headers don't immediately follow the elf header. Add a patch submitted upstream to address this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-08patchelf: Upgrade 0.9 -> 0.10Alex Kiernan
Drop patches merged (or redone differently) upstream Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-22patchelf: fix segfault for binaries linked by goldEd Bartosh
Due to a bug in calculating adresses of modified program headers patchelf breaks executables linked by Gold linker causing them to segfault, e.g. $ tmp/sysroots-components/x86_64/m4-native/usr/bin/m4 --help Segmentation fault This is reproducible only in some cases and only for executables of ET_DYN type produced by Gold or by ld linked with pie. This should be solved by fix-adjusting-startPage.patch that fixes calculation logic. [YOCTO #11785] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-22patchelf: change patch statusEd Bartosh
The patch has been accepted upstream. Changed patch status Pending -> Accepted. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-07patchelf: Fix issues with the 'hole' in binaries approachRichard Purdie
We're seeing two issues with patchelf, one where it inflates binaries to MBs in size, the other where stripping the resulting binary fails: $ strip fixincl Not enough room for program headers, try linking with -N [.note.ABI-tag]: Bad value The patch header describes more about what the problem is and how the patch fixes it. [YOCTO #11123] [YOCTO #11009] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14patchelf: Update to version 0.9Fabio Berton
* Remove patch maxsize.patch already applied upstream. * Add patch Skip-empty-section-fixes-66.patch to prevent errors like: / |ERROR: go-cross-1.6.2-r0 do_populate_sysroot_setscene: '('patchelf-uninative', |'--set-interpreter', '/home/user/src/prj/build/tmp/sysroots-uninative/ |x86_64-linux/lib/ld-linux-x86-64.so.2', '/home/user/src/prj/build/tmp/ |work/x86_64-linux/go-cross/1.6.2-r0/sstate-install-populate_sysroot/x86_64- |linux/usr/bin/aarch64-prj-linux/go')' |failed with exit code 1 and the following output: |cannot find section .rela.dyn \ * Add patch handle-read-only-files.patch to fix error when building eSKD, the following error appears on task do_testsdkext / |ERROR: db-native-6.0.30-r1 do_populate_sysroot_setscene: '('patchelf-uninative', |'--set-interpreter', 'src/fsl-community-bsp/build/tmp/work/qemuarm-poky-linux- |gnueabi/core-image-minimal/1.0-r0/testsdkext/tc/tmp/sysroots-uninative/ |x86_64-linux/lib/ld-linux-x86-64.so.2', 'src/fsl-community-bsp/build/tmp/work/ |qemuarm-poky-linux-gnueabi/core-image-minimal/1.0-r0/testsdkext/tc/tmp/work/ |x86_64-linux/db-native/6.0.30-r1/sstate-install-populate_sysroot/x86_64-linux/ |usr/bin/db_tuner')' failed with exit code 1 and the following output: |b'open: Permission denied\n \ * Add patch Increase-maxSize-to-64MB.patch to fix error described bellow, the same issue is discussed here: - https://github.com/NixOS/patchelf/issues/47 / |ERROR: qemu-native-2.5.0-r1 do_populate_sysroot_setscene: '('patchelf-uninative', |'--set-interpreter', '../build/tmp/sysroots-uninative/x86_64-linux/lib/ |ld-linux-x86-64.so.2', '../build/tmp/work/x86_64-linux/qemu-native/2.5.0-r1/ |sstate-install-populate_sysroot/x86_64-linux/usr/bin/qemu-mips64')' |failed with exit code 1 and the following output: |warning: working around a Linux kernel bug by creating a hole of 36032512 |bytes in ‘../build/tmp/work/x86_64-linux/qemu-native/2.5.0-r1/ |sstate-install-populate_sysroot/x86_64-linux/usr/bin/qemu-mips64’ |maximum file size exceeded \ Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-06patchelf: Add patch to handle large filesRichard Purdie
There were "maximum size exceeded" errors from patchelf when processing qemu-native. There is an issue open for this upstream, add a patch proposed there for this issue. "32" was increased to "64" to handle our qemu-ppc binary. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>