I haven't read enough on the ELF format to be able to answer this myself:
why can't one process an ELF file in such a way as to re-create it with
a particular string table enlarged sufficiently to hold whatever one wants
(not needing to reserve space for patching string table entries in the binary)?

For that matter, if string table contents are only pointed at by structures
that are part of the ELF format (and not by arbitrary text or data section
contents), then why isn't it possible (if tedious) to determine whether there
are any unused bytes in a string table?  That is, if one can find the size of
the string table, and everything pointing into it should be findable by
navigating the various data structures, and all strings are null-terminated,
then it should be possible to determine how many times every byte in the
string table falls within one or more references, and what those references
are.

Don't get me wrong; being able to fix run paths at all is much needed.  But
I was hoping for either a truly smart ELF editor that could reconstitute an
ELF file with all necessary adjustments without needing to reserve space
for such purposes (and with the potential flexibility to make other interesting
adjustments), or alternatively, something with ld.so.1 and crle such
that one could set specific overriding run paths for specific execnames
(which would at least centralize all such overrides and avoid the need to
hack up binaries, making their checksums, md5sums, or signatures invalid).
 
 
This message posted from opensolaris.org

Reply via email to