The existance of LARGEFILE_SENSITIVE systems like Linux and Solaris have made for a special group of interest activity - the topic is known as "64on32", to use largefile binaries and libraries in an environment that is otherwise still handling files with max 2 GiB.
One solution might be to ship two variants of libraries along, one for traditional style handling in 32bit-off_t, and the other the style of largefile software. In a way it does pick up the old DOS-modes of software (to some still known as "tiny", "small", "medium", "large" and "huge"). It was quite common to only mix binaries and libraries of the same type to ensure there are no call-mismatches or structure-mismatches.
In the unix world however there is a problem about the DOS-model style: there is no hint in the compiled libraries as to what model they are in. The binary format was not developed with the fact of parallel 64bit/32bit off_t libraries around. Instead however, we see various attempts to support dualmode libraries.
Where parallel libraries would carry the same symbol-name with a different call-synopsis, the dualmode libraries carry symbols for both modes. The 64bit-variant is supported through extra symbols - and there are #defines in the header that make every program source to link to the correct variant of them.
All that however is pretty much dangerous - alteast for to the degree of largefile-seeks and filedescriptor-inheritance which can be avoided that simple. Furthermore note, that dualmode libraries are more heavy in maintainance cost - wrapper calls will need to be there in numbers.