@Robotex

Что такое flag_function_sections в исходниках gcc?

Пытаюсь скомпилировать исходникик gcc-4.2 (а точнее llvm-gcc-4.2). Однако получаю ошибку:

../../llvm-gcc-4.2-2.9/gcc/toplev.c: In function ‘process_options’:
../../llvm-gcc-4.2-2.9/gcc/toplev.c:1995:11: error: ‘flag_function_sections’ undeclared (first use in this function)
../../llvm-gcc-4.2-2.9/gcc/toplev.c:1995:11: note: each undeclared identifier is reported only once for each function it appears in



Что же это за переменная такая и где она должна быть объявлена (там рядом еще есть flag_data_sections)?


Когда я сделал объявление:

int flag_function_sections = 0;
  int flag_data_sections = 0;



ошибка ушла, но вылезла в другом файле (чувствую таких мест много). Так что же это за переменная и как ее корректно объявить?
  • Вопрос задан
  • 2999 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Door
В исходниках gcc 4.7.0 определение flag_function_sections не встречается, она появляется в файле gcc/common.opt:
ffunction-sections
Common Report Var(flag_function_sections)
Place each function into its own section

Описание файла:
Options for the language- and target-independent parts of the compiler


Нашёл какой-то старый файл toplev.c. Там-то есть
/* Nonzero means place each function into its own section on those platforms
   which support arbitrary section names and unlimited numbers of sections.  */

int flag_function_sections = 0;

/* ... and similar for data.  */

int flag_data_sections = 0;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы