GCC - The Complete Reference (537669), страница 98
Текст из файла (страница 98)
При установке опции -тяргососуре значение 6-го бита будет устанавливаться процедурой вызова прототипизированных функций. -Гпгедпапзев В системе Буаегп Ч4 и встраиваемой системе РомегРС эта опция включает в выходной ассемблерный код имена регистров в символьной форме. Действие опции -шгелаавтев можно отключить с помощью опции -аозо-геспатяев. -пзге!осаСаЫе Во встраиваемой системе РомегРС эта опция генерирует код, который позволяет перемешать программу в памяти во время ее выполнения.
Если опция -тяге1осагаЬ1е 440 Часть йй Внутренняя структура и окружение была установлена для любого модуля программы, то все компонуемые в программу объекты должны компилироваться с этой опцией или с опцией -пкге1осаеаЫе-11Ь, По умолчанию действует опция -шло-хе1осаеаЫе. -лтге!оса1аЫе-!!Ь Во встраиваемой системе РотяегРС эта опция генерирует код, который позволяет перемешать программу в памяти во время ее выполнения.
Модули программы, откомпилированные с установленной опцией -птхе1осаеаЬ1е-11Ь, могут компоноваться с модулями, откомпилированными без установки опций -вке1осаеаЪ1е и -тяке1осаеаЫе-11Ь и с модулями, откомпилированными с опцией -тяпе1осасаЬ1е. -гттзт!а1а=яейгпд Установка опции -тявйаеа=еаЫ в системе Вумет Ч4 и встраиваемой системе РотчегРС приводит к размещению коротких инициализированных неизменяемых глобальных и статических данных в раздел . вйаеа2, на который указывает регистр пг. При этом короткие инициализированные переменные глобальные и статические данные помещаются в раздел .
вйаеа, на который указывает регистр х13. Короткие неинициализированные глобальные и статические данные помещаются в раздел . вЬвв, который находится рядом с разделом . вйаеа. Опция -птвйаса=еаЬ1 автоматически устанавливает опцию -тяетпЬ и несовместима с опцией -пкте1осаеаЬ1е. Установка опции -птвйаса=вувч в системе Вузтегп Ч4 и встраиваемой системе РотчегРС приводит к размещению коротких глобальных н статических данных в раздел . вйаеа, на который указывает регистр п13. Короткие неинициализированные глобальные и статические данные помещаются в раздел . вЬвв, который находится рядом с разделом .
айаса, Опция -птвйаеа=вувч несовместима с опцией -тахе1осаеаЫе. Установка опции -тявйас а=попе (эту опцию допускается использовать в формате -ппто-вйаса) во встраиваемой системе РотчегРС приводит к размещению всех инициализированных глобальных и статических данных в раздел . йаеа, а всех неинициализированных данных — в раздел .
Ьвв. Установка опции -втвйаса=йейаи1с (эту опцию допускается использовать в формате -мвйаса) в системе Бузтеш Ч4 и встраиваемой системе РотчегРС совместно с опцией -тяеаЫ аналогична установке опции тявйаеа=еаЫ. Если опция -тпеаЬ1 не используется, код компилируется так, как если бы была установлена опция -птвйаса=вувч. -взят!а~а-т!а1а В системе Бузтет Ч4 и встраиваемой системе РотчегРС эта опция приводит к размещению коротких глобальных и статических данных в раздел .
вйаса. Кроме того, короткие неинициализированные глобальные и статические данные помещаются в раздел . вЬвв. При этом регистр п13 для адресации коротких данных не используется. Опция -птвйаса-йаеа используется по умолчанию, если не установлены другие опции -гявйаса. Глава 21. Машинно-зависимые опции компилятора 441 -П151П1 Во встраиваемой системе РотчегРС эта опция предполагает, что модуль запуска называется вьш-оксо.о, а стандартные библиотеки С носят имена 11Ьвйш. а и 11Ьс. а. -ГП5ОГк-ЛОд1 Генерирует код, который использует программную эмуляцию операций над числами с плавающей точкой.
Также см. опцию -шпака-й1оас. -ГП51Г!С1-д11ЯП В системе Будеш Ч4 н встраиваемой системе РотчегРС эта опция генерирует код, который предполагает, что ссылки на не выровненные ячейки памяти будут обрабатываться системой. Опция -атвск1ос-в11дп используется по умолчанию. Для отмены действия по умолчанию установите опцию -впо-вскйсс-а11дп.
-)П5ГГ1П9 Генерирует код, который использует инструкции "загрузки строки" и "записи слова строки" для сохранения нескольких регистров и перемещения небольших блоков. Эти инструкции генерируются по умолчанию в системах Роткег, но не генерируются в системах РотчегРС. Для отмены выработки инструкций "загрузки строки" и "записи слова строки" необходимо указать опцию -шпо-вскйпд. Не используйте опцию -швскйпд в системах РоткегРС, работающих в режиме прямого порядка байтов, поскольку инструкции "загрузки строки" и "записи слова строки" не работают при прямом порядке байтов, Исключение составляют системы РРС740 и РРС750, для которых эти инструкции могут использоваться также и в режиме прямого порядка байтов.
-ГП5)ГГ4-5кг11СС-ГйкОГП Возвращает структуры длиной менее 8 байт в регистрах (как это предусматривается машинным интерфейсом прикладных программ БЧК4). -ПткОС В системе Яузгегп Ч4 и встраиваемой системе РошегРС эта опция предполагает, что регистр 2 содержит указатель на глобальную область и указывает используемые программой адреса.
Действие опции -шсос можно отменить с помощью опции -впо-тасос. -Пйи ПЕ= ~УРЕ устанавливает параметры планирования инструкций для указанного в поле еЗпзв типа машины, но не устанавливает тип архитектуры, параметры использования регистров и тип мнемоники инструкций. Допустимые значения параметра ездке соответствуют значениям параметра еуззе для опции -втори. Если опции -твсипе и 442 Часть 1П.
Внутренняя структура и окружение -всрп указаны одновременно, то генерируемый код будет использовать архитектуру регистры и мнемонику, установленные опцией -всрп, а параметры планирования инструкций, установленные опцией -встше. -ПШРда1Е Генерирует код, использующий инструкции загрузки и записи, которые вычисляют и записывают в базовый регистр (Ьаае гей)ятег) адрес области памяти.
Опция -вире!аее используется по умолчанию. Для отмены генерации такого кода используется опция -пото-аррасе, которая вводит небольшое время ожидания между обновлением содержимого указателя стека и обновлением адреса предыдущего кадра стека. Во время этого ожидания код текущего кадра стека при вызове прерываний или генерации сигналов может получить неверные данные. — П!ЧХ!ЯГОГК5 В системе Буатегп Ч4 и встраиваемой системе РотчегРС эта опция указывает, что компиляция выполняется для системы тгхтток)кв.
-П!!ЯГ!Птз!55 Указывает, что компиляция выполняется для среды имитации окружения %~пЛ 55. -пзх!-саИ Использует соглашение некоторых компиляторов систем А1Х о передаче аргументов с плавающей точкой через стек. Для отключения действия опции -тях1-са11 используется опция -впо-х1-са11.
В А1Х аргументы с плавающей точкой передаются имеющим прототипы функциям не только с помощью регистров с плавающей точкой, но и через стек за пределами области сохранения регистров (гей)зтег каче агеа, ВВА). Соглашение о вызовах А1Х было без документирования расширено для поддержки своеобразной реализации языка "КАК С". Это расширение касается обработки случая вызова функции, принимающей адресуемые аргументы, с меньшим количеством аргументов, чем указано в объявлении функции. В компиляторе А)Х Х1.
доступ к числовым аргументам с плавающей точкой вне области ИВА, в случае, когда подпрограмма компилируется без оптимизации, осуществляется с помощью стека, Поскольку постоянное хранение аргументов с плавающей точкой в стеке неэффективно и во многих случаях не требуется, опция -вх1-са11 по умолчанию не применяется. Она необходима только при вызове подпрограмм, откомпилированных в компиляторе А1Х Х1. без оптимизации. -пзуеИ0)вгхпИе Во встраиваемой системе РоччегРС эта опция предполагает, что модуль запуска называется сксв. о, а стандартные библиотеки функций языка Сносят имена 11Ьух и 11Ьс.а. Глава 21.
машинно-зависимые опции компилятора 443 -сз ицгиЬег Во встраиваемой системе РоткегРС эта опция приводит к тому, что глобальные и статические данные длиной не более пшпЬег байт помещаются в раздел коротких данных .воаса или .вьвв, вместо стандартного раздела .стаса илн .ьвв, Поумолчанию для параметра пигвЬек установлено значение 8.
Опция -о передается и компоновщику, поэтому все модули программы должны компилироваться с одним и тем же значением параметра питЬег. -рФгеас1 ДОбаВЛяЕт ПОЛдЕржКу ПОТОКОВ За СЧЕТ ПОдКЛЮЧЕНИя бИбЛИОтЕКИ реихЕаст. ОПцИя -реихаай ОдНОВрЕМЕННО уСтаНаВЛИВаЕт фЛаГИ дпя ПрЕПрОцЕССОра И КОМПОНОВщнка. Опции для платформы ВТ Ниже перечислены опции, определенные для 1ВМ КТ РС.
-гисаП-11Ь-из<! Генерирует инструкции 1кви1ь ь для выполнения операций умножения целых чисел. Также см. опцию -кацап-1спе-кви1. -из1р-агд-1и-1ргеу Использует вызывающую последовательность, несовместимую с соглашением о вызовах систем 1ВМ, при котором числовые аргументы с плавающей точкой передаются в регистрах для чисел с плавающей точкой. Если установлена опция -икр-атд-зп-кргедв, то заголовочный файл вскзагд. Ь не будет обрабатывать числовые операнды с плавающей точкой. Также см.
опцию -вткр-агд-зп-дтедв. -пИр-агд-1и-дгер Для числовых аргументов с плавающей точкой используется обычная вызывающая последовательность. Эта опция установлена по умолчанию. Также см. опцию -тавр-агд-еп-тртедв. -из1о1Ир-ЫосЬ Генерирует полноразмерные блоки данных с плавающей точкой, использующие минимальный объем дополнительный памяти, рекомендуемый 1ВМ. Эта опция установлена по умолчанию. Также см.
опцию -вшспсвтшп-хр-ь1оскв. -из1зс-я1гос1-ге2иги Для передачи структур длиной более одного слова используется память, а не регистры. Эта опция обеспечивает совместимость с компилятором "Мета%аге Н 1я1тС" 444 Часть 1П. Внутренняя структура н окружение (Ьс). Для обеспечения совместимости с компилятором "РопаЫе С Сотпрйег" (рсс) используется опция -йрсс-всгисс-гегигп. -пз!и-я!пе-ан! Использует расширяемую подстановкой последовательность инструкций для выполнения умножения целых чисел.
Эта опция действует по умолчанию. Также см. опцию -юса11-14Ь-ви1. -пт!и!и!и) нпт-1р-Ыос(сб Указывает не включать в блоки данных с плавающей точкой область дополнительной памяти, Это приводит к генерации кода меньшего размера„но выполняться он будет медленнее, поскольку выделение дополнительной памяти при этом будет осуществляться динамически. Также см. опцию -мги11-гр-Ь1сс)кв. -пзпопс-91гнс1-ге1нгп Возвращает некоторые структуры длиной более одного слова при необходимости в регистрах.