У меня есть программа, которая помещает некоторые структуры в именованный раздел, используя __attribute__ ((".sdh_ble_observers"))
и extern mytype * ___start_sdh_ble_observers
.
Я использую следующий скрипт компоновщика
SECTIONS
{
.sdh_ble_observers :
{
PROVIDE(___start_sdh_ble_observers = .);
KEEP(*(SORT(.sdh_ble_observers*)))
PROVIDE(___stop_sdh_ble_observers = .);
}
}
INSERT AFTER .data;
Когда я используюg ++ для связывания приложения с использованием флага -T для сценария компоновщика, исполняемый файл становится неисполняемым cannot execute binary file: Exec format error
.
Когда я удаляю объявления extern в коде и не использую флаг -T вg ++ исполняемый файл работает нормально.
Что может быть причиной этого?Платформа Cygwin.