Я работаю над плагином GCC для вставки пользовательских инструкций по сборке в определенные позиции каждой функции, например. в самом начале или прямо перед операторами return. Плагин зарегистрирован для выполнения во время проходов RTL и в принципе работает нормально.
Теперь моя проблема заключается в том, что, используя этот подход, я могу только инструментировать программы, в которых у меня есть полный исходный код, то есть нет библиотек, потому что они только связаны с приложением, а не скомпилированы мной (речь идет только о статической компоновке; динамическая компоновка другая тема).
Есть ли способ выполнить оптимизацию на уровне компоновщика с помощью специального подключаемого модуля, аналогично тому, что я делаю на уровне компилятора? Я знаю, что во время связывания происходят определенные оптимизации, но я не смог найти никаких ресурсов по вопросу о том, возможно ли вообще то, что я хочу сделать.
Спасибо!