Page MenuHomeFreeBSD

rtld-elf: Provide a separate specialised manpage for ld-elf32.so.1(1)
AcceptedPublic

Authored by jrtc27 on Jul 27 2023, 10:13 PM.
Tags
None
Referenced Files
Unknown Object (File)
Oct 2 2024, 1:36 AM
Unknown Object (File)
Sep 28 2024, 1:57 AM
Unknown Object (File)
Sep 21 2024, 1:38 AM
Unknown Object (File)
Sep 5 2024, 9:44 PM
Unknown Object (File)
Sep 1 2024, 2:46 PM
Unknown Object (File)
Aug 12 2024, 6:57 AM
Unknown Object (File)
Aug 12 2024, 3:41 AM
Unknown Object (File)
Jul 28 2024, 11:30 AM
Subscribers

Details

Reviewers
kib
brooks
jhb
Summary

Currently we have a single manpage which documents all the paths and
varaibles for the native ld-elf.so.1, with a few notes here and there
about where it differs for 32-bit. Whilst the information is there, it's
not as easy to read as it could be. The fact that the manpage is a
(hard) link to the native one also means ld-elf32.so.1 can't be in the
lib32 distribution set like it was before a4330302f22d ("libcompat:
build 32-bit rtld and ldd as part of "everything"") and instead has to
remain in base, as distribute will fail due to not being able to find
the link target in the distribution directory (and it wouldn't be
representable in the tarball either).

Thus, address both these problems at once by making the existing manpage
a template that can be specialised for ld-elf32.so.1(1).

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 52878
Build 49769: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Jul 27 2023, 11:24 PM

IMO this makes the man page much harder to use. My opinion is that the best for ld-elf32.so.1 would be a dedicated manually written text that lists just the differences with the native host ld-elf.so.1.

In D41217#938772, @kib wrote:

IMO this makes the man page much harder to use. My opinion is that the best for ld-elf32.so.1 would be a dedicated manually written text that lists just the differences with the native host ld-elf.so.1.

How would you deal with ld-elf32.so.1 being moved to lib32 then?

In D41217#938772, @kib wrote:

IMO this makes the man page much harder to use. My opinion is that the best for ld-elf32.so.1 would be a dedicated manually written text that lists just the differences with the native host ld-elf.so.1.

How would you deal with ld-elf32.so.1 being moved to lib32 then?

I do not understand specifics of the question. WIth my proposal, there would be two separate files: ld-elf.so.1 and ld-elf32.so.1. The text in ld-elf.so.1 is stripped from any mentions of "32", while text in ld-elf32.so.1 contains the list of vars/files/whatever that exist in "32" variant. You put ld-elf32.so.1 into lib32 distribution, I suspect this is the answer to your question.

In D41217#938774, @kib wrote:
In D41217#938772, @kib wrote:

IMO this makes the man page much harder to use. My opinion is that the best for ld-elf32.so.1 would be a dedicated manually written text that lists just the differences with the native host ld-elf.so.1.

How would you deal with ld-elf32.so.1 being moved to lib32 then?

I do not understand specifics of the question. WIth my proposal, there would be two separate files: ld-elf.so.1 and ld-elf32.so.1. The text in ld-elf.so.1 is stripped from any mentions of "32", while text in ld-elf32.so.1 contains the list of vars/files/whatever that exist in "32" variant. You put ld-elf32.so.1 into lib32 distribution, I suspect this is the answer to your question.

Ok, that explains what you meant. That would certainly resolve the issue, but I'm not sure it's an improvement, as now you have to read two manpages to figure out how to use ld-elf32. IMO that's even worse than we have today in some respects.

In D41217#938774, @kib wrote:
In D41217#938772, @kib wrote:

IMO this makes the man page much harder to use. My opinion is that the best for ld-elf32.so.1 would be a dedicated manually written text that lists just the differences with the native host ld-elf.so.1.

How would you deal with ld-elf32.so.1 being moved to lib32 then?

I do not understand specifics of the question. WIth my proposal, there would be two separate files: ld-elf.so.1 and ld-elf32.so.1. The text in ld-elf.so.1 is stripped from any mentions of "32", while text in ld-elf32.so.1 contains the list of vars/files/whatever that exist in "32" variant. You put ld-elf32.so.1 into lib32 distribution, I suspect this is the answer to your question.

Ok, that explains what you meant. That would certainly resolve the issue, but I'm not sure it's an improvement, as now you have to read two manpages to figure out how to use ld-elf32. IMO that's even worse than we have today in some respects.

I personally never needed to learn how to use lf-elf32.so.1 in void, and I suspect neither did other people. What happens is that someone is already familiar with the ld-elf.so.1 behavior, and needs an update on what is different WRT lib32/ld-elf32.so.1. In this (IMO most common) case the ld-elf32.so.1.1 being a diff against ld-elf.so.1.1 is the most useful setup.