enhance(main/libuv): Check for TERMUX_EXEC__PROC_SELF_EXE #20767
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes running e.g. neovim under
termux-exec
with updatedtargetSdk
.Brief summary: When running with
targetSdk
to 28 or higher, it's not allowed to execute downloaded files (files not part of the APK in general) directly.The
termux-exec
workaround usingLD_PRELOAD
that is currently used in the Google Play build instead executes e.g./system/bin/linker64 $PREFIX/bin/nvim
instead of$PREFIX/bin/nvim
directly. One consequence of that is that reading/proc/self/exe
to get the path to the currently running executable does not work, so patches like these (that should be a no-op when not running under bumpedtargetSdk
andtermux-exec
) are necessary.