Mike McQuaid
0cda6a0657
Only use patchelf.rb
...
Remove support for using the `patchelf` formula for writing as it's been
off by default for a long time now.
2021-10-19 15:15:56 +01:00
Carlo Cabrera
d696250ddb
Fix ELF architecture offset for x86_64
...
The current offset results in ELF binaries returning an `#arch` of
`:dunno`.
Also, skip the `check_binary_arches` audit on the generic OS.
2021-07-18 16:55:57 +08:00
EricFromCanada
2ed324ebc0
use backticks around suggested input, flags, and binaries
2021-01-26 16:19:47 -05:00
EricFromCanada
3768b7a6e9
apidoc: update comment wording, punctuation, formatting
2020-11-06 00:21:02 -05:00
Markus Reiter
24ae318a3d
Move type annotations into files.
2020-10-10 14:59:39 +02:00
rmnull
649e02ba3d
patchelf.rb writing in ELFShim
2020-08-27 22:50:34 +05:30
Markus Reiter
4304fa048e
Document ELFShim
.
2020-08-26 03:13:59 +02:00
Mike McQuaid
763bf6f699
Use vendored patchelf.rb.
2020-08-11 08:41:31 +01:00
rmnull
043719383b
remove code using patchelf, remove HOMEBREW_PATCHELF_RB var
2020-08-08 06:48:31 +05:30
rmnull
ce2eda5a26
remove PatchELF::Patcher refinements.
2020-07-29 09:38:15 +05:30
rmnull
e79eeb7560
Bug Fix: Don't search for needed libraries on non DYNAMIC ELFs.
2020-07-26 04:56:21 +05:30
rmnull
f92c7d30c1
let patchelf return nil on blank rpath
2020-07-25 01:07:52 +05:30
rmnull
d607528a5b
introduce ELFShim#rpath, refactor keg_relocate to use the same.
...
refines PatchELF #runpath, #rpath #soname #interpreter
to return nil.
let Brew hard exits on PatchELF::PatchError.
Co-authored-by: Shaun Jackman <sjackman@gmail.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2020-07-25 01:07:24 +05:30
rmnull
2ca03610e2
update patchelf.rb to '~> 1.1' in Gemfile. Replace instance variable access with call to .elf.
...
patcher.elf was introduced in gem release v1.1.0.
2020-07-14 04:30:29 +05:30
rmnull
35328ed535
[draft] refactoring keg_relocate to use ELFShim#interpreter instead of .with_interpreter?
2020-06-26 05:34:41 +05:30
rmnull
3f211415ca
don't warn "no interpreter found" for Shared ELF objects.
2020-06-22 01:24:03 +05:30
rmnull
486114282c
In ELFShim, #needed_libraries, #dynamic_elf? and #with_interpreter? check using patchelf gem.
...
Having HOMEBREW_PATCHELF_RB set in the ENV,
will conditionally install patchelf.rb gem,
use patchelf.rb in the above mentioned methods.
The installed vendored gems are listed in .gitignore
to maintain a clean state.
2020-06-19 21:23:57 +05:30
rmnull
69e1673a81
skip needed_libraries check when patchelf is the bottle being installed.
2020-05-15 05:36:49 +05:30
Issy Long
b87782ef7d
Auto-fix Style/UnpackFirst offenses
2019-10-13 16:04:34 +01:00
Cheng XU
2c82623318
keg_relocate: relocate the interpreter for elf files with INTERP header (Linux)
...
Some elf files (e.g. created by rust compiler) have INTERP header despite
their magic header denotes shared object instead of executable.
We should relocate the interpreter elf files as long as they have INTERP header.
This should fix the broken bottles for rust based formulae.
2019-07-18 15:22:43 +08:00
Cheng XU
3ab93b6e2b
elf: fix caching of dynamic_elf?
2019-07-18 15:22:43 +08:00
Mike McQuaid
36dbad3922
Add frozen_string_literal to all files.
2019-04-20 13:27:36 +09:00
Michka Popoff
5c068ef82c
elf.rb: avoid corrupted elf files
...
Some elf files like unittest files or memory dumps may not be completely
readable by readelf.
Readelf will fail after the following message:
readelf: Warning: possibly corrupt ELF header - it has a non-zero program header offset, but no program headers
This patches avoid these files when there is a non zero offset but no
program headers
2019-03-09 17:16:36 +01:00
Shaun Jackman
9ef010738f
needed_libraries: Fix cannot find section .dynamic
...
Fix the error `cannot find section .dynamic` when needed_libraries is
called on a static ELF executable.
2019-01-02 12:34:16 -08:00
EricFromCanada
20167e5f1b
Adjust comments to tidy API docs output.
2018-10-18 21:42:43 -04:00
Markus Reiter
e9b9ea49a1
Update to RuboCop 0.59.1.
2018-09-17 03:45:59 +02:00
Markus Reiter
2452b27866
Refactor ErrorDuringExecution
.
2018-07-19 16:41:27 +02:00
Shaun Jackman
e5847b652f
extend/pathname: Add os/linux/elf.rb
2017-12-03 16:22:51 -08:00