Originally posted by Weasel
View Post
Originally posted by ssokolow
View Post
https://docs.oracle.com/cd/E26502_01...er6-54676.html this is solaris elf symbol versioning.
https://refspecs.linuxfoundation.org...ymversion.html This is Linux elf symbol versioning.
vn_file Offset to the file name string in the section header, in bytes.
vn_file being populated did not automatically trigger segregated linking.
Originally posted by Weasel
View Post
So in elf you have STT_FILE that for ELF pre using version symbols and to declare this must be segregated loaded if using a Solaris elf loader . Then you have vn_file in the versioned synbol table of "Version Needed Entries" if you are using versioning should be populated but you vn_file find it populated with NULL that glibc and musl loader accepts this Solaris elf loader on the other hand throws error for incomplete symbol versioning and fail to load the program without shim to replace those tables..
Weasel its a different layout to PE true. But what you are request is in the ELF format if those implementing linkers and loaders decide to support it.
Yes Solaris loader supports supports preloading a .so file with replacement symbol version tables for the application. So quite powerful shimming ability here that we also don't have with glibc and musl elf loader. Yes form of solaris shim you could replaced the list of needed so files as well completely. Lot more functional loader lot less total road block problems.
Leave a comment: