Musl loader updates: relr support and relocation of init_array entries #1473
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.
Summary
libcrypto from openssl 3 has relr relocations which are not supported by musl loader. It also has init_array entries which are not relocated by the loader.
PR adds support for relocating init_array entries.
relr relocations are already supported by musl 1.2.24, I have ported just those changes in this PR.
Upstream musl commits related to RELR relocations:
bminor/musl@d32dadd
bminor/musl@bf99258
PR disables numpy_core_tests and python_flask_tests. numpy_core_tests issues are documented in Missing symbols while relocating libstdc++.so.6 3.4.30 and libgcc_s.so.1 #1475 and Musl loader doesn't support relocation type 37(R_X86_64_IRELATIV) #1476. python_flask_tests is being fixed by Fix python_flask_tests #1474.