This code was hackishly added in 2019 (__FreeBSD_version 1300070) to provide the forward compatibility, allowing to somehow run newer rtld on old kernel.
Details
Details
- Reviewers
tpearson_raptorengineering.com brooks
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
Comment Actions
Looks good to me on a POWER9 Blackbird / powerpc64le.
Thanks for putting this together!
Comment Actions
On second read through, caught a couple of code issues that don't affect functionality. Once those are fixed this looks good.
| libexec/rtld-elf/powerpc/reloc.c | ||
|---|---|---|
| 848 ↗ | (On Diff #166727) | This variable seems to be dangling. Remove? |
| libexec/rtld-elf/powerpc64/reloc.c | ||
| 745 ↗ | (On Diff #166727) | This variable seems to be dangling. Remove? |
Comment Actions
After thinking about this code some more, I realized that it probably should be removed altogether. Basically, it is there to allow to run newer binaries (rtld/libsys) on older (pre-AT_ renumbering) kernels. This was done in ~2019, and arguably outlived even the limited usefulness it had at the time of the commit.