реклама на сайте
подробности

 
 
> WinAVR, секции, ассемблерные модули и убока мусора
ARV
сообщение Dec 23 2008, 20:49
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Подключил к проекту несколько .S файлов с разными самописными функциями на ассемблере. все хорошо, но потом возжелал неиспользуемые функции убрать при помощи -ffunction-sections и -gc-sections. для этого для каждой функции в ассемблерном файле указал имя отдельной секции .section name_func_sec. В итоге удалились все функции, в том числе и те, что вызываются явно из сишного модуля, и никаких сообщений линкера не было. в листинге видно, что адреса явно вызываемых ассемблерных функций равны нулю.

каковы будут комментарии знатоков WinAVR?


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
Сергей Борщ
сообщение Dec 23 2008, 21:12
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(ARV @ Dec 23 2008, 22:49) *
в ассемблерном файле указал имя отдельной секции .section name_func_sec.
А если попробовать .section .text.name_func,"ax",@progbits?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
ARV
сообщение Dec 24 2008, 19:02
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Цитата(Сергей Борщ @ Dec 24 2008, 00:12) *
А если попробовать .section .text.name_func,"ax",@progbits?

попробую... просто атрибут "х" делал - ноль эффекта... попробую "ах" с собачкой...


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 24 2008, 21:24
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(ARV @ Dec 24 2008, 21:02) *
попробую... просто атрибут "х" делал - ноль эффекта... попробую "ах" с собачкой...
И обратите внимание на имя секции. Для секций .text.* есть запись в скрипте линкера, для name_func_sec - нет.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.0135 секунд с 7
ELECTRONIX ©2004-2016