англійськафранцузькийіспанська

Запуск серверів | Ubuntu > | Fedora > |


Значок OnWorks

h8300-hitachi-coff-ld - онлайн у хмарі

Запустіть h8300-hitachi-coff-ld у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда h8300-hitachi-coff-ld, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS.

ПРОГРАМА:

ІМ'Я


ld - Використання LD, компонувальника GNU

СИНТАКСИС


ld [опції] objfile ...

ОПИС


ld об’єднує ряд об’єктних та архівних файлів, переміщує їх дані та зв’язує символ
посилання. Зазвичай останнім кроком компіляції програми є її запуск ld.

ld приймає файли мови команд компонування, записані в доповненні редактора посилань AT&T
Синтаксис командної мови, щоб забезпечити явний і повний контроль над процесом зв'язування.

Ця довідкова сторінка не описує командну мову; див ld запис у "info", або
посібник ld: компонувальник GNU, щоб отримати повну інформацію про мову команд та інші аспекти
компонувальника GNU.

ця версія ld використовує бібліотеки BFD загального призначення для роботи з об’єктними файлами. Це
дозволяє ld читати, об’єднувати та записувати об’єктні файли в різних форматах --- для
наприклад, COFF або "a.out". Різні формати можуть бути пов’язані разом, щоб створити будь-який
доступний тип об’єктного файлу.

Окрім своєї гнучкості, компонувальник GNU є більш корисним у наданні, ніж інші компонувальники
діагностична інформація. Багато компонувальників припиняють виконання відразу після зустрічі з файлом
помилка; коли можливо, ld продовжує виконуватися, дозволяючи виявити інші помилки
(або, в деяких випадках, отримати вихідний файл, незважаючи на помилку).

Компонувальник GNU ld призначений для охоплення широкого кола ситуацій та максимальної сумісності
як можна з іншими лінкерами. В результаті у вас є багато варіантів, щоб контролювати його
поведінка.

ВАРІАНТИ


Компонувальник підтримує безліч параметрів командного рядка, але на практиці їх небагато
використовуються в будь-якому конкретному контексті. Наприклад, часте використання ld є посилання
стандартні об'єктні файли Unix у стандартній підтримуваній системі Unix. На такій системі до
посилання на файл "hello.o":

ld -o /lib/crt0.o hello.o -lc

Це розповідає ld щоб створити файл під назвою вихід як результат зв'язування файлу
"/lib/crt0.o" з "hello.o" і бібліотекою "libc.a", яка буде надходити зі стандарту
пошукові каталоги. (Див. обговорення -l варіант нижче.)

Деякі параметри командного рядка для ld можна вказати в будь-якій точці командного рядка.
Однак параметри, які посилаються на файли, наприклад -l or -T, спричинити читання файлу на
точка, в якій параметр з'являється в командному рядку, відносно об'єктних файлів і
інші параметри файлу. Повторення нефайлових параметрів з іншим аргументом матиме або
без подальших ефектів або перевизначення попередніх випадків (тих, що далі ліворуч від команди
рядок) цього варіанту. Опції, які можуть бути осмислено вказані більше одного разу, є
зазначено в описах нижче.

Аргументи без параметрів – це об’єктні файли або архіви, які мають бути пов’язані між собою. Вони
може слідувати, передувати або змішуватися з параметрами командного рядка, за винятком об’єктного файлу
аргумент не можна розміщувати між параметром і його аргументом.

Зазвичай компонувальник викликається принаймні з одним об’єктним файлом, але ви можете вказати інший
форми двійкових вхідних файлів використання -l, -R, а також командну мову сценарію. Якщо немає двійковий
вхідні файли взагалі вказуються, компонувальник не видає жодного результату і видає файл
повідомлення Немає вхід файли.

Якщо компонувальник не може розпізнати формат об’єктного файлу, він вважатиме, що це a
скрипт компоновщика. Сценарій, зазначений таким чином, доповнює основний сценарій компонувальника, який використовується для
посилання (або сценарій компонувальника за замовчуванням, або той, що вказано за допомогою -T). Це
функція дозволяє компонувальнику створювати посилання на файл, який виглядає як об’єкт або файл
архів, але насправді просто визначає деякі значення символів або використовує "INPUT" або "GROUP" для
завантажити інші об'єкти. Зауважте, що вказування сценарію таким чином лише доповнює основний
скрипт компоновщика; використовувати -T можливість повністю замінити скрипт компоновника за замовчуванням.

Для параметрів, назви яких складаються з однієї літери, аргументи параметра мають або слідувати за
опційна літера без пробілів або надаватися як окремі аргументи
відразу після варіанту, який їх вимагає.

Для параметрів, назви яких складаються з кількох літер, перед символом може стояти одне тире або два
назва опції; наприклад, -слід-символ і --слід-символ є еквівалентними. Примітка---там
є одним винятком із цього правила. Кілька варіантів літер, які починаються з малої букви "о"
може передувати лише два тире. Це зроблено, щоб зменшити плутанину з -o варіант. Так
наприклад - омагічний встановлює ім’я вихідного файлу магія в той час як -- омагічний встановлює NMAGIC
прапорець на виході.

Аргументи параметрів із кількох літер мають бути відокремлені від імені параметра символом
знак рівності або надаватися як окремі аргументи відразу після параметра that
вимагає їх. Наприклад, --слід-символ Foo і --trace-symbol=foo рівнозначні.
Приймаються унікальні скорочення назв багатобуквенних варіантів.

Примітка---якщо компонувальник викликається опосередковано, через драйвер компілятора (наприклад ПКУ) then
всі параметри командного рядка компонувальника повинні мати префікс -Wl, (або що підходить
для конкретного драйвера компілятора), наприклад:

gcc -Wl,--startgroup foo.o bar.o -Wl,--endgroup

Це важливо, оскільки інакше програма драйвера компілятора може безшумно скинути файл
параметри компонувальника, що призводить до поганого посилання.

Ось таблиця загальних перемикачів командного рядка, прийнятих компоновщиком GNU:

-aключове слово
Цей параметр підтримується для сумісності HP/UX. The ключове слово аргумент повинен бути одним із
струни архів, загальніабо дефолт. -аархів функціонально еквівалентний
-Бстатичний, а два інших ключових слова функціонально еквівалентні -Бдинамічний, це
опцію можна використовувати будь-яку кількість разів.

-Aархітектура
--архітектура=архітектура
У поточному випуску о ld, ця опція корисна лише для сімейства Intel 960
архітектури. У цьому ld конфігурація, архітектура аргумент ідентифікує
особлива архітектура в сімействі 960, що забезпечує певні заходи безпеки та змінює
шлях пошуку архів-бібліотека.

Майбутні випуски ld може підтримувати подібну функціональність для іншої архітектури
сімей.

-b вхідний формат
--формат=вхідний формат
ld може бути налаштований на підтримку більш ніж одного типу об’єктних файлів. Якщо ти ld is
налаштований таким чином, ви можете використовувати -b можливість вказати двійковий формат для введення
об’єктні файли, які слідують за цим параметром у командному рядку. Навіть тоді, коли ld налаштовано
щоб підтримувати альтернативні формати об’єктів, зазвичай не потрібно вказувати це, як ld
має бути налаштовано так, щоб очікувати як формат введення за замовчуванням найбільш звичайний формат для кожного
машина вхідний формат – це текстовий рядок, назва певного формату, який підтримується
бібліотеки BFD. (Ви можете перерахувати доступні двійкові формати за допомогою objdump -i.)

Ви можете використовувати цю опцію, якщо ви зв’язуєте файли з незвичайним двійковим файлом
формат. Ви також можете використовувати -b для явного перемикання форматів (при зв’язуванні об’єктних файлів
різних форматів), в т.ч -b вхідний формат перед кожною групою об’єктних файлів
в певному форматі.

Формат за замовчуванням береться зі змінної середовища "GNUTARGET".

Ви також можете визначити формат введення зі сценарію, використовуючи команду "TARGET";

-c МРТ-командний файл
--mri-script=МРТ-командний файл
Для сумісності з лінкерами, виробленими МРТ, ld приймає файли сценаріїв, записані в an
альтернативна, обмежена мова команд, описана у файлах сценаріїв, сумісних з МРТ
розділ документації GNU ld. Введіть файли сценарію МРТ з опцією -c; використання
la -T можливість запуску скриптів компоновника, написаних для загального призначення ld сценаріїв
мова. Якщо МРТ-cmd-файл не існує, ld шукає його у вказаних каталогах
будь-яким -L Варіанти.

-d
-dc
-dp Ці три варіанти еквівалентні; для сумісності підтримуються кілька форм
з іншими лінкерами. Вони призначають простір для загальних символів, навіть якщо вихід з переміщенням
вказано файл (з -r). Команда сценарію "FORCE_COMMON_ALLOCATION" має
той самий ефект.

-e запис
--вхід=запис
використання запис як явний символ для початку виконання вашої програми, а не
точка входу за замовчуванням. Якщо символ не названий запис, компонувальник спробує це зробити
розбору запис як число, і використовуйте це як адресу входу (число буде
інтерпретується в основі 10; ви можете використовувати провідний 0x для бази 16, або провідного 0 для бази
8).

--exclude-libs либ,либ, ...
Вказує список архівних бібліотек, символи з яких не повинні бути автоматично
експортується. Імена бібліотеки можуть бути розділені комами або двокрапками. Уточнення
"--exclude-libs ALL" виключає символи в усіх архівних бібліотеках з автоматичного експорту.
Ця опція доступна лише для цільового порту i386 PE компоновщика та для ELF
цільові порти. Для i386 PE символи, явно перераховані у файлі .def, залишаються
експортовано, незалежно від цього параметра. Для портів, орієнтованих на ELF, символи, на які це впливає
параметр буде розглядатися як прихований.

-E
--експортно-динамічний
При створенні динамічно зв’язаного виконуваного файлу додайте всі символи до динамічного символу
стіл. Таблиця динамічних символів — це набір символів, які видно з динамічних
об'єкти під час виконання.

Якщо ви не використовуєте цю опцію, динамічна таблиця символів зазвичай міститиме тільки
ті символи, на які посилається якийсь динамічний об'єкт, згаданий у посиланні.

Якщо ви використовуєте "dlopen" для завантаження динамічного об'єкта, який має звернутися до символів
визначено програмою, а не якимось іншим динамічним об'єктом, то ви, ймовірно, будете
потрібно використовувати цю опцію під час підключення самої програми.

Ви також можете використовувати сценарій версії, щоб контролювати, які символи слід додати до
динамічна таблиця символів, якщо формат виведення її підтримує. Дивіться опис
--версія-скрипт в @ref{VERSION}.

-EB Зв’яжіть об’єкти з великим порядком. Це впливає на вихідний формат за замовчуванням.

-ТО Зв’яжіть об’єкти з маленьким байтом. Це впливає на вихідний формат за замовчуванням.

-f
-- допоміжний ім'я
При створенні спільного об’єкта ELF встановіть для внутрішнього поля DT_AUXILIARY значення
вказана назва. Це повідомляє динамічному компоновщику, що таблиця символів є спільною
об’єкт слід використовувати як допоміжний фільтр у таблиці символів спільного об’єкта
ім'я.

Якщо пізніше ви зв’яжете програму з цим об’єктом фільтра, то під час запуску файлу
програми, динамічний компонувальник побачить поле DT_AUXILIARY. Якщо динамічний компонувальник
розв’язує будь-які символи з об’єкта фільтра, він спочатку перевірить, чи є a
визначення в спільному об’єкті ім'я. Якщо він є, він буде використовуватися замість
визначення в об'єкті фільтра. Спільний об’єкт ім'я не обов'язково існувати. Таким чином,
спільний об'єкт ім'я може використовуватися для забезпечення альтернативної реалізації певних
функції, можливо, для налагодження або для конкретної роботи машини.

Цей параметр можна вказати кілька разів. Буде створено записи DT_AUXILIARY
у тому порядку, в якому вони відображаються в командному рядку.

-F ім'я
--фільтр ім'я
При створенні спільного об’єкта ELF встановіть для внутрішнього поля DT_FILTER вказане значення
ім'я. Це повідомляє динамічному компонувальнику, що таблиця символів спільного об’єкта
створюється, слід використовувати як фільтр у таблиці символів спільного об’єкта
ім'я.

Якщо пізніше ви зв’яжете програму з цим об’єктом фільтра, то під час запуску файлу
програми, динамічний компонувальник побачить поле DT_FILTER. Динамічний компонувальник буде
розв’язувати символи відповідно до таблиці символів об’єкта фільтра як зазвичай, але це
насправді буде посилатися на визначення, знайдені в спільному об’єкті ім'я. Таким чином
Об'єкт фільтра можна використовувати для вибору підмножини символів, наданих об'єктом
ім'я.

Деякі старіші лінкери використовували -F опція для всієї ланцюжка інструментів компіляції для
визначення формату об’єктного файлу як для вхідних, так і для вихідних об’єктних файлів. Компонувальник GNU
використовує для цієї мети інші механізми: -b, --формат, --оформат варіанти,
Команда "TARGET" у сценаріях компоновщика та змінна середовища "GNUTARGET". GNU
компонувальник буде ігнорувати -F параметр, коли не створюється спільний об’єкт ELF.

-фіні ім'я
Створюючи виконуваний файл або спільний об’єкт ELF, викликайте NAME, коли виконуваний файл або
спільний об’єкт вивантажується шляхом встановлення DT_FINI на адресу функції. За
за замовчуванням компонувальник використовує "_fini" як функцію для виклику.

-g Проігноровано. Забезпечується сумісність з іншими інструментами.

-Gзначення
--gpsize=значення
Встановіть максимальний розмір об’єктів, які підлягають оптимізації за допомогою регістра GP розмір, це
має значення лише для форматів об’єктних файлів, таких як MIPS ECOFF, який підтримує введення
великі та маленькі предмети на різні розділи. Це ігнорується для іншого об’єкта
формати файлів.

-hім'я
-sonname=ім'я
При створенні спільного об’єкта ELF встановіть для внутрішнього поля DT_SONAME значення
ім'я. Коли виконуваний файл пов’язаний із спільним об’єктом, який має поле DT_SONAME,
тоді, коли виконуваний файл запущено, динамічний компонувальник спробує завантажити спільний файл
об'єкт, визначений полем DT_SONAME, а не використанням імені файлу, наданого до
лінкер.

-i Виконайте додаткове посилання (те саме, що і параметр -r).

-у цьому ім'я
Створюючи виконуваний файл або спільний об’єкт ELF, викликайте NAME, коли виконуваний файл або
спільний об’єкт завантажується шляхом встановлення DT_INIT на адресу функції. За
за замовчуванням компонувальник використовує "_init" як функцію для виклику.

-lархів
--бібліотека=архів
Додати архівний файл архів до списку файлів для посилання. Цей варіант можна використовувати будь-який
кількість разів. ld шукатиме у своєму списку шляхів наявність «libarchive.a" та цінності
кожен архів вказано.

У системах, які підтримують спільні бібліотеки, ld також може шукати бібліотеки з
розширення, відмінні від ".a". Зокрема, на системах ELF і SunOS, ld буде шукати а
каталог для бібліотеки з розширенням ".so" перед пошуком бібліотеки з розширенням ".so".
розширення ".a". За умовою розширення ".so" вказує на спільну бібліотеку.

Компонувальник шукатиме архів лише один раз, у тому місці, де він вказаний
командний рядок. Якщо архів визначає символ, який не визначено в якомусь об’єкті
який з'явився перед архівом у командному рядку, компонувальник буде включати файл
відповідний(і) файл(и) з архіву. Однак невизначений символ в об’єкті
що з'являється пізніше в командному рядку, не змусить компонувальник шукати в архіві
знову.

Див -( опція для способу змусити компонувальник шукати архіви кілька разів.

Ви можете перерахувати один і той самий архів кілька разів у командному рядку.

Цей тип пошуку в архіві є стандартним для компонувальників Unix. Однак, якщо ви
використання ld на AIX, зауважте, що це відрізняється від поведінки компоновщика AIX.

-Lsearchdir
--бібліотека-шлях=searchdir
Додати шлях searchdir до списку шляхів, які ld шукатиме архівні бібліотеки та
ld контрольні скрипти. Ви можете використовувати цю опцію будь-яку кількість разів. Довідники є
шукати в тому порядку, в якому вони вказані в командному рядку. Довідники
визначені в командному рядку, шукаються перед каталогами за замовчуванням. всі -L
опції застосовуються до всіх -l параметри, незалежно від того, в якому порядку відображаються параметри.

If searchdir починається з "=", потім "=" буде замінено на sysroot префікс, то
шлях, зазначений під час налаштування компоновщика.

Набір шляхів для пошуку за замовчуванням (без вказівки за допомогою -L) залежить від якого
режим емуляції ld використовує, а в деяких випадках також від того, як він був налаштований.

Шляхи також можна вказати в сценарії посилання за допомогою команди "SEARCH_DIR".
Каталоги, зазначені таким чином, шукаються в точці, в якій працює скрипт компонувальника
з'являється в командному рядку.

-mемуляція
Емулювати емуляція компонувальник. Ви можете перерахувати доступні емуляції за допомогою
-багатослівний or -V Варіанти.

Якщо -m параметр не використовується, емуляція береться з "LDEMULATION"
змінна середовища, якщо вона визначена.

В іншому випадку емуляція за замовчуванням залежить від того, як був налаштований компонувальник.

-M
--друк-карта
Роздрукуйте карту посилань на стандартний вихід. Карта посилань містить інформацію про
посилання, включаючи наступне:

* Де об'єктні файли та символи відображаються в пам'яті.

* Як розподіляються загальні символи.

* Усі члени архіву, включені в посилання, із зазначенням символу котрий
змусила доставити члена архіву.

-n
--nmagic
Вимкніть вирівнювання сторінок розділів і позначте вихід як «NMAGIC», якщо можливо.

-N
-- омагічний
Налаштуйте розділи тексту та даних, щоб вони були доступними для читання та запису. Також не вирівнюйте сторінку
сегменту даних і вимкнути зв’язування зі спільними бібліотеками. Якщо вихідний формат
підтримує магічні числа в стилі Unix, позначте вихід як "OMAGIC". Примітка: хоча а
розділ тексту для запису дозволений для цілей PE-COFF, він не відповідає
специфікація формату, опублікована Microsoft.

-- без магії
Цей параметр зводить нанівець більшість ефектів -N варіант. Він встановлює для текстового розділу значення
бути доступним лише для читання і змушує сегмент даних бути вирівняним за сторінкою. Примітка – ця опція діє
не вмикати зв'язування зі спільними бібліотеками. Використовуйте -Бдинамічний для цього.

-o вихід
--вихід=вихід
використання вихід як назва програми, створеної ld; якщо цього варіанта немає
вказана назва а використовується за замовчуванням. Команда сценарію "OUTPUT" також може
вкажіть назву вихідного файлу.

-O рівень
If рівень є числовими значеннями, більшими за нуль ld оптимізує вихід. Це може
займати значно більше часу, і тому, ймовірно, його слід увімкнути лише для фіналу
двійкові.

-q
--emit-relocs
Залиште розділи та вміст переміщення у повністю пов’язаних виконуваних файлах. Опублікувати посилання
інструментам аналізу та оптимізації може знадобитися ця інформація для правильної роботи
модифікації виконуваних файлів. Це призводить до більших виконуваних файлів.

Наразі ця опція підтримується лише на платформах ELF.

-r
--переміщення
Згенерувати переміщувані вихідні дані --- тобто створити вихідний файл, який, у свою чергу, може служити як
вхід до ld. Це часто називають частково Зв'язуючий. Як побічний ефект, в середовищі
які підтримують стандартні магічні числа Unix, цей параметр також встановлює вихідні файли
магічне число до "OMAGIC". Якщо цей параметр не вказано, буде абсолютний файл
вироблено. При зв’язуванні програм C++ цей параметр волі НЕ розв’язати посилання на
конструктори; для цього використовуйте -Ур.

Якщо вхідний файл не має того самого формату, що і вихідний файл, часткове зв’язування
підтримується, лише якщо цей вхідний файл не містить жодних переміщень. Інший
вихідні формати можуть мати додаткові обмеження; наприклад, деякі формати на основі "a.out".
взагалі не підтримують часткове зв’язування з вхідними файлами в інших форматах.

Цей варіант робить те ж саме, що і -i.

-R ім'я файлу
--просто-символи=ім'я файлу
Прочитайте назви символів та їх адреси з ім'я файлу, але не переміщуйте його та не включайте
це на виході. Це дозволяє вашому вихідному файлу символічно посилатися на абсолют
місця пам'яті, визначені в інших програмах. Ви можете використовувати цю опцію більше ніж
один раз

Для сумісності з іншими лінкерами ELF, якщо -R За параметром слід каталог
ім'я, а не ім'я файлу, воно розглядається як -rpth варіант.

-s
--стрип-все
Опустіть всю інформацію про символи з вихідного файлу.

-S
--strip-debug
Опустіть інформацію про символи налагоджувача (але не всі символи) з вихідного файлу.

-t
--слід
Надрукуйте імена вхідних файлів як ld обробляє їх.

-T файл сценарію
--скрипт=файл сценарію
використання файл сценарію як скрипт компонувальника. Цей скрипт замінює ldСкрипт компонувальника за замовчуванням
(а не додавати до нього), отже командний файл необхідно вказати все необхідне
описати вихідний файл. Якщо файл сценарію не існує в поточному каталозі,
"ld" шукає його в каталогах, зазначених будь-яким попереднім -L варіанти. Кілька
-T варіанти накопичуються.

-u символ
--невизначено=символ
Примусово символ вводити у вихідний файл як невизначений символ. Роблячи це може,
наприклад, ініціювати зв'язування додаткових модулів зі стандартних бібліотек. -u може бути
повторюється з різними аргументами параметра для введення додаткових невизначених символів. Це
Опція еквівалентна команді сценарію компонувальника "EXTERN".

-Ур Для будь-чого, крім програм на C++, цей параметр еквівалентний -r: це породжує
переміщуваний вихід ---тобто вихідний файл, який, у свою чергу, може служити вхідними для ld. Коли
зв'язування програм C++, -Ур робить розв’язувати посилання на конструктори, на відміну від -r. Це робить
не працює для використання -Ур на файли, які самі були пов’язані з -Ур; колись
Таблицю конструктора створено, до неї неможливо додати. Використовуйте -Ур тільки на останнє
часткове посилання, і -r для інших.

--унікальний[=РОЗДІЛ]
Створює окремий вихідний розділ для кожного збігу вхідного розділу РОЗДІЛ, або якщо
необов'язковий символ підстановки РОЗДІЛ Аргумент відсутній для кожного розділу сирітого введення. An
Розділ сиріт — це розділ, який спеціально не згадується в сценарії компонувальника. Ви можете скористатися цим
параметр кілька разів у командному рядку; Це перешкоджає нормальному об’єднанню введених даних
розділи з однаковими іменами, перевизначаючи призначення розділу виводу в скрипті компоновника.

-v
-- версія
-V Відобразити номер версії для ld, -V Параметр також містить список підтримуваних емуляцій.

-x
--відкинути-все
Видалити всі локальні символи.

-X
--discard-locals
Видалити всі тимчасові локальні символи. Для більшості цілей це всі локальні символи, чиї
імена починаються з L.

-y символ
--trace-symbol=символ
Надрукуйте назву кожного пов’язаного файлу, у якому символ з'являється. Цей варіант може бути наданий
будь-яку кількість разів. У багатьох системах доводиться додавати символ підкреслення.

Ця опція корисна, якщо у вашому посиланні є невизначений символ, але ви не знаєте
звідки надходить посилання.

-Y шлях
додавати шлях до шляху пошуку бібліотеки за замовчуванням. Ця опція існує для Solaris
Сумісність.

-z ключове слово
Розпізнаними ключовими словами є:

комбрелок
Об’єднує кілька розділів reloc і сортує їх для динамічного пошуку символів
можливе кешування.

деф
Забороняє невизначені символи в об’єктних файлах. Невизначені символи в спільному доступі
бібліотеки все ще дозволені.

initfirst
Ця опція має сенс лише під час створення спільного об’єкта. Він позначає об'єкт
так що його ініціалізація під час виконання відбудеться до ініціалізації під час виконання
будь-які інші об’єкти, які одночасно вносяться в процес. Так само
Завершення виконання об'єкта відбудеться після завершення під час виконання
будь-які інші об'єкти.

вставляти
Позначає об’єкт, який його таблиця символів розміщує перед усіма символами, крім символів
первинний виконуваний файл.

loadfltr
Позначає об’єкт, що його фільтри обробляються негайно під час виконання.

мульдефс
Дозволяє декілька визначень.

нокомбрелок
Вимикає об’єднання кількох розділів reloc.

нокопірелок
Вимикає виробництво копій relocs.

nodefaultlib
Позначає об’єкт, який пошук залежностей цього об’єкта буде ігнорувати
шляхи пошуку бібліотеки за замовчуванням.

nodelete
Позначає, що об’єкт не слід вивантажувати під час виконання.

nodlopen
Позначає об’єкт, недоступний для «dlopen».

nodump
Позначає, що об'єкт не може бути скинутий за допомогою "dldump".

зараз Створюючи виконуваний файл або спільну бібліотеку, позначте його, щоб повідомити про динаміку
компонувальник, щоб розв’язувати всі символи під час запуску програми або при спільному доступі
бібліотека пов'язана з використанням dlopen, замість того, щоб відкласти дозвіл виклику функції
до моменту, коли функція викликається вперше.

походження
Позначає об’єкт може містити $ORIGIN.

Інші ключові слова ігноруються для сумісності Solaris.

-( архів -)
--стартова група архів --кінцева група
повне г, повне г,, показали, від, номер, XNUMX архів має бути список архівних файлів. Вони можуть бути або явними файлами
імена, або -l Варіанти.

Зазначені архіви шукаються повторно, доки не буде нових невизначених посилань
створено. Зазвичай пошук в архіві виконується лише один раз у тому порядку, який він вказано
в командному рядку. Якщо символ у цьому архіві потрібен для вирішення невизначеного
символ, на який посилається об'єкт в архіві, який з'являється пізніше в командному рядку,
компонувальник не зможе вирішити це посилання. Групуючи архіви,
усі вони шукатимуться повторно, доки не будуть вирішені всі можливі посилання.

Використання цієї опції має значні витрати на продуктивність. Найкраще використовувати його тільки тоді, коли
є неминучі кругові посилання між двома чи більше архівами.

--accept-unknown-input-arch
--no-accept-unknown-input-arch
Вказує компоновщику прийняти вхідні файли, архітектуру яких неможливо розпізнати. The
Припущення полягає в тому, що користувач знає, що він робить, і свідомо хоче встановити посилання
у цих невідомих вхідних файлах. Раніше це була поведінка компонувальника за замовчуванням
випуск 2.14. Поведінка за замовчуванням, починаючи з версії 2.14, полягає в відхиленні такого введення
файли, і так --accept-unknown-input-arch була додана опція відновлення старої
поведінка.

--в міру необхідності
--не-як-потрібно
Цей параметр впливає на теги ELF DT_NEEDED для динамічних бібліотек, згаданих у команді
рядок після --в міру необхідності варіант. Зазвичай компонувальник додає тег DT_NEEDED для
кожна динамічна бібліотека, згадана в командному рядку, незалежно від того, чи є бібліотека
насправді потрібно. --в міру необхідності викликає теги DT_NEEDED, які будуть випромінюватися лише для
бібліотеки, які задовольняють деяке посилання на символ із звичайних об’єктів, яке не визначено
в той момент, коли бібліотека була підключена. --не-як-потрібно відновлює значення за замовчуванням
поведінка.

--додати-потрібно
--не-додавати-потрібно
Цей параметр впливає на обробку динамічних бібліотек із тегів ELF DT_NEEDED
динамічні бібліотеки, згадані в командному рядку після --не-додавати-потрібно варіант.
Зазвичай компонувальник додає тег DT_NEEDED для кожної динамічної бібліотеки з DT_NEEDED
теги. --не-додавати-потрібно причини теги DT_NEEDED ніколи не будуть видаватися для цих бібліотек
з тегів DT_NEEDED. --додати-потрібно відновлює поведінку за замовчуванням.

-стверджувати ключове слово
Цей параметр ігнорується для сумісності з SunOS.

-Бдинамічний
-ди
-виклик_спільний
Посилання на динамічні бібліотеки. Це має сенс лише на платформах, для яких спільне використання
бібліотеки підтримуються. Ця опція зазвичай є стандартною на таких платформах. The
різні варіанти цієї опції призначені для сумісності з різними системами. Ви можете
використовуйте цю опцію кілька разів у командному рядку: це впливає на пошук у бібліотеці
-l наступні варіанти.

-Bгрупа
Встановіть прапор «DF_1_GROUP» у записі «DT_FLAGS_1» у динамічному розділі. Це
змушує компонувальник часу виконання обробляти пошуки в цьому об’єкті та його залежності
виконується тільки всередині групи. --unresolved-symbols=report-all мається на увазі. Це
Опція має значення лише на платформах ELF, які підтримують спільні бібліотеки.

-Бстатичний
-дн
-не_спільний
-статичний
Не створюйте посилання на спільні бібліотеки. Це має сенс лише на платформах, для яких
підтримуються спільні бібліотеки. Різні варіанти цього варіанту призначені для
сумісність з різними системами. Ви можете використовувати цю опцію кілька разів на
командний рядок: це впливає на пошук бібліотеки -l наступні варіанти. Це
варіант також передбачає --unresolved-symbols=report-all.

-Бсимволічний
При створенні спільної бібліотеки прив’яжіть посилання на глобальні символи до визначення
у спільній бібліотеці, якщо є. Зазвичай це можливо для пов’язаної програми
проти спільної бібліотеки, щоб замінити визначення в спільній бібліотеці. Це
Опція має значення лише на платформах ELF, які підтримують спільні бібліотеки.

-- контрольні розділи
--без перевірок
Запитує лінкер НЕ щоб перевірити адреси розділів після того, як вони були призначені, щоб перевірити чи
є якісь перекриття. Зазвичай компонувальник виконує цю перевірку, і якщо він знайде таку
накладається, він видає відповідні повідомлення про помилку. Компонувальник знає про, і
робить припуски на розділи в накладках. Поведінку за замовчуванням можна відновити
за допомогою перемикача командного рядка -- контрольні розділи.

--креф
Вивести таблицю перехресних посилань. Якщо створюється файл карти компонування, хрест
довідкова таблиця друкується у файлі карти. В іншому випадку він друкується на стандарті
вихід.

Формат таблиці навмисно простий, тому її можна легко обробити
сценарій, якщо необхідно. Символи роздруковуються, відсортовані за назвою. Для кожного символу,
надається список імен файлів. Якщо символ визначено, першим у списку є файл
розташування визначення. Решта файлів містять посилання на символ.

--no-define-common
Ця опція забороняє присвоєння адрес загальним символам. Сценарій
команда "INHIBIT_COMMON_ALLOCATION" має той самий ефект.

повне г, повне г,, показали, від, номер, XNUMX --no-define-common Опція дозволяє відокремити рішення про призначення адрес
Загальні символи від вибору типу вихідного файлу; інакше не можна переміщувати
Тип виведення змушує призначати адреси загальним символам. Використання --no-define-common
дозволяє призначати загальні символи, на які посилаються зі спільної бібліотеки
адреси лише в основній програмі. Це усуває невикористаний дублюючий простір у файлі
спільною бібліотекою, а також запобігає будь-якій можливій плутанині щодо вирішення проблеми
дублюються, коли є багато динамічних модулів зі спеціалізованими шляхами пошуку для
роздільна здатність символів під час виконання.

--defsym символ=вираз
Створіть глобальний символ у вихідному файлі, що містить абсолютну адресу, задану
вираз. Ви можете використовувати цю опцію стільки разів, скільки необхідно для визначення кількох
символи в командному рядку. Обмежена форма арифметики підтримується для
вираз у цьому контексті: ви можете вказати шістнадцяткову константу або ім'я an
існуючий символ або використовуйте «+» та «-», щоб додати або відняти шістнадцяткові константи або
символи. Якщо вам потрібні більш складні вирази, подумайте про використання команди компонувальника
мова з писемності. Примітка: між ними не повинно бути пробілів символ, то
знак рівності (``=''), і вираз.

--demangle[=стиль]
--не розбиратися
Ці параметри визначають, чи потрібно розбирати назви символів у повідомленнях про помилки та інших
вихід. Коли компонувальнику говорять деманглувати, він намагається представити назви символів у a
Читабельна мода: вона видаляє передні підкреслення, якщо вони використовуються об’єктним файлом
формат і перетворює спотворені назви символів C++ у імена, які можна читати користувачем. Інший
компілятори мають різні стилі маніпуляції. Необов’язковий аргумент стилю розбирання може
використовуватися для вибору відповідного стилю розбирання для вашого компілятора. Компонувальник буде
demangle за замовчуванням, якщо не змінна середовища COLLECT_NO_DEMANGLE встановлено. Ці
параметри можуть використовуватися, щоб замінити значення за замовчуванням.

--динамічний компонувальник файл
Встановіть назву динамічного компонувальника. Це має сенс лише під час генерації
динамічно зв'язані виконувані файли ELF. Зазвичай динамічний компонувальник за замовчуванням правильний;
не використовуйте це, якщо ви не знаєте, що робите.

-- смертельні попередження
Розглядайте всі попередження як помилки.

--force-exe-суфікс
Переконайтеся, що вихідний файл має суфікс .exe.

Якщо успішно створений повністю пов’язаний вихідний файл не має «.exe» або «.dll»
суфікс, цей параметр змушує компонувальник скопіювати вихідний файл до одного з тим самим ім’ям
із суфіксом ".exe". Цей параметр корисний при використанні незмінених файлів make-файлів Unix на a
Хост Microsoft Windows, оскільки деякі версії Windows не запускатимуть образ, якщо він не буде
закінчується на суфікс ".exe".

--no-gc-sections
--gc-секції
Увімкнути збір сміття з невикористаних розділів введення. Це ігнорується на цілях, які це роблять
не підтримують цю опцію. Цей параметр несумісний з -r. Поведінка за замовчуванням
(невиконання цього збору сміття) можна відновити, вказавши
--no-gc-sections у командному рядку.

--допомога
Надрукуйте підсумок параметрів командного рядка на стандартному виводі та вийдіть.

-- target-help
Надрукуйте підсумок усіх цільових параметрів на стандартному виводі та вийдіть.

-Карта файл карти
Роздрукуйте карту посилань на файл файл карти. Дивіться опис -M варіант, вище.

--не-зберігати-пам'ять
ld зазвичай оптимізує швидкість використання пам’яті, кешуючи таблиці символів
введення файлів у пам'ять. Цей варіант розповідає ld щоб замість цього оптимізувати використання пам’яті, шляхом
перечитування таблиць символів за потреби. Це може знадобитися, якщо ld закінчується
пам'яті під час підключення великого виконуваного файлу.

--no-nedefined
-z деф
Повідомляйте про невирішені посилання на символи зі звичайних об’єктних файлів. Це робиться, навіть якщо
компонувальник створює несимволічну спільну бібліотеку. Перемикач
--[no-]allow-shlib-undefined контролює поведінку звітів про невирішені проблеми
посилання, знайдені в спільних бібліотеках, на які пов’язані посилання.

--allow-multiple-definition
-z мульдефс
Зазвичай, коли символ визначається кілька разів, компонувальник повідомляє про фатальний результат
помилка. Ці параметри дозволяють використовувати декілька визначень, і буде використано перше визначення.

--allow-shlib-undefined
--no-allow-shlib-undefined
Дозволяє (за замовчуванням) або забороняє невизначені символи в спільних бібліотеках. Цей перемикач
аналогічно --no-nedefined за винятком того, що він визначає поведінку, коли
невизначені символи знаходяться в спільній бібліотеці, а не в звичайному об’єктному файлі. Це робить
не впливає на те, як обробляються невизначені символи в звичайних об’єктних файлах.

Причина в тому --allow-shlib-undefined за замовчуванням є спільна бібліотека
вказано під час підключення, може не збігатися з тим, який доступний під час завантаження
часу, тому символи можуть бути розв’язані під час завантаження. Крім того, є деякі
системи, (наприклад, BeOS), де невизначені символи в спільних бібліотеках є нормальними. (Ядро
виправляє їх під час завантаження, щоб вибрати, яка функція найбільш підходить для поточного
архітектури. Це використовується, наприклад, для динамічного вибору відповідного набору мемузів
функція). Очевидно, що спільні бібліотеки HPPA також мають значення undefined
символи

--no-undefined-version
Зазвичай, коли символ має невизначену версію, компонувальник ігнорує його. Це
Опція забороняє символи з невизначеною версією, і буде видана фатальна помилка
замість цього.

--default-symver
Створіть і використовуйте версію символу за замовчуванням (sonname) для неверсійних експортованих символів.

--default-imported-symver
Створіть і використовуйте версію символу за замовчуванням (sonname) для імпортованих символів без версій.

--no-warn-mispar
Зазвичай ld видасть помилку, якщо ви спробуєте об’єднати вхідні файли
з якихось причин невідповідні, можливо, тому, що вони були зібрані для різних
процесори або для різних байтових рядків. Цей варіант розповідає ld що це повинно бути
мовчки допускати такі можливі помилки. Цей параметр слід використовувати тільки з обережністю, в
випадки, коли ви вжили певних спеціальних дій, які гарантують, що помилки компонувальника є
недоречно.

--не-весь-архів
Вимкніть ефект --цілий архів опція для наступних архівних файлів.

--noinhibit-exec
Зберігайте виконуваний вихідний файл, коли він ще придатний для використання. Як правило, лінкер
не створить вихідний файл, якщо він зустріне помилки під час процесу посилання; це
виходить без запису вихідного файлу, якщо він видає будь-яку помилку.

-nostdlib
Шукайте лише каталоги бібліотек, явно вказані в командному рядку. Бібліотека
каталоги, зазначені в сценаріях компоновщика (включаючи сценарії компонувальника, зазначені на
командний рядок) ігноруються.

--оформат вихідний формат
ld може бути налаштований на підтримку більш ніж одного типу об’єктних файлів. Якщо ти ld is
налаштований таким чином, ви можете використовувати --оформат можливість вказати двійковий формат для
вихідний об'єктний файл. Навіть тоді, коли ld налаштовано на підтримку альтернативного об’єкта
форматів, зазвичай не потрібно вказувати це, як ld має бути налаштований на виробництво
як формат виводу за замовчуванням, найбільш звичайний формат на кожній машині. вихідний формат це
текстовий рядок, назва певного формату, який підтримується бібліотеками BFD. (Ти можеш
перелік доступних двійкових форматів objdump -i.) Команда сценарію
"OUTPUT_FORMAT" також може вказати формат виведення, але цей параметр замінює його.

- пиріг
--pic-виконуваний файл
Створіть незалежний від позиції виконуваний файл. Наразі це підтримується лише на ELF
платформи. У цьому незалежні від позиції виконувані файли подібні до спільних бібліотек
вони переміщуються динамічним компонувальником на віртуальну адресу, яку вибирає ОС
їх (які можуть відрізнятися між викликами). Як і звичайні динамічно пов'язані виконувані файли
їх можна виконувати, а символи, визначені у виконуваному файлі, не можуть бути перевизначені
спільні бібліотеки.

-qmagic
Цей параметр ігнорується для сумісності з Linux.

- Qy Цей параметр ігнорується для сумісності SVR4.

-- розслабтеся
Варіант із машинно-залежними ефектами. Ця опція підтримується лише в кількох
цілі.

На деяких платформах -- розслабтеся параметр виконує глобальні оптимізації, які стають
можливо, коли компонувальник вирішує адресацію в програмі, наприклад, розслаблення адреси
режими та синтез нових інструкцій у вихідному об’єктному файлі.

На деяких платформах ці глобальні оптимізації часу зв’язку можуть призвести до символічного налагодження
отриманий виконуваний файл неможливий. Відомо, що це стосується Мацусіти
Сімейство процесорів MN10200 і MN10300.

На платформах, де це не підтримується, -- розслабтеся приймається, але ігнорується.

--retain-symbols-file ім'я файлу
Утримуйте тільки символи, перераховані у файлі ім'я файлу, відкидаючи всі інші. ім'я файлу
це просто плоский файл з одним ім'ям символу на рядок. Цей варіант особливо
корисно в середовищах (наприклад, VxWorks), де є велика глобальна таблиця символів
накопичується поступово, щоб зберегти пам'ять під час виконання.

--retain-symbols-file робить НЕ відкидати невизначені символи або символи, необхідні для
переїзди.

Ви можете лише вказати --retain-symbols-file один раз у командному рядку. Це перевизначає -s
і -S.

-rpth реж
Додайте каталог до шляху пошуку бібліотеки часу виконання. Це використовується під час приєднання ELF
виконуваний із спільними об’єктами. всі -rpth аргументи об’єднуються і передаються до
компонувальник часу виконання, який використовує їх для пошуку спільних об’єктів під час виконання. The -rpth
Параметр також використовується під час пошуку спільних об'єктів, які потрібні спільним об'єктам
явно включено в посилання; дивіться опис -rpath-посилання варіант. Якщо
-rpth не використовується при зв'язуванні виконуваного файлу ELF, вмісту середовища
буде використовуватися змінна "LD_RUN_PATH", якщо вона визначена.

повне г, повне г,, показали, від, номер, XNUMX -rpth опцію також можна використовувати на SunOS. За замовчуванням у SunOS компонувальник буде
сформуйте патч пошуку під час виконання з усіх -L надаються варіанти. Якщо -rpth варіант
використовується, шлях пошуку під час виконання буде формуватися виключно за допомогою -rpth варіантів,
ігноруючи -L варіанти. Це може бути корисно під час використання gcc, який додає багато -L
параметри, які можуть бути у файлових системах, змонтованих NFS.

Для сумісності з іншими лінкерами ELF, якщо -R За параметром слід каталог
ім'я, а не ім'я файлу, воно розглядається як -rpth варіант.

-rpath-посилання DIR
При використанні ELF або SunOS для однієї спільної бібліотеки може знадобитися інша. Це відбувається, коли an
Посилання "ld -shared" включає спільну бібліотеку як один із вхідних файлів.

Коли компонувальник стикається з такою залежністю під час виконання не спільного, непереміщуваного
посилання, він автоматично спробує знайти необхідну спільну бібліотеку та включити її
у посиланні, якщо воно не включено явно. У такому випадку, -rpath-посилання варіант
визначає перший набір каталогів для пошуку. The -rpath-посилання параметр може вказати
послідовність імен каталогів шляхом вказівки списку імен, розділених символом
двокрапки або з’являтися кілька разів.

Цей параметр слід використовувати з обережністю, оскільки він замінює шлях пошуку, який може мати
був складно зібраний у спільну бібліотеку. В такому випадку можна скористатися
ненавмисно інший шлях пошуку, ніж компонувальник часу виконання.

Компонувальник використовує такі шляхи пошуку, щоб знайти необхідні спільні бібліотеки.

1. Будь-які каталоги, зазначені в -rpath-посилання Варіанти.

2. Будь-які каталоги, зазначені в -rpth варіанти. Різниця між -rpth і
-rpath-посилання це те, що каталоги, визначені за допомогою -rpth опції включені в
виконуваний і використовується під час виконання, тоді як файл -rpath-посилання варіант тільки ефективний
під час посилання. Це лише для рідного компонувальника.

3. На системі ELF, якщо -rpth і параметри "rpath-link" не використовувалися, знайдіть
вміст змінної середовища "LD_RUN_PATH". Це для рідного компонувальника
тільки.

4. На SunOS, якщо -rpth параметр не використовувався, шукайте будь-які вказані каталоги
використання -L Варіанти.

5. Для власного компонувальника вміст змінної середовища "LD_LIBRARY_PATH".

6. Для власного компонувальника ELF каталоги в "DT_RUNPATH" або "DT_RPATH" спільного
бібліотека шукає спільні бібліотеки, необхідні їй. Записи "DT_RPATH" є
ігнорується, якщо існують записи "DT_RUNPATH".

7. Зазвичай каталоги за замовчуванням / lib і / Usr / Бібліотека.

8. Для власного компонувальника в системі ELF, якщо файл /etc/ld.so.conf існує, список
каталогів, знайдених у цьому файлі.

Якщо необхідну спільну бібліотеку не знайдено, компонувальник видасть попередження і
продовжити за посиланням.

- поділилися
- Доступний для спільного використання
Створіть спільну бібліотеку. Наразі це підтримується лише на ELF, XCOFF та SunOS
платформи. У SunOS компонувальник автоматично створить спільну бібліотеку, якщо -e
Опція не використовується, а в посиланні є невизначені символи.

--сорт-загальний
Цей варіант розповідає ld щоб відсортувати загальні символи за розміром, коли він розміщує їх у
відповідні вихідні розділи. Спочатку йдуть всі однобайтові символи, потім усі два
байт, потім усі чотири байти, а потім усе інше. Це робиться для запобігання розривів
між символами через обмеження вирівнювання.

--сортувати-розділ ім'я
Цей параметр застосовує "SORT_BY_NAME" до всіх шаблонів розділів підстановки в компоновщику
сценарій

--сортувати-розділ вирівнювання
Ця опція застосовуватиме "SORT_BY_ALIGNMENT" до всіх шаблонів розділу підстановки в
скрипт компоновщика.

--поділ на файл [розмір]
Як і в --split-by-reloc але створює новий вихідний розділ для кожного вхідного файлу, коли
розмір досягнуто. розмір за замовчуванням розмір 1, якщо не вказано.

--split-by-reloc [вважати]
Намагається створити додаткові розділи у вихідному файлі, щоб не було жодного вихідного розділу
файл містить більше ніж вважати переїзди. Це корисно при створенні величезних розмірів
переміщувані файли для завантаження в певні ядра реального часу з об’єктом COFF
формат файлу; оскільки COFF не може представляти більше 65535 переміщень за один раз
розділ. Зауважте, що це не працюватиме з форматами об’єктних файлів, які не працюють
підтримувати довільні розділи. Компонувальник не буде розбивати окремі секції введення
для перерозподілу, тому, якщо один вхідний розділ містить більше ніж вважати переїзди
один вихідний розділ міститиме стільки переміщень. вважати за замовчуванням має значення
32768.

--статистика
Обчислюйте та відображайте статистичні дані про роботу компонувальника, наприклад виконання
використання часу і пам'яті.

--sysroot=каталог
використання каталог як розташування sysroot, замінюючи параметр configure-time за замовчуванням.
Цей параметр підтримується лише компонувальниками, які були налаштовані за допомогою --with-sysroot.

-- традиційний формат
Для деяких цілей вихід з ld в чомусь відрізняється від результатів деяких
існуючий лінкер. Цей перемикач запитує ld замість цього використовувати традиційний формат.

Наприклад, на SunOS, ld поєднує повторювані записи в таблиці рядків символів. Це
може зменшити розмір вихідного файлу з повною інформацією про налагодження більш ніж на 30
відсотків. На жаль, програма SunOS «dbx» не може прочитати отриману програму
("gdb" не має проблем). The -- традиційний формат перемикач розповідає ld не поєднувати
повторювані записи.

--початок розділу назва розділу=org
Знайдіть розділ у вихідному файлі за абсолютною адресою, заданою org. Ви можете використовувати
цей параметр стільки разів, скільки необхідно, щоб знайти декілька розділів у команді
лінія. org має бути єдиним шістнадцятковим числом; для сумісності з іншими лінкерами,
Ви можете пропустити провідне 0x зазвичай асоціюється з шістнадцятковими значеннями. Примітка: там
між ними не повинно бути пробілів назва розділу, знак рівності (``=''), і org.

-Тбсс org
-Тдані org
-Ttext org
Те саме, що --section-start, із ".bss", ".data" або ".text" як назва розділу.

--unresolved-symbols=метод
Визначте, як обробляти нерозв’язані символи. Є чотири можливі значення для
метод:

ігнорувати-все
Не повідомляйте про невирішені символи.

звітувати-все
Повідомте про всі нерозв’язані символи. Це значення за замовчуванням.

ігнорувати в об’єктних файлах
Повідомляйте про нерозв’язані символи, які містяться в спільних бібліотеках, але ігноруйте їх
якщо вони походять із звичайних об’єктних файлів.

ignore-in-shared-libs
Повідомляйте про нерозв’язані символи, які надходять із звичайних об’єктних файлів, але ігноруйте їх, якщо
вони походять із спільних бібліотек. Це може бути корисно під час створення динаміки
binary і відомо, що всі спільні бібліотеки, на які він повинен посилатися
включені в командний рядок компонувальника.

Поведінку для спільних бібліотек самостійно також можна керувати
--[no-]allow-shlib-undefined варіант.

Зазвичай компонувальник генерує повідомлення про помилку для кожного повідомленого нерозв’язаного символу
але варіант --warn-unresolved-symbols можна змінити це на попередження.

--dll-подробно
-багатослівний
Відобразити номер версії для ld і перелік підтримуваних емуляцій компоновщика. Дисплей
які вхідні файли можна, а які не можна відкривати. Відобразити скрипт компонувальника, який використовується
лінкер.

--version-script=файл сценарію версії
Вкажіть назву сценарію версії для компонувальника. Це зазвичай використовується, коли
створення спільних бібліотек для вказівки додаткової інформації про версію
ієрархія для створюваної бібліотеки. Ця опція має значення лише для ELF
платформи, які підтримують спільні бібліотеки.

--попередження-загальний
Попереджати, коли загальний символ поєднується з іншим загальним символом або із символом
визначення. Компонувальники Unix допускають цю дещо недбалу практику, але компонувальники на деяких
інші операційні системи цього не роблять. Цей параметр дозволяє знайти потенційні проблеми
від поєднання глобальних символів. На жаль, деякі бібліотеки C використовують цю практику, тому
ви можете отримати деякі попередження про символи в бібліотеках, а також у ваших програмах.

Існує три типи глобальних символів, проілюстровані тут прикладами C:

Int i = 1;
Визначення, яке міститься в розділі ініціалізованих даних вихідного файлу.

зовнішній Int i;
Невизначене посилання, яке не виділяє простір. Має бути або a
визначення або загальний символ для змінної десь.

Int i;
Звичайний символ. Якщо є лише (один або кілька) загальних символів для змінної,
він потрапляє в область неініціалізованих даних вихідного файлу. Компонувальник об’єднується
кілька загальних символів для однієї змінної в один символ. Якщо вони є
різних розмірів, він вибирає найбільший розмір. Компонувальник перетворює загальний символ
в оголошення, якщо є визначення тієї самої змінної.

повне г, повне г,, показали, від, номер, XNUMX --попередження-загальний Опція може видавати п'ять видів попереджень. Кожне попередження складається з
пара рядків: перший описує щойно зустріний символ, а другий
описує попередній символ з такою ж назвою. Один або обидва
символи будуть загальним символом.

1. Перетворення загального символу на посилання, бо вже є визначення
для символу.

( ): попередження: поширене ` '
перевизначені за визначенням
( ): попередження: визначено тут

2. Перетворення загального символу на посилання, тому що пізніше визначення для
зустрічається символ. Це те саме, що й у попередньому випадку, за винятком того, що
символи зустрічаються в іншому порядку.

( ): попередження: визначення ` '
переважаючий загальний
( ): попередження: загальне тут

3. Об’єднання загального символу з попереднім загальним символом такого ж розміру.

( ): попередження: кілька загальних
з ` '
( ): попередження: попередній загальний тут

4. Об’єднання загального символу з попереднім більшим загальним символом.

( ): попередження: поширене ` '
замінюється більшим спільним
( ): попередження: тут більший загальний

5. Об’єднання загального символу з попереднім меншим загальним символом. Це те саме
як і в попередньому випадку, за винятком того, що символи зустрічаються в іншому випадку
порядку.

( ): попередження: поширене ` '
переважає менший загальний
( ): попередження: тут менший загальний

--warn-конструктори
Попереджати, якщо використовуються глобальні конструктори. Це корисно лише для кількох об’єктів
формати. Для таких форматів, як COFF або ELF, компонувальник не може виявити використання global
конструктори.

--warn-multiple-gp
Попереджає, якщо у вихідному файлі потрібні кілька значень глобальних покажчиків. Це тільки
має значення для певних процесорів, таких як Alpha. Зокрема, деякі процесори
помістіть великозначні константи в спеціальний розділ. Спеціальний реєстр (глобальний
покажчик) вказує на середину цього розділу, щоб можна було завантажити константи
ефективно через режим відносної адресації базового реєстру. Оскільки зміщення в базі-
регістр відносного режиму є фіксованим і відносно невеликим (наприклад, 16 біт), це обмежує
максимальний розмір постійного пулу. Таким чином, у великих програмах часто необхідно
використовувати кілька значень глобальних покажчиків, щоб мати можливість звертатися до всіх можливих
константи. Ця опція викликає попередження щоразу, коли виникає цей випадок.

-- попередити-один раз
Попередження лише один раз для кожного невизначеного символу, а не один раз для модуля, на який посилається
його.

--warn-section-align
Попереджати, якщо адреса вихідної секції змінена через вирівнювання. як правило,
вирівнювання буде встановлено розділом введення. Адреса буде змінено лише в тому випадку
не вказано прямо; тобто якщо команда «SECTIONS» не визначає початок
адреса розділу.

--warn-shared-textrel
Попереджати, якщо компонувальник додає DT_TEXTREL до спільного об’єкта.

--warn-unresolved-symbols
Якщо компонувальник збирається повідомити про невирішений символ (див. параметр
--невирішені-символи) зазвичай генерує помилку. Цей варіант робить це
натомість створити попередження.

--error-unresolved-symbols
Це відновлює поведінку компонувальника за замовчуванням щодо створення помилок під час звітування
нерозв'язані символи.

--цілий архів
Для кожного архіву, згаданого в командному рядку після --цілий архів варіант
включити кожен об’єктний файл в архів у посилання, а не шукати
архів для необхідних об’єктних файлів. Зазвичай це використовується для перетворення файлу архіву
у спільну бібліотеку, змушуючи кожен об’єкт включатися в результуючу спільну бібліотеку
бібліотека. Цей параметр можна використовувати більше одного разу.

Дві примітки під час використання цієї опції від gcc: по-перше, gcc не знає про цю опцію,
так що потрібно використовувати -Вл,-цілий-архів. По-друге, не забувайте використовувати
-Вл,-ні-весь-архів після вашого списку архівів, оскільки gcc додасть власний список
архівів на ваше посилання, і ви не хочете, щоб цей прапор також впливав на них.

--загорнути символ
Використовуйте функцію обгортки для символ. Будь-яке невизначене посилання на символ буде вирішено
загортати_символ". Будь-яке невизначене посилання на "__real_символ" буде вирішено
символ.

Це можна використовувати для надання обгортки для системної функції. Функція обгортки
має називатися "__wrap_символ". Якщо він бажає викликати системну функцію, він повинен
зателефонуйте "__real_символ".

Ось тривіальний приклад:

пустота *
__wrap_malloc (size_t c)
{
printf ("malloc викликаний за допомогою %zu\n", c);
повернути __real_malloc (c);
}

Якщо ви пов’язуєте інший код з цим файлом за допомогою --загорнути Танос, потім усі виклики до "malloc"
замість цього викличе функцію "__wrap_malloc". Виклик до "__real_malloc" в
"__wrap_malloc" викличе справжню функцію "malloc".

Ви також можете надати функцію "__real_malloc", щоб посилання без
--загорнути варіант буде вдалим. Якщо ви це робите, не варто ставити визначення
«__real_malloc» у тому самому файлі, що й «__wrap_malloc»; якщо ви це зробите, асемблер може
розв’язати виклик до того, як компонувальник зможе обернути його в "malloc".

--enable-new-dtags
--disable-new-dtags
Цей компонувальник може створювати нові динамічні теги в ELF. Але старі системи ELF можуть ні
зрозуміти їх. Якщо ви вкажете --enable-new-dtags, будуть створені динамічні теги
в міру необхідності. Якщо вказати --disable-new-dtags, нові динамічні теги не створюватимуться.
За замовчуванням нові динамічні теги не створюються. Зауважте, що ці варіанти є лише
доступний для систем ELF.

--hash-size=номер
Встановіть за замовчуванням розмір хеш-таблиць компонувальника на просте число, близьке до номер.
Збільшення цього значення може скоротити час, який потрібен компоновщику, щоб виконати його
завдань, за рахунок збільшення вимог до пам'яті компонувальника. Аналогічно
зменшення цього значення може зменшити вимоги до пам'яті за рахунок швидкості.

--зменшити накладні витрати на пам'ять
Ця опція зменшує вимоги до пам’яті під час виконання ld за рахунок зв’язування
швидкість. Це було введено для вибору старого алгоритму O(n^2) для файлу карти посилань
покоління, а не новий алгоритм O(n), який використовує приблизно на 40% більше пам’яті для
зберігання символів.

Іншим впливом перемикача є встановлення розміру хеш-таблиці за замовчуванням на 1021, що
знову економить пам'ять ціною подовження часу роботи компоновщика. Цього не робиться
однак, якщо --розмір хеша перемикач був використаний.

повне г, повне г,, показали, від, номер, XNUMX --зменшити накладні витрати на пам'ять перемикач також може використовуватися для включення інших компромісів
майбутні версії компонувальника.

Компонувальник i386 PE підтримує - поділилися опція, яка призводить до того, що вихідним буде a
динамічно підключена бібліотека (DLL) замість звичайного виконуваного файлу. Ви повинні назвати
вивести "*.dll", коли ви використовуєте цю опцію. Крім того, компонувальник повністю підтримує
стандартні файли "*.def", які можуть бути вказані в командному рядку компонувальника як об'єкт
файл (насправді він повинен передувати архівам, з яких експортує символи, щоб гарантувати, що вони отримують
пов’язаний, як звичайний об’єктний файл).

На додаток до параметрів, загальних для всіх цілей, компоновщик i386 PE підтримує додаткові
параметри командного рядка, специфічні для цілі i386 PE. Опції, які приймають значення
можуть бути відокремлені від їх значень пробілом або знаком рівності.

--add-stdcall-alias
Якщо вказано, символи із суфіксом stdcall (@nn) буде експортовано як є, а також з
суфікс позбавлений. [Цей параметр стосується цільового порту i386 PE компоновщика]

--базовий файл файл
використання файл як ім'я файлу, в якому зберігаються базові адреси всіх
переміщення, необхідні для створення DLL з dlltool. [Це спеціальний i386 PE
варіант]

--dll
Створіть DLL замість звичайного виконуваного файлу. Ви також можете використовувати - поділилися або вкажіть а
"БІБЛІОТЕКА" у заданому файлі ".def". [Цей параметр є специфічним для цільового i386 PE
порт компонувальника]

--enable-stdcall-fixup
--disable-stdcall-fixup
Якщо посилання знайде символ, який воно не може розв’язати, воно спробує зробити «нечіткість».
зв’язування'' шляхом пошуку іншого визначеного символу, який відрізняється лише форматом
ім'я символу (cdecl проти stdcall) і дозволить цей символ, посилаючись на відповідність.
Наприклад, невизначений символ "_foo" може бути пов'язаний з функцією "_foo@12", або
невизначений символ "_bar@16" може бути пов'язаний з функцією "_bar". Коли
компонувальник робить це, він друкує попередження, оскільки зазвичай він не мав би з'єднатися,
але іноді ця функція може знадобитися для імпортованих бібліотек, створених із сторонніх dll
бути придатним для використання. Якщо ви вкажете --enable-stdcall-fixup, ця функція повністю ввімкнена
і попередження не друкуються. Якщо ви вкажете --disable-stdcall-fixup, ця функція є
вимкнено, і такі невідповідності вважаються помилками. [Цей параметр стосується
цільовий порт i386 PE лінкера]

--експортувати всі символи
Якщо вказано, усі глобальні символи в об’єктах, які використовуються для створення DLL, будуть експортовані
DLL. Зауважте, що це значення за замовчуванням, якщо інакше не було б експортовано
символи. Коли символи експортуються явно через файли DEF або неявно експортуються
через атрибути функції, за замовчуванням не експортувати нічого іншого, крім цього параметра
надається. Зверніть увагу, що символи "DllMain@12", "DllEntryPoint@0",
"DllMainCRTStartup@12" і "impure_ptr" не експортуватимуться автоматично. також,
символи, імпортовані з інших DLL, не будуть повторно експортовані, а також символи, що вказують
внутрішній макет DLL, наприклад ті, що починаються на "_head_" або закінчуються на
"_iname". Крім того, жодних символів із "libgcc", "libstd++", "libmingw32" або
"crtX.o" буде експортовано. Символи, назви яких починаються з "__rtti_" або "__builtin_"
не буде експортовано, щоб допомогти з DLL C++. Нарешті, є великий список
cygwin-private символи, які не експортуються (очевидно, це стосується при побудові
DLL для цілей cygwin). Ці виключення cygwin: "_cygwin_dll_entry@12",
"_cygwin_crt0_common@8", "_cygwin_noncygwin_dll_entry@12", "_fmode", "_impure_ptr",
"cygwin_attach_dll", "cygwin_premain0", "cygwin_premain1", "cygwin_premain2",
"cygwin_premain3" та "environ". [Цей параметр є специфічним для цільового i386 PE
порт компонувальника]

--exclude-symbols символ,символ, ...
Визначає список символів, які не слід автоматично експортувати. Символ
імена можуть бути розділені комами або двокрапками. [Цей параметр є специфічним для i386 PE
цільовий порт компонувальника]

--вирівнювання файлів
Вкажіть вирівнювання файлу. Розділи у файлі завжди починатимуться зі зміщення файлу
які кратні цьому числу. За замовчуванням встановлено значення 512. [Цей параметр є конкретним
до цільового порту i386 PE компоновщика]

-- купа резерв
-- купа резерв,commit
Вкажіть обсяг пам’яті, який потрібно зарезервувати (і за бажанням зафіксувати), який буде використовуватися як купа
цю програму. За замовчуванням зарезервовано 1 Мб, закріплено 4K. [Цей параметр стосується
цільовий порт i386 PE лінкера]

--база зображення значення
використання значення як базову адресу вашої програми або dll. Це найнижча пам'ять
розташування, яке буде використовуватися під час завантаження вашої програми або dll. Щоб зменшити потребу в
перемістіть і підвищте продуктивність ваших DLL, кожна з них повинна мати унікальну базову адресу
і не перекривати жодних інших dll. За замовчуванням для виконуваних файлів і
0x10000000 для dll. [Цей параметр стосується цільового порту i386 PE
лінкер]

--убити
Якщо вказано, суфікси stdcall (@nn) буде видалено з символів до того, як вони з’являться
експортується. [Цей параметр стосується цільового порту i386 PE компоновщика]

--з урахуванням великих адрес
Якщо вказано, відповідний біт у полі ``Charateristics'' заголовка COFF є
встановлено, щоб вказати, що цей виконуваний файл підтримує віртуальні адреси більше 2
гігабайти. Це слід використовувати разом із /3GB або /USERVA=значення мегабайт
перемикач у розділі ``[операційні системи]'' BOOT.INI. Інакше цей біт
не має ефекту. [Цей параметр є специфічним для PE-орієнтованих портів компонувальника]

--maor-image-version значення
Встановлює основний номер ``версії зображення''. За замовчуванням 1. [Цей параметр є
специфічний для цільового порту i386 PE компоновщика]

--major-os-version значення
Встановлює основний номер ``версії ОС''. За замовчуванням 4. [Цей параметр є конкретним
до цільового порту i386 PE компоновщика]

--maor-subsystem-version значення
Встановлює основний номер ``версії підсистеми''. За замовчуванням 4. [Цей параметр є
специфічний для цільового порту i386 PE компоновщика]

--mior-image-version значення
Встановлює менший номер ``версії зображення''. За замовчуванням 0. [Цей параметр є
специфічний для цільового порту i386 PE компоновщика]

--minor-os-version значення
Встановлює менший номер ``версії ОС''. За замовчуванням 0. [Цей параметр є конкретним
до цільового порту i386 PE компоновщика]

--мінорна-підсистемна-версія значення
Встановлює менший номер ``версії підсистеми''. За замовчуванням 0. [Цей параметр є
специфічний для цільового порту i386 PE компоновщика]

--output-def файл
Компонувальник створить файл файл який міститиме файл DEF, відповідний
DLL, який створює компонувальник. Цей файл DEF (який має називатися "*.def") може
використовуватися для створення бібліотеки імпорту за допомогою "dlltool" або як посилання на
автоматично або неявно експортовані символи. [Цей параметр є специфічним для i386 PE
цільовий порт компонувальника]

--out-implib файл
Компонувальник створить файл файл яка міститиме бібліотеку імпорту, відповідну до
DLL, який створює компонувальник. Ця імпортована бібліотека (яку слід називати "*.dll.a" або
"*.a" може використовуватися для зв'язування клієнтів із згенерованою DLL; ця поведінка робить це
можна пропустити окремий крок створення бібліотеки імпорту "dlltool". [Цей варіант є
специфічний для цільового порту i386 PE компоновщика]

--enable-auto-image-base
Автоматично вибирати базу образів для DLL, якщо вона не вказана за допомогою
Аргумент "--image-base". Використовуючи хеш, згенерований з dllname для створення унікального
Бази зображень для кожної DLL, колізії в пам'яті та переміщення, які можуть затримати програму
виконання уникає. [Цей параметр стосується цільового порту i386 PE
лінкер]

--disable-auto-image-base
Не створюйте автоматично унікальну базу зображень. Якщо не вказано користувачем
image base ("--image-base"), потім використовуйте платформу за замовчуванням. [Цей варіант специфічний
до цільового порту i386 PE компоновщика]

--dll-префікс-пошуку рядок
Під час динамічного посилання на dll без бібліотеки імпорту знайдіть
" .dll" замість "lib .dll". Така поведінка дозволяє
легко розрізняти DLL, створені для різних «підплатформ»: native, cygwin,
uwin, pw тощо. Наприклад, cygwin DLL зазвичай використовують "--dll-search-prefix=cyg".
[Цей параметр стосується цільового порту i386 PE компоновщика]

--enable-auto-import
Виконайте складні зв’язки "_symbol" з "__imp__symbol" для імпорту ДАНИХ із DLL,
і створювати необхідні thunking символи під час створення бібліотек імпорту
ці експортовані дані. Примітка. Використання розширення «автоматичний імпорт» призведе до появи тексту
розділ файлу зображення, який можна зробити доступним для запису. Це не відповідає PE-COFF
специфікація формату, опублікована Microsoft.

Використання «автоматичного імпорту» зазвичай «просто працює», але іноді ви можете побачити це
повідомлення:

"змінну " " не можна імпортувати автоматично. Будь ласка, прочитайте документацію для ld
"--enable-auto-import" для отримання детальної інформації."

Це повідомлення з’являється, коли деякий (під)вираз звертається до адреси, яку в кінцевому підсумку дає
сума двох констант (таблиці імпорту Win32 дозволяють лише одну). Випадки, коли це
може відбутися включати доступ до полів-членів змінних структури, імпортованих з DLL,
а також використання постійного індексу в змінній масиву, імпортованої з DLL. Будь-який
багатослівна змінна (масиви, структури, long long тощо) може викликати цю помилку.
Однак, незалежно від точного типу даних експортованої змінної-порушника, ld буде
завжди виявляти його, видати попередження та вийти.

Існує кілька способів вирішення цієї проблеми, незалежно від типу даних
експортована змінна:

Одним із способів є використання перемикача --enable-runtime-pseudo-reloc. Це залишає завдання
коригування посилань у вашому клієнтському коді для середовища виконання, тому цей метод працює
тільки якщо середовище виконання підтримує цю функцію.

Друге рішення полягає в тому, щоб змусити одну з «констант» бути змінною, тобто
невідомі та не оптимізовані під час компіляції. Для масивів є дві можливості:
а) зробити індексатора (адресу масиву) змінною, або б) зробити індекс "постійний"
змінна. Таким чином:

зовнішній тип extern_array[];
зовнішній_масив[1] -->
{ volatile type *t=extern_array; t[1]}

or

зовнішній тип extern_array[];
зовнішній_масив[1] -->
{ volatile int t=1; зовнішній_масив[t] }

Для структур (та більшості інших багатослівних типів даних) єдиним варіантом є створення
сама структура (або long long, або ...) змінна:

extern struct s extern_struct;
extern_struct.field -->
{ volatile struct s *t=&extern_struct; t->поле }

or

extern довгий довгий extern_ll;
extern_ll -->
{ volatile long long * local_ll=&extern_ll; *local_ll }

Третій спосіб вирішення цієї проблеми полягає в тому, щоб відмовитися від «автоматичного імпорту».
образливий символ і позначте його "__declspec(dllimport)". Однак на практиці це
вимагає використання #defines часу компіляції, щоб вказати, чи створюєте ви DLL,
створення клієнтського коду, який буде посилатися на DLL, або просто створення/посилання на статичний
бібліотека. Здійснюючи вибір між різними методами вирішення 'прямого
Вирішуючи проблему з постійним зміщенням, слід розглянути типове використання в реальному світі:

Оригінал:

--foo.h
extern int arr[];
--foo.c
#include "foo.h"
void main(int argc, char **argv){
printf("%d\n",arr[1]);
}

Рішення 1:

--foo.h
extern int arr[];
--foo.c
#include "foo.h"
void main(int argc, char **argv){
/* Це обхідне рішення для win32 та cygwin; не "оптимізувати" */
volatile int *parr = arr;
printf("%d\n",parr[1]);
}

Рішення 2:

--foo.h
/* Примітка: передбачається автоматичний експорт (без __declspec(dllexport)) */
#if (визначено(_WIN32) ⎪⎪ визначено(__CYGWIN__)) && \
!(визначено(FOO_BUILD_DLL) ⎪⎪ визначено(FOO_STATIC))
#define FOO_IMPORT __declspec(dllimport)
#else
#define FOO_IMPORT
#endif
зовнішній FOO_IMPORT int arr[];
--foo.c
#include "foo.h"
void main(int argc, char **argv){
printf("%d\n",arr[1]);
}

Четвертий спосіб уникнути цієї проблеми - перекодувати бібліотеку для використання функціоналу
інтерфейс, а не інтерфейс даних для змінних-порушників (наприклад set_foo() і
get_foo() функції доступу). [Цей параметр стосується цільового порту i386 PE
лінкера]

--disable-auto-import
Не намагайтеся зробити складні зв’язки "_symbol" з "__imp__symbol" для DATA
імпорт із DLL. [Цей параметр стосується цільового порту i386 PE
лінкер]

--enable-runtime-pseudo-reloc
Якщо ваш код містить вирази, описані в розділі --enable-auto-import, тобто
Імпорт DATA з DLL з ненульовим зміщенням, цей перемикач створить вектор
"псевдопереміщення під час виконання", яке може використовуватися середовищем виконання для налаштування
посилання на такі дані у вашому клієнтському коді. [Цей параметр є специфічним для i386 PE
цільовий порт компонувальника]

--disable-runtime-pseudo-reloc
Не створюйте псевдопереміщення для імпорту DATA з ненульовим зміщенням із DLL. Це
за замовчуванням. [Цей параметр стосується цільового порту i386 PE компоновщика]

--enable-extra-pe-debug
Показати додаткову інформацію про налагодження, пов’язану з автоматичним імпортом символів. [Цей варіант є
специфічний для цільового порту i386 PE компоновщика]

--вирівнювання розділів
Встановлює вирівнювання розділу. Розділи в пам'яті завжди починатимуться з адрес, які
кратні цьому числу. За замовчуванням 0x1000. [Цей параметр є специфічним для
i386 PE цільовий порт компонувальника]

--стек резерв
--стек резерв,commit
Вкажіть обсяг пам’яті, який потрібно зарезервувати (і за бажанням зафіксувати), який буде використовуватися як стек
для цієї програми. За замовчуванням зарезервовано 2 Мб, закріплено 4K. [Цей варіант є
специфічний для цільового порту i386 PE компоновщика]

--підсистема який
--підсистема який:основний
--підсистема який:основний.незначний
Вказує підсистему, під якою буде виконуватися ваша програма. Правові цінності для
який є "рідний", "windows", "консоль", "posix" і "xbox". Ви можете за бажанням встановити
також версія підсистеми. Числові значення також приймаються для який. [Цей варіант
є специфічним для цільового порту i386 PE компоновщика]

Компоновщики 68HC11 і 68HC12 підтримують певні параметри керування банком пам'яті
перемикання відображення та генерування коду батута.

--без батута
Цей параметр відключає створення батута. За замовчуванням батут є
генерується для кожної далекої функції, яка викликається за допомогою інструкції "jsr" (це
відбувається, коли береться вказівник на функцію far).

--банк-вікно ім'я
Ця опція вказує компонувальнику ім’я області пам’яті в ПАМ'ЯТЬ
специфікація, яка описує вікно банку пам'яті. Визначення такого регіону є
потім використовується компонувальником для обчислення сторінок і адрес у вікні пам'яті.

НАВКОЛИШНЄ СЕРЕДОВИЩЕ


Ви можете змінити поведінку ld зі змінними середовища "GNUTARGET",
"LDEMULATION" і "COLLECT_NO_DEMANGLE".

"GNUTARGET" визначає формат об'єкта вхідного файлу, якщо ви його не використовуєте -b (або його синонім
--формат). Його значення має бути одним із імен BFD для формату введення. Якщо немає
"GNUTARGET" в середовищі, ld використовує природний формат цілі. Якщо "GNUTARGET"
встановлено на "за замовчуванням", тоді BFD намагається знайти вхідний формат, досліджуючи двійковий файл
вхідні файли; цей метод часто вдається, але є потенційні неясності, оскільки є
не є методом гарантувати, що магічне число, яке використовується для визначення форматів об’єктних файлів, є таким
унікальний. Проте процедура конфігурації для BFD на кожній системі розміщує
звичайний формат для цієї системи першим у списку пошуку, тому неясності вирішені
на користь конвенції.

"LDEMULATION" визначає емуляцію за замовчуванням, якщо ви не використовуєте -m варіант.
емуляція може вплинути на різні аспекти поведінки компоновщика, зокрема на компонувальник за замовчуванням
сценарій. Ви можете перерахувати доступні емуляції за допомогою -багатослівний or -V варіанти. Якщо
-m опція не використовується, а змінна середовища "LDEMULATION" не визначена
емуляція за замовчуванням залежить від того, як був налаштований компонувальник.

Зазвичай компонувальник за замовчуванням розбирає символи. Однак, якщо
"COLLECT_NO_DEMANGLE" встановлено в середовищі, тоді він за замовчуванням не розбирається
символи. Ця змінна середовища використовується аналогічним чином компоновщиком "gcc".
програма обгортки. Значення за замовчуванням може бути змінено --демонтувати і --не розбиратися
Варіанти.

Використовуйте h8300-hitachi-coff-ld онлайн за допомогою служб onworks.net


Ad


Ad