Можно ли использовать скрипт компоновщика или файл карты для переименования символа? Я пытаюсь адаптировать некоторый код, написанный в сочетании C++ и Fortran, чтобы он работал с более чем одним компилятором Fortran - на Linux. В настоящее время он написан для компилятора Solaris Studio с возможностью включения чувствительности к регистру. Я хотел бы автоматически обрабатывать изменения в имени символа фортранна (например, из Makefile).переименовать символ с помощью сценария компоновщика
Это представляется возможным создать псевдонимы так, компоновщик скрипт, содержащий:
C_Function_ = c_function;
сортирует-работы. К сожалению, добавление опции -T для ссылки на этот скрипт вызывает некоторые другие изменения в поведении, и я получаю ошибки из-за того, что libdl.so.2/librt.so.1 не найден. Есть ли какой-то сценарий компоновщика по умолчанию, который мне нужно включить или что-то еще? Я пробовал как с bfd, так и с золотыми линкерами в Linux.
Спасибо, опуская '-T', решает это. Что делает «ПРОВАЙД»? Это предотвращает его работу для случая, когда символ компилируется в общую библиотеку. – okapi
'PROVIDE()' гарантирует, что символ только сглажен, если используемое имя еще не существует. Не уверен, почему это должно столкнуться с созданием общей библиотеки. – mfro