Как линкер знает, какие символы должны быть разрешены во время выполнения? В частности, меня интересует, какие данные обмениваются общими объектными файлами, которые инструктируют компоновщик для разрешения символов во время выполнения. Как разрешение динамического символа работает во время выполнения, то есть какой исполняемый файл будет выполнять поиск символа и в случае, если будут определены несколько символов с таким же именем?
Что произойдет, если файл был связан только статически, но затем он динамически связан во время выполнения как часть общей библиотеки? Какой символ будет использоваться исполняемым файлом? Другими словами, возможно ли переопределить символы в исполняемом файле, связав эти символы с общей библиотекой?
Рассматриваемая платформа - SUN OS.