The order in the library used to resolve the issue a long time ago.
This does not matter for any UNIX system, newer ~ 15-20 years. From man ranlib :
An archive with such an index speeds up linking to the library and allows routines in the library to call each other without regard to their placement in the archive.
Most non-ancient UNIX systems either create __.SYMDEF (which contains the index above) automatically when creating the archive library, or build it in memory during communication.
source share