Commit Graph

678 Commits

Author SHA1 Message Date
Jörg Thalheim
e1aa6d671c add more explicit pointer checks when clearing .gnu.version 2022-08-01 10:15:31 +02:00
David Gow
7ff7a80eee Add a test for --clear-symbol-version
This test removes the __libc_start_main@GLIBC_2.34 symbol, which should
be the only GLIBC_2.34 symbol in 'main' when built with recent (i.e., >
2.34) glibc. Because it is the only symbol, the entry in .gnu.version_r
should also be removed.

Because this is a symbol version test, it's unlikely to work on musl or
anything else which doesn't use glibc symbol versions. In these cases
(or in the case that __libc_start_main is now at a different version),
the test should print a warning, but exit with "0" to report a pass.
2022-07-30 22:58:29 +08:00
David Gow
85b83d010d Cleanup .gnu.version_r after removing symbol version
If --clear-symbol-version is used to remove all occurrances of a symbol
version, it nevertheless remains in the .gnu.version_r section as being
required by a particular dependency.

Instead, after removing symbol versions, loop over the .gnu.version and
gnu.version_r tables to find any unused version, and unlink them from
the linked-lists in the .gnu.version_r section.
2022-07-30 21:11:39 +08:00
Jörg Thalheim
c2b419dc2a Merge pull request #392 from NixOS/docs
man/patchelf: bump date
2022-07-16 08:52:49 +02:00
Jörg Thalheim
1bb2824171 man/patchelf: bump date 2022-07-16 08:52:07 +02:00
Jörg Thalheim
9de88c4ea1 Merge pull request #391 from NixOS/docs
README: move release history to github release page
2022-07-16 08:49:30 +02:00
Jörg Thalheim
4d67024677 README: move release history to github release page 2022-07-16 08:48:47 +02:00
Jörg Thalheim
1bc502f1c3 Merge pull request #384 from NixOS/riscv64
ci: bump alpine
2022-07-16 08:29:01 +02:00
Jörg Thalheim
d816091264 Merge pull request #387 from NixOS/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-07-16 08:27:44 +02:00
dependabot[bot]
bd3fef9b49 Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-16 06:27:09 +00:00
Jörg Thalheim
42973912c7 Merge pull request #390 from NixOS/dependabot/github_actions/actions/upload-artifact-3
Bump actions/upload-artifact from 2 to 3
2022-07-16 08:26:58 +02:00
Jörg Thalheim
8e9aaef2a0 Merge pull request #388 from NixOS/dependabot/github_actions/actions/download-artifact-3
Bump actions/download-artifact from 2 to 3
2022-07-16 08:26:36 +02:00
Jörg Thalheim
8f2b8c3476 Merge pull request #389 from NixOS/dependabot/github_actions/cachix/install-nix-action-17
Bump cachix/install-nix-action from 13 to 17
2022-07-16 08:26:27 +02:00
Jörg Thalheim
b4aca9842f Merge pull request #386 from NixOS/dependabot/github_actions/docker/setup-qemu-action-2
Bump docker/setup-qemu-action from 1 to 2
2022-07-16 08:26:14 +02:00
Jörg Thalheim
3d96500b80 ci: bump alpine 2022-07-16 08:24:23 +02:00
dependabot[bot]
c3eac3ba91 Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-16 06:21:42 +00:00
dependabot[bot]
a7dfa8bfb8 Bump cachix/install-nix-action from 13 to 17
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 13 to 17.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v13...v17)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-16 06:21:39 +00:00
dependabot[bot]
d9c827cb62 Bump actions/download-artifact from 2 to 3
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-16 06:21:36 +00:00
dependabot[bot]
248cabac7a Bump docker/setup-qemu-action from 1 to 2
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 1 to 2.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-16 06:21:32 +00:00
Jörg Thalheim
da890c4486 Merge pull request #385 from NixOS/dependabot
add dependabot
2022-07-16 08:21:13 +02:00
Jörg Thalheim
fcb9ca697a add dependabot 2022-07-16 08:20:55 +02:00
Jörg Thalheim
35c1934c2d Merge pull request #383 from NixOS/compiler-check
add compiler check for c++17
2022-07-16 08:12:30 +02:00
Jörg Thalheim
e89d02f33d add compiler check for c++17 2022-07-16 08:05:26 +02:00
Jörg Thalheim
4900800256 fix version file 0.15.0 2022-07-16 07:22:27 +02:00
Jörg Thalheim
48707416c4 bump version 2022-07-16 07:19:00 +02:00
Jörg Thalheim
734daa3d0f Merge pull request #380 from amjoseph-nixpkgs/pr/close/368
patchelf.cc: handle DT_MIPS_XHASH and .MIPS.xhash
2022-06-29 20:42:34 +02:00
Jörg Thalheim
a8dcbc9c06 Merge pull request #378 from a-m-joseph/pr/no-sort
add --no-sort option
2022-06-19 06:54:15 +01:00
Adam Joseph
7b155fda31 formatting: fix incorrect indentation in previous commit 2022-06-18 22:44:04 -07:00
Adam Joseph
cad0212309 patchelf.1: mention new --no-sort option 2022-06-18 22:42:16 -07:00
Jörg Thalheim
1eeac3826c Merge pull request #379 from a-m-joseph/pr/dt_mips_rld_map_rel-comment
patchelf.cc: add comment explaining calculation for DT_MIPS_RLD_MAP_REL
2022-06-19 06:31:55 +01:00
Adam Joseph
820da7be8d patchelf.cc: handle DT_MIPS_XHASH and .MIPS.xhash
glibc changed their ABI in commit
23c1c256ae7b0f010d0fcaff60682b620887b164 on 2019-Aug-29, by changing
the structure of the .gnu.hash data on MIPS and moving it to a
different section.  We need to adapt to this change by glibc.

Closes #368
2022-06-18 21:51:19 -07:00
Adam Joseph
8db45c6a0c elf.h: resynchronize with glibc elf.h
This commit adds two symbols (SHT_MIPS_XHASH and DT_MIPS_XHASH) found
in glibc, and updates the value of DT_MIPS_NUM.  These changes were
made to glibc in 23c1c256ae7b0f010d0fcaff60682b620887b164 on
29-Aug-2019.
2022-06-18 21:51:19 -07:00
Adam Joseph
84275a0950 patchelf.cc: add comment explaining calculation for DT_MIPS_RLD_MAP_REL
This commit also includes a link to the best source I could find for
what DT_MIPS_RLD_MAP_REL is supposed to be, an exact copy-paste of the
text found there, and step-by-step algebra for deriving the formula
used by the code.  Hopefully this means that this is the end of the
DT_MIPS_RLD_MAP_REL headaches.
2022-06-18 18:40:39 -07:00
Adam Joseph
9995113a40 add --no-sort option
This PR adds a command line option `--no-sort` which causes patchelf
to refrain from sorting the program headers and section headers.  A
comment in the preexisting source code says that this was done only
"for neatness".

The `--no-sort` option, combined with `readelf -a` and `colordiff` is
very useful for debugging patchelf problems.  Without `--no-sort` the
diffs are not usable -- everything changes because of the sorting.
2022-06-18 18:39:35 -07:00
Jörg Thalheim
be0cc30a59 Merge pull request #376 from ehmry/null-rpath
modifyRPath: return early if new and old rpath are empty
2022-05-20 17:51:33 +01:00
Emery Hemingway
761b494a9f modifyRPath: return early if new and old rpath are empty 2022-05-20 10:51:19 -05:00
Jörg Thalheim
309806c011 Merge pull request #375 from klemensn/document-print-needed
Document --print-needed
2022-05-11 19:40:36 +01:00
Klemens Nanni
8a633bd31d Document --print-needed
`--help` output has already.
2022-05-03 19:44:14 +02:00
Jörg Thalheim
31d052c1fd Merge pull request #372 from JagoGyselinck/master
Add O_BINARY flag when opening files to allow compilation for Windows
2022-04-07 07:26:17 +01:00
Jörg Thalheim
676326c0cf Update src/patchelf.cc 2022-04-07 07:22:02 +01:00
Jago Gyselinck
a04ca83ad7 Add O_BINARY flag when opening files to allow compilation for Windows 2022-04-06 15:27:33 +02:00
Jörg Thalheim
8f5ac59ade Merge pull request #367 from deadw00d/master
Add --add-debug option
2022-03-26 08:08:33 +00:00
deadwood
b92e442be0 Add test for --add-debug-tag argument 2022-02-23 16:42:51 +01:00
deadwood
86a2cd830f Add documentation for --add-debug-tag argument 2022-02-21 19:36:54 +01:00
deadwood
fd35bb9870 Update argument name to be more descriptive 2022-02-21 19:36:37 +01:00
Jörg Thalheim
a350545042 bump version 0.14.5 2022-02-21 14:26:56 +01:00
Jörg Thalheim
df7c57a032 bump version 0.14.4 2022-02-21 14:22:56 +01:00
deadwood
c6c4304ed6 Add --add-debug option
A shared library (-shared) by default does not receive DT_DEBUG tag.
This means that when a shared library has an entry point (so that it
can be run as an executable), the debugger does not connect to it
correctly and symbols are not resolved.

--add-debug option adds DT_DEBUG tag if it not yet present to an ELF
object.
2022-02-20 11:32:45 +01:00
Jörg Thalheim
a992616722 Merge pull request #365 from a-m-joseph/master
fix incorrect polarity on dyn_offset; closes #364
2022-02-05 07:35:34 +00:00
Eelco Dolstra
8fc7020015 Merge pull request #366 from bjornfor/fix-typo
Fix typo: s/folllow/follow/
2022-02-01 12:59:37 +01:00