summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #219 from NixOS/aarch64HEADmasterDomen Kožar2020-06-232-1/+6
|\ | | | | CI for aarch64
| * CI for aarch64aarch64Domen Kožar2020-06-232-1/+6
|/
* Merge pull request #216 from delroth/pagesizeEelco Dolstra2020-06-232-23/+37
|\ | | | | Improve the default section alignment choice (> 4K page size compat)
| * Improve the default section alignment choicePierre Bourdon2020-06-192-23/+37
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently patchelf uses the host system's page size (determined at build time) as the default section load memory alignment. This causes multiple issues - Cross-compilation: when using patchelf on ELFs targetting a different architecture from the host, the host page size is still used by default. - Variable page size architectures: ARMv8 systems can be configured in either 4K, 16K, or 64K page size mode depending on kernel configuration. An ARMv8 patchelf built on a 4K page size system will end up creating ELFs that cannot be used on a 64K page size system. - Reproducibility: the page size of the machine that built patchelf "leaks" into the binary. The build time --with-page-size as well as the run time --page-size options can be used to work around some of these issues. But it's much better to have patchelf do the right thing without explicit configuration. This commit adds support for inferring page size from the ELF header's "machine" field. The default values are extracted from GNU gold's source code. Note that both --with-page-size as well as --page-size continue to work and take precedence on the default value.
* Merge pull request #210 from AaronDMarasco/const_cleanupDomen Kožar2020-06-161-41/+37
|\ | | | | Some const-correctness and C++11 auto
| * Some const-correctness and C++11 autoAaron D. Marasco2020-06-101-41/+37
| | | | | | | | (cherry picked from commit 76e2cdbee4705c45cae4eca55278530a02be2f83)
* | Merge pull request #130 from am813nt/masterDomen Kožar2020-06-162-2/+3
|\ \ | | | | | | Fixed parallel execution of tests (parallel-tests in automake)
| * | Set automake and autoconf versions required for parallel-testsam813nt2017-08-021-1/+2
| | |
| * | Fixed tests to be running with parallel-testsam813nt2017-08-022-2/+2
| | |
* | | Merge pull request #209 from AaronDMarasco/libasanDomen Kožar2020-06-125-2/+15
|\ \ \ | |_|/ |/| | Add libasan build option and test print-needed
| * | Add libasan build option and test print-neededAaron D. Marasco2020-06-105-2/+15
|/ / | | | | | | (cherry picked from commit 288eb61a173ce6f4cdf0be0d744c9c6b6b5598a4)
* | Bump version number0.11Eelco Dolstra2020-06-092-1/+7
| |
* | README: no more homepageDomen Kožar2020-06-081-6/+0
| |
* | README: strip bug was fixedDomen Kožar2020-06-051-9/+0
| |
* | Merge pull request #104 from mkoloberdin/masterDomen Kožar2020-06-031-1/+0
|\ \ | | | | | | tests: Do not exit on an expected failure code.
| * | tests: Do not exit on an expected failure code.Michael Koloberdin2016-07-101-1/+0
| | | | | | | | | | | | | | | | | | | | | The comment in the code below the patched line clearly suggests that it should go on in this case. This condition occurs on Alpine Linux (musl-libc-based): http://patchwork.alpinelinux.org/patch/2206/
* | | README: clarify testingDomen Kožar2020-06-031-3/+2
| | |
* | | Add issue templatesDomen Kožar2020-06-032-0/+47
| | |
* | | Merge pull request #171 from lkollar/no-memset-sonameDomen Kožar2020-06-031-7/+0
|\ \ \ | | | | | | | | Remove zeroing out logic in modifySoname
| * | | Remove zeroing out logic in modifySonameLaszlo Kiss-Kollar2019-05-291-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The original SONAME is filled with 'X' characters in the modifySoname function. This can cause issues if the .dynstr entry is still referenced in other sections, e.g. some libraries use the SONAME entry as version specifiers.
* | | | Merge pull request #202 from rpurdie/masterDomen Kožar2020-06-031-0/+1
|\ \ \ \ | | | | | | | | | | Fix shared library corruption when rerunning patchelf
| * | | | Fix shared library corruption when rerunning patchelfRichard Purdie2020-06-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running patchelf on some existing patchelf'd binaries to change to longer RPATHS, ldd would report the binaries as invalid. The output of objdump -x on those libraryies should show the top of the .dynamic section is getting trashed, something like: 0x600000001 0x0000000000429000 0x335000 0x0000000000335000 0xc740 0x000000000000c740 0x1000 0x0000000000009098 SONAME libglib-2.0.so.0 (which should be RPATH and DT_NEEDED entries) This was tracked down to the code which injects the PT_LOAD section. The issue is that if the program headers were previously relocated to the end of the file which was how patchelf operated previously, the relocation code wouldn't work properly on a second run as it now assumes they're located after the elf header. This change forces them back to immediately follow the elf header which is where the code has made space for them. Should fix https://github.com/NixOS/patchelf/issues/170 and https://github.com/NixOS/patchelf/issues/192 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* | | | | Merge pull request #204 from NixOS/github-actionsDomen Kožar2020-06-033-8/+14
|\ \ \ \ \ | | | | | | | | | | | | github actions -> travis
| * | | | | nixpkgs: 19.03 -> 20.03github-actionsDomen Kožar2020-06-031-1/+1
| | | | | |
| * | | | | github actions -> travisDomen Kožar2020-06-032-7/+13
|/ / / / /
* | | | | Merge pull request #127 from bartosh/masterDomen Kožar2020-06-031-4/+2
|\ \ \ \ \ | | | | | | | | | | | | fix adjusting startPage
| * | | | | fix adjusting startPageEd Bartosh2017-07-211-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | startPage is adjusted unconditionally for all executables. This results in incorrect addresses assigned to INTERP and LOAD program headers, which breaks patched executable. Adjusting startPage variable only when startOffset > startPage should fix this. This change is related to the issue NixOS#10 Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
* | | | | | Merge pull request #203 from priegger/fix/readmeDomen Kožar2020-06-032-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | fix README -> README.me in some more places
| * | | | | | fix README -> README.me in some more placesPhilipp Riegger2020-06-032-3/+3
| | |/ / / / | |/| | | |
* | | | | | Merge pull request #137 from speleo3/force-rpath-94Domen Kožar2020-06-033-10/+51
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Consistently use --force-rpath
| * | | | | Consistently use --force-rpath (fixes #94)Thomas Holder2020-06-033-10/+51
|/ / / / /
* | | | | https://github.com/NixOS/patchelf/issues/191Domen Kožar2020-06-021-1/+1
| | | | |
* | | | | Merge pull request #201 from dstahlke/outputflagEelco Dolstra2020-06-024-5/+64
|\ \ \ \ \ | | | | | | | | | | | | Added --output flag
| * | | | | Added --output flagDan L. Stahlke2020-06-014-5/+64
|/ / / / /
* | | | | Merge pull request #200 from NixOS/domenkozar-patch-1Domen Kožar2020-05-281-2/+2
|\ \ \ \ \ | | | | | | | | | | | | Update Makefile.am
| * | | | | Update Makefile.amdomenkozar-patch-1Domen Kožar2020-05-281-2/+2
|/ / / / /
* | | | | README: markdownDomen Kožar2020-05-281-11/+10
| | | | |
* | | | | flake.lock: AddEelco Dolstra2020-05-272-10/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Flake input changes: * Added 'nixpkgs': 'github:NixOS/nixpkgs/48723f48ab92381f0afd50143f38e45cf3080405'
* | | | | Merge pull request #198 from pespin/pespin/masterEelco Dolstra2020-04-082-2/+3
|\ \ \ \ \ | | | | | | | | | | | | Update doc to describe multiple filename args allowed
| * | | | | Update doc to describe multiple filename args allowedPau Espin Pedrol2020-04-082-2/+3
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 936bae418b77ee9e06a93cd3cd444f4204446973 added support to handle several files at once, but forgot to update the man and help output to describe it. Fixes: 936bae418b77ee9e06a93cd3cd444f4204446973
* | | | | release.nix: Fix evaluationEelco Dolstra2020-04-061-2/+2
| | | | |
* | | | | Use lastModifiedEelco Dolstra2019-10-231-1/+7
| | | | |
* | | | | flake.nix: Support multiple platformsEelco Dolstra2019-10-232-21/+30
| | | | |
* | | | | flake.nix: Provide a Nixpkgs overlayEelco Dolstra2019-09-182-4/+17
| | | | | | | | | | | | | | | | | | | | Also update the lock file.
* | | | | Update flakeEelco Dolstra2019-08-302-13/+6
| | | | |
* | | | | epoch -> editionEelco Dolstra2019-07-111-1/+1
| | | | |
* | | | | Merge pull request #175 from lkollar/travis-ciEelco Dolstra2019-07-021-0/+7
|\ \ \ \ \ | | | | | | | | | | | | Add .travis.yml to enable CI
| * | | | | Add .travis.yml to enable CILaszlo Kiss-Kollar2019-07-021-0/+7
|/ / / / /
* | | | | Update flake.lockEelco Dolstra2019-06-061-3/+6
| | | | |
* | | | | Updated epoch (#172)Nick Van den Broeck2019-06-031-1/+1
| | | | |