summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/patchelf/patchelf
Commit message (Collapse)AuthorAgeFilesLines
* patchelf: add 3 fixes to optimize and fix uninativeMartin Jansa2023-08-013-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 (From OE-Core rev: f0499b58d1dd149300a349dde8f6664679df13e6) 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>
* patchelf: upgrade 0.17.0 -> 0.17.2Wang Mingyu2023-01-161-104/+0
| | | | | | | | | | | | | | | | 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 (From OE-Core rev: ae8319a6ce5af747a1882bd67384286fef75474a) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: Add fix submitted upstream for uninative segfaultsRichard Purdie2023-01-101-0/+104
| | | | | | | | | | | | | | 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. (From OE-Core rev: cccd4bcaf381c2729adc000381bd89906003e72a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: replace a rejected patch with an equivalent uninative.bbclass tweakAlexander Kanavin2022-08-141-63/+0
| | | | | | | | | | | | | | | 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 (From OE-Core rev: 728775c87a7e35a03408675ce1c7a8cd061b2fda) 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>
* patchelf: update 0.14.5 -> 0.15.0Alexander Kanavin2022-08-141-16/+14
| | | | | | | | | | Rebase handle-read-only-files.patch (From OE-Core rev: 0b2f8da3ff9cbbb6fc2ab75fbe09ad1fe745c53b) 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>
* patchelf: Fix corrupted file mode patchuninative-3.5Richard Purdie2022-02-111-13/+23
| | | | | | | | | | | | | | 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. (From OE-Core rev: bcdba091d99f9a3ae67c0ba17fcf27329698a0c0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: upgrade 0.13 -> 0.14.1wangmy2021-12-011-6/+9
| | | | | | | | | refresh handle-read-only-files.patch (From OE-Core rev: 978f04fc520938b231c236c00582360aea63b364) Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: upgrade 0.12 -> 0.13Alexander Kanavin2021-08-233-96/+8
| | | | | | | (From OE-Core rev: 9fdfa49ac11eff7215fab8540114535b2c652b83) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: Fix alignment patchRichard Purdie2021-05-021-9/+11
| | | | | | | | | | 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. (From OE-Core rev: e464efc07a8997c43998a9c6a9544be11ab4f303) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: Fix note section alignment issuesRichard Purdie2021-05-011-0/+42
| | | | | | | | | | | | 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. (From OE-Core rev: fee8dde0d597b511b37d8dcf215e8355980d5f2b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: Backport fix from upstream for note section overlap errorRichard Purdie2021-04-231-0/+44
| | | | | | | | | | | 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. (From OE-Core rev: 80e8f7d34d7032cc94b61bf155eac7648e6b6c74) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: Upgrade 0.10 -> 0.11Richard Purdie2020-06-173-90/+10
| | | | | | | | Two patches were merged upstream, the other needed refreshing. (From OE-Core rev: 9a4547804f0a889dc583e84a00374085ecf7f361) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: Add patch to address corrupt shared library issueRichard Purdie2020-06-041-0/+37
| | | | | | | | | | patchelf can corrupt shared libraries if the program headers don't immediately follow the elf header. Add a patch submitted upstream to address this. (From OE-Core rev: e7811c787bbe2f5d49b3506309499acc27189988) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: Upgrade 0.9 -> 0.10Alex Kiernan2019-05-085-253/+18
| | | | | | | | | Drop patches merged (or redone differently) upstream (From OE-Core rev: e81004fd334a8204852f271101ddcf4a39e9ccb5) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: fix segfault for binaries linked by goldEd Bartosh2017-07-241-0/+38
| | | | | | | | | | | | | | | | | | | | | 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] (From OE-Core rev: 4e4c96db4b1d2356b5d071cee6746a96eca20439) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: change patch statusEd Bartosh2017-07-241-1/+1
| | | | | | | | | | The patch has been accepted upstream. Changed patch status Pending -> Accepted. (From OE-Core rev: 4e9b1e9798e7b12664d4afc611e430a988b6b1ca) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: Fix issues with the 'hole' in binaries approachRichard Purdie2017-03-071-0/+163
| | | | | | | | | | | | | | | | | | | 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] (From OE-Core rev: 39f5a05152aa0c3503735e18dd3b4c066b284107) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: Update to version 0.9Fabio Berton2016-09-154-30/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 \ (From OE-Core rev: 18efcbcb896239c64fedd009ce57f3f0c668cbc0) Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchelf: Add patch to handle large filesRichard Purdie2016-02-061-0/+30
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. (From OE-Core rev: 79d320544202d719eeb5affd9b687505dcd9b725) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>