Подключил к проекту несколько .S файлов с разными самописными функциями на ассемблере. все хорошо, но потом возжелал неиспользуемые функции убрать при помощи -ffunction-sections и -gc-sections. для этого для каждой функции в ассемблерном файле указал имя отдельной секции .section name_func_sec. В итоге удалились все функции, в том числе и те, что вызываются явно из сишного модуля, и никаких сообщений линкера не было. в листинге видно, что адреса явно вызываемых ассемблерных функций равны нулю.
каковы будут комментарии знатоков WinAVR?
Сергей Борщ
Dec 23 2008, 21:12
Цитата(ARV @ Dec 23 2008, 22:49)

в ассемблерном файле указал имя отдельной секции .section name_func_sec.
А если попробовать .section .text.name_func,"ax",@progbits?
Цитата(Сергей Борщ @ Dec 24 2008, 00:12)

А если попробовать .section .text.name_func,"ax",@progbits?
попробую... просто атрибут "х" делал - ноль эффекта... попробую "ах" с собачкой...
Сергей Борщ
Dec 24 2008, 21:24
Цитата(ARV @ Dec 24 2008, 21:02)

попробую... просто атрибут "х" делал - ноль эффекта... попробую "ах" с собачкой...
И обратите внимание на имя секции. Для секций .text.* есть запись в скрипте линкера, для name_func_sec - нет.