Smartlink в fpc 2.2.0 для x86_64-linux не работает?

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Аватара пользователя
Deepthroat
постоялец
Сообщения: 144
Зарегистрирован: 06.09.2007 00:21:34
Откуда: Outer Heaven
Контактная информация:

Smartlink в fpc 2.2.0 для x86_64-linux не работает?

Сообщение Deepthroat »

Столкнулся вот с какой проблемой. Смартлинк не работает, если в конфиге или в командной строке выставлена опция -CX (не создаются файлы lib*.a, а в линуксе, я так понимаю, внутреннего компоновщика нету, которому на эти файлы пофиг?). В результате простая консольная программа, использующая только Classes и SysUtils получается неимоверных размеров - более 600 КБ, а консольная программа вообще без всяких модулей, кроме System, весит более 140 КБ. Если же в самом модуле указать {$SMARTLINK ON}, то все работает как и положено.

Но проблема еще и в том, что RTL и все библиотеки, что с компилятором идут, тоже собраны без смартлинка. Чтобы пересобрать библиотеки со смартлинком, надо в каждый файл вставить строку {$SMARTLINK ON}, ведь на конфигурационный файл компилятор не реагирует... Бинарники качал и с офф. репозиториев Убунты, и с freepascal.org (с сурсфоржа) - смартлинка нет нигде.

Может, кто в курсе, в чем проблема? Это глюк, или все правильно и внутренний компоновщик есть и в линуксе? Если так, то почему размер программы такой большой? Или для 64-разрядных это нормальный размер? В общем, просветите, пожалуйста.

Спасибо за внимание.
Аватара пользователя
Deepthroat
постоялец
Сообщения: 144
Зарегистрирован: 06.09.2007 00:21:34
Откуда: Outer Heaven
Контактная информация:

Сообщение Deepthroat »

Вопрос снимается. В FPC 2.2.2 RC1 смартлинк прекрасно работает. Судя по всему, это был просто глюк.
Ответить