GCC - The Complete Reference (537669), страница 87
Текст из файла (страница 87)
-гп1ЬцтЬ Генерирует код для 16-битного набора инструкций ТЬцтЬ. По умолчанию используется 32-битный набор инструкций АКМ, Глава 21, Машинно-зависимые опции компилятора 339 -п)йигп12-!п1егъчог!( Генерирует код, который позволяет осуществлять вызовы между наборами инструкций АГкМ и ТЬищЬ. Если эта опция не установлена, наборы АГкМ и ТЬцгпЬ нельзя с уверенностью использовать в одной программе. Опция -ше)тшвЬ-1ттгегног!к приводит к генерации кода несколько большего объема, поэтому по умолчанию применяется опция -яшо-гншяЬ-вкткегятогх. -гп1рс8-ггагпе Формирует кадр стека (атас(г Гите), соответствующий стандарту вызова процедур 'ПштпЬ (ТЬшпЬ Ргосет)цте Са!1 Бьзпс(агд), для всех функций, имеющих вызовы вложенных функций (поп-!еагйтпс!!опз). По умолчанию установлена опция -яято-гров-ггатяе. Также см.
опцию -втерев-1еаг-егере. -арсе-1еаФ-Егагпе Формирует стековый фрейм, соответствующий стандарту вызова процедур ТйвшЬ (ТЬшпЬ Ргосег(иге Са!! Ятапбагб), для всех функций, имеющих вложенные вызовы (поп-1еаГ Гипс!!опз), по умолчанию установлена опция -авэо-аров-1еаг-скате. Также см, опцию -лтсрсв-ггаяте. -ппипе=пате Эта опция очень похожа на -второ. Только вместо указания конкретного типа процессора и ограничения набора используемых инструкций она указывает компилятору ОСС оптимизировать производительность кода для указанного типа процессора.
При этом генерируемые инструкции выбираются из набора инструкций процессора, указанного в опции -втори. Допустимые значения для параметра нагое идентичны приведенным для опции -ясри. Для некоторых реализаций машин АГкМ оптимальная производительность кода достигается только при использовании этой опции. -пилгогдв-! 1111е-епсИап Генерирует код с прямым порядком машинных слов, но обратным порядком представления байтов. Эта опция должна использоваться только при необходимости обеспечения совместимости скомпилированного кода с процессорами АГкМ, использующих обратный порядок байтов, когда этот код компилировался в ОСС версии 2.8 или старше. Опция -тоногбв-11СГ1е-еттййатт применяется только при генерации кода для процессоров АГкМ, работающих с обратным порядком байтов (имеется в виду порядок байтов типа "32107654").
-птхореп Эта опция может использоваться только для процессоров с архитектурой Гк1КС !Х для эмуляции режима Х/Ореп. 390 Часть!П. Внутренняя структура и окружение Опции для платформы АЧК Ниже перечислены опции, определенные для реализаций МЗ.. -тса! 1-рго!ояиея Уменьшает размер генерируемого кода зг счет формирования прологов и эпилогов функций в виде соответствующих им подпрограмм. -т1п1т-бтас1сваИгеи Указывает начальный адрес стека. Адрес может быть указан как символом, так и числовым значением.
По умолчанию используется значение веас10. -гптсивяе~бпд Значение веселая устанавливаетлибо набор инструкций АТМЕ1 АЧзс, либотип МСБ. Допустимые имена для параметра иееегпдперечислены в таблице 21.5. В первом столбце приведены имена инструкций набора АЧВ, а во второй — соответствующие им типы МС1З.
В кгчестве значения иееегдбгмогут использоваться имена кгх из первого, так и из второго столбца. Таблица 215. Параметры АЧй и МС0. Оиидвиив ее9041200, зееглу10, зеегпу11, егь1оу12, ееьгоу15, ееь1оуге ачг1 ачгг ачгз асведа103. есведабоз, ее43ивЬ320, ас7бс711 еус 4 аезвдаб, аеведабЗ, аеведабб ечк5 -тпо-1ПТеггир28 Уменьшает размер кода за счет генерации кода, несовместимого с аппаратными прерываниями. -тпо-Таые1ытр Уменьшает размер кода зг счет генерации кода без инструкций табличных переходов, которые в некоторых случаях могут увеличивать размер кода. 4090в2313, 4090я2323, ьье1лугг, ае90в2333, зезаягЗаЗ, еезаз4414, ас9044433, ее9044434, 409040515, 409ОезбЗ4, еезсеебЗ5 зсведагб, асведе141, зсведз1бз, ееведазг, ькведззгз, ььведябб, акведь12Е, ае43ивь355, аезбх Минимальный набор инструкций ядра АЧН, не подпер:киеземый компилятором С.
Эти параметры используются только для программ не языке ассемблера. Набор инструкций ачкг иопОльоуется по умолчанию. Это классическое ядро АЧН с размером используемой программой области памяти до 8 Кбайт. Классическое ядро АЧН с размером используемой программой области памяти до 128 Кбайт. Расширенное ядро АЧП с размером используемой прогреммой облести памяти до 8 Кбайт. Расширенное ядро АЧП с размером используемой программой области памяти до 128 Кбайт. Глава 21.
Машинно-зависимые опции компилятора 39 1 -)п5!28 Записывает информацию о размере инструкций в файл на языке ассемблера. -п)т)пу-51ас1с Генерирует код, который изменяет только младшие восемь бит указателя стека. Опции для платформ Сй!5 Ниже перечислены опции, определенные для портов СК! Б. -)п8-Ь! 1 Применяет 8-битное выравнивание адреса кадра стека (зГас)г Ггагпе), записываемых данных и констэнн Такжесм.
опции -гцсаеа-а11дп, -щсопве-а11дп, -гявеас)с-а11дп, -лг32-Ые и -в16-ЫЕ. -пт16-ЬИ Применяет 16-битное выравнивание к кадру стека (згас)г Ггагпе), записгяваемым данным и константам. Также см. опции -вииаеа-а11дп, -всопве-а11дп, -гпвеас)е-а11дп, -гц32-Ые и -тв-Ые. -П)32-Ь)1 Применяет 32-битное выравнивание кадра стека (згас)г Ггагпе), записываемых данных и констант. Такжесм.опции -шоаеа-а15дп, -гвсопве-а11дп,-итвеас)к-а11дп, -гп18-Ые и -гав-ые.
-п)аои~ Унаследованная от предыдуших версий компилятора форма опции по-ор, поддерживается только для систем схсв-ахсв-аоце, -Гпа ГОЬ=агсЫФесФиге Идентична опции -гаера. -ГПСС-1ПН Подавляет использование результатов вычисления условий, полученных предыдущими инструкциями, и всегда перед использованием кода, выполняемого по условию, генерирует инструкции проверки и сравнения. -П\СОП5к-аЦЯП Выравнивает константь1 по границе максимального для выбранной модели процессора размера блока данных, выбираемого за одно обрагцение.
По умолчанию применяется опция -гяпо-сопве-а11дп, которая устанавливает 32-битное выравнива- 392 Часть )й. Внутренняя структура н окружение нне констант. Это не оказывает влияния на машинный интерфейс прикладных программ (АВ)), в частности, на схему размещения структур данных. Также см. опции -ак)аеа-а11дп, -тввсасК-а11дп, -тя32-Ыс, -тя16-Ь1е н -тя8-Ь1С.
-и) срохагсЫФесйиге Генерирует код для указанной архитектуры. Допускаются следующие значения параметра агсай еесецх.е, 'тгЗ для ЕТКАХ4, х8 для ЕТКАХ100 и х10 для ЕТВАХ)00ЕХ. По умолчанию используется значение тто (за исключением конфигураций сг1хах1в-11ппх-дпц, для них по умолчанию применяется значение тт10). -вс) а1а-а)19п Выравнивает отдельные элементы данных по границе максимального для выбранной модели процессора размера блока данных, выбираемого за одно обращение к памяти. По умолчанию установлена опция -вшо-сака-а11дп, которая применяет выравнивание данных по границе 32 бит.
Это не оказывает влияния на машинный интерфейс прикладных программ (АВ)), в частности, на схему размещения структур. Также см. опции -тявсас)е-а11дп, -ятсопве-а11дп, -тя32-Ыс, -ат16-Ыс н -тя8-ЫС. -)пей Унаследованная от предыдуших версий компилятора форма опции по-ор. Поддерживается только лля конфигураций сг1в-ах1в-е1й и ск1х-ах1в-11пцх-дпц, -те))утих Выбирает библиотеки, включаемые файлы О)Ч()/)лпцх и набор инструкций -тясрц=тт8.
Эта опция действительна только для систем ск1в-ах1в-аоцс. -теИттых-йасЫ2е=питЬег Устанавливает поля индикаторов программы таким образом, чтобы они сообщали загрузчику ядра о необходимости установки размера стека программы, равным пшяЬег байт. Эта опция действительна только для конфигураций сх1в-ах1в-аопш -гпе1гах100 Идентична опции -тсрп=ттв. -теСгах4 Идентична опции -тсрпехЗ.
-т001Р!1 Совместно с опцией -хр1с или -хв10 приводит к генерации последовательностей инструкций, которые загружают адреса функций в процессор из раздела РЕТ аппаратной структуры ООТ вместо вызова Р) Т. Это положение применяется по умолчанию, его можно отменить опцией -вшо-доер1е. Глава 21. Машинно-зависимые опции компилятора 393 -т11пих Унаследованная от предыдущих версий компилятора форма опции по-ор. Поддерживается только системами сх1х-ах1е-11пцх-дпц.
-ттах-8СаС1С-1гатЕмтГГ)ЬЕГ Выдает предупреждение, когда размер кадра стека функции превышает указанное в поле цшибег число байт. -тпо-81де-ейесгя Подавляет генерацию инструкций, которые могут оказывать побочное действие при режимах адресации, отличных от метода постинкрементной адресации (роет)псгегпепг). -трдеЬия Разрешает включение в ассемблерный код специфической расширенной отладочной информации, характерной для систем СК1З. Кроме того, эта опция отключает индикатор форматированного кода йьто АРР в начале файла ассемблерного кода. -трго!ояие-ерИояие Эта опция действует по умолчанию.
Она используется для генерации компилятором кодов пролога и эпилога, которые формируют кадр стека вызова функций. Опция -впо -рго1одце -ер11одце подавляет генерацию нормальных прологов и эпилогов функций. В коде не генерируются ни инструкции, ни последовательности возврата. При использовании этой опции следует производить визуальный контроль скомпилированного кода. Поскольку при этом не выдаются предупреждения в сообщения об ошибках в случае необходимости сохранения регистров или вьщехения памяти для размещения локальных переменных. -тясас(с-а119п Выравнивает кадр стека вызова к размеру наибольше~о блока данных, считываемых предназначаемым типом процессора за одно обращение.
По умолчанию установлена опция -ащо-всасК-а11дп, которая также применяет 32-битное выравнивание констант. Это не оказывает влияния на машинный интерфейс прикладных программ (АВ1), в частности, на размещение структур. Также см. опции -воаеа-а11дп, -всопае-а11дп, -в32-ЫС, -в16-ЫС и -шв-Ььс. -тсипе=агсИЮесйиге Оптимизирует все параметры генерируемого кода, за исключением машинного интерфейса прикладных программ (АВ1) и используемого набора инструкций, для )казанной в опции архитектуры. Допустимые значения для параметра а готта сесе мхе ядентичны значениям параметра для опции -всрп.
394 Часть Ш. Внутренняя структура и окружение -яв Компонует программу с входными и выходными функциями библиотеки, моделирующей среду выполнения (гйпш)агог!!ьгдгу). память для кода, инициализированных данных и данных, инициализированнгкх нулями, выделяется последовательно. эта опция поддерживается только системакги сг?в-ах?в-аопс и сг1в-ах1в-е1?. Также см. опцию -в1ш2.