У меня есть проект IAR STM32, где мне нужно обернуть библиотечную функцию некоторой пользовательской логикой.У меня нет возможности перекомпилировать саму библиотеку, поэтому я хотел бы создать функцию libfunction_shim
, которая вызывает исходную libfunction
.Используя опцию компоновщика --redirect
(--redirect libfunction=libfunction_shim
), я могу перенаправлять вызовы исходной функции в шим, включая вызовы внутри самой библиотеки.Однако мне нужно вызвать исходную функцию из шимма.
Если я добавлю еще одно перенаправление (--redirect libfunction_original=libfunction
), оно в итоге перенаправит libfunction_original
в libfunction_shim
, а не в исходное libfunction
.Я попытался переупорядочить перенаправления, но он делает то же самое независимо от порядка.
Журнал компоновщика демонстрирует это:
Symbol Redirected to Reason
------------- ------ ------
...
libfunction libfunction_shim command line
libfunction_original libfunction_shim command line
Что я хотел бы это:
Symbol Redirected to Reason
------------- ------ ------
...
libfunction libfunction_shim command line
libfunction_original libfunction command line
Возможно ли это сделать с помощью компоновщика?