InglesPransesAlemanItalyanoPortugesRusoEspanyol

OnWorks favicon

mips64el-linux-gnuabi64-ld - Online sa Cloud

Patakbuhin ang mips64el-linux-gnuabi64-ld sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command na mips64el-linux-gnuabi64-ld na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


ld - Ang GNU linker

SINOPSIS


ld [pagpipilian] objfile ...

DESCRIPTION


ld pinagsasama ang isang bilang ng mga object at archive na file, nililipat ang kanilang data at tinatali ang simbolo
mga sanggunian. Karaniwan ang huling hakbang sa pag-compile ng isang programa ay ang pagtakbo ld.

ld tumatanggap ng Linker Command Language file na nakasulat sa isang superset ng Link Editor ng AT&T
Command Language syntax, upang magbigay ng tahasan at kabuuang kontrol sa proseso ng pag-link.

Hindi inilalarawan ng man page na ito ang command language; tingnan ang ld entry sa "impormasyon" para sa buong
mga detalye sa command language at sa iba pang aspeto ng GNU linker.

Ang bersyong ito ng ld gumagamit ng pangkalahatang layunin na mga aklatan ng BFD upang gumana sa mga object file. Ito
ay nagbibigay-daan sa ld upang basahin, pagsamahin, at isulat ang mga object file sa maraming iba't ibang mga format---para sa
halimbawa, COFF o "a.out". Maaaring iugnay ang iba't ibang mga format upang makagawa ng anuman
magagamit na uri ng object file.

Bukod sa flexibility nito, mas nakakatulong ang GNU linker kaysa sa iba pang linker sa pagbibigay
impormasyon sa diagnostic. Maraming mga linker ang agad na umaalis sa pagpapatupad kapag nakatagpo ng isang
pagkakamali; Kung kailan pwede, ld nagpapatuloy sa pagpapatupad, na nagbibigay-daan sa iyong matukoy ang iba pang mga error
(o, sa ilang mga kaso, upang makakuha ng isang output file sa kabila ng error).

Ang GNU linker ld ay sinadya upang masakop ang isang malawak na hanay ng mga sitwasyon, at upang maging kasing tugma
hangga't maaari sa iba pang mga linker. Bilang resulta, marami kang pagpipilian upang kontrolin ito
pag-uugali.

Opsyon


Sinusuportahan ng linker ang isang kalabisan ng mga pagpipilian sa command-line, ngunit sa aktwal na pagsasanay ilan sa mga ito
ay ginagamit sa anumang partikular na konteksto. Halimbawa, ang madalas na paggamit ng ld ay mag-link
karaniwang Unix object file sa isang standard, suportadong Unix system. Sa ganoong sistema, sa
mag-link ng file na "hello.o":

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

Sinasabi nito ld upang makagawa ng isang file na tinatawag na output bilang resulta ng pag-link ng file
"/lib/crt0.o" na may "hello.o" at ang library na "libc.a", na magmumula sa pamantayan
maghanap ng mga direktoryo. (Tingnan ang talakayan ng -l opsyon sa ibaba.)

Ilan sa mga opsyon sa command-line sa ld maaaring tukuyin sa anumang punto sa command line.
Gayunpaman, ang mga opsyon na tumutukoy sa mga file, tulad ng -l or -T, maging sanhi ng pagbabasa ng file sa
punto kung saan lumilitaw ang opsyon sa command line, na nauugnay sa mga object file at
iba pang mga pagpipilian sa file. Ang pag-uulit ng mga opsyon na hindi file na may ibang argumento ay magkakaroon
walang karagdagang epekto, o i-override ang mga naunang pangyayari (yung mga nasa kaliwa pa sa command
linya) ng opsyong iyon. Ang mga opsyon na maaaring makahulugang tinukoy nang higit sa isang beses ay
nabanggit sa mga paglalarawan sa ibaba.

Ang mga argumentong hindi opsyon ay mga object file o archive na iuugnay. sila
maaaring sundin, mauna, o ihalo sa mga opsyon sa command-line, maliban sa isang object file
Ang argumento ay hindi maaaring ilagay sa pagitan ng opsyon at argumento nito.

Karaniwan ang linker ay hinihingi ng hindi bababa sa isang object file, ngunit maaari mong tukuyin ang iba
mga anyo ng binary input file gamit ang -l, -R, at ang script command language. Kung hindi doble
input file sa lahat ay tinukoy, ang linker ay hindi gumagawa ng anumang output, at naglalabas ng
mensahe Hindi input file.

Kung hindi makilala ng linker ang format ng isang object file, ipagpalagay na ito ay a
linker script. Ang isang script na tinukoy sa paraang ito ay nagpapalaki sa pangunahing linker script na ginamit para sa
ang link (alinman sa default linker script o ang tinukoy sa pamamagitan ng paggamit -T). Ito
pinahihintulutan ng tampok ang linker na mag-link laban sa isang file na lumilitaw na isang bagay o isang
archive, ngunit talagang tumutukoy lamang sa ilang mga halaga ng simbolo, o gumagamit ng "INPUT" o "GROUP" upang
mag-load ng iba pang mga bagay. Ang pagtukoy ng script sa ganitong paraan ay nagpapalaki lamang sa pangunahing linker
script, na may mga karagdagang command na inilagay pagkatapos ng pangunahing script; gamitin ang -T opsyon na palitan
ang default na script ng linker nang buo, ngunit tandaan ang epekto ng utos na "INSERT".

Para sa mga opsyon na ang mga pangalan ay iisang titik, dapat sundin ng mga argumento ng opsyon ang
opsyon na sulat nang hindi nakikialam sa whitespace, o ibigay bilang hiwalay na mga argumento
kaagad na sumusunod sa opsyon na nangangailangan ng mga ito.

Para sa mga opsyon na ang mga pangalan ay maraming letra, alinman sa isang gitling o dalawa ay maaaring mauna sa
pangalan ng opsyon; Halimbawa, -bakas-simbolo at --trace-simbolo ay katumbas. Tandaan---doon
ay isang pagbubukod sa panuntunang ito. Maramihang mga pagpipilian sa titik na nagsisimula sa isang maliit na titik na 'o'
maaari lamang unahan ng dalawang gitling. Ito ay upang mabawasan ang kalituhan sa -o opsyon. Kaya
halimbawa -omagic itinatakda ang pangalan ng output file sa salamangka samantalang --omagic nagtatakda ng NMAGIC
bandila sa output.

Ang mga argumento sa maramihang-titik na mga opsyon ay dapat na ihiwalay sa pangalan ng opsyon sa pamamagitan ng isang
katumbas ng tanda, o ibigay bilang hiwalay na mga argumento kaagad kasunod ng opsyon na
nangangailangan ng mga ito. Halimbawa, --trace-simbolo foo at --trace-symbol=foo katumbas.
Ang mga natatanging pagdadaglat ng mga pangalan ng mga opsyon na maramihang titik ay tinatanggap.

Tandaan --- kung ang linker ay ini-invoke nang hindi direkta, sa pamamagitan ng isang compiler driver (hal gcc) pagkatapos
ang lahat ng mga opsyon sa command line ng linker ay dapat na prefix ng -Wl, (o anuman ang nararapat
para sa partikular na driver ng compiler) tulad nito:

gcc -Wl,--start-group foo.o bar.o -Wl,--end-group

Ito ay mahalaga, dahil kung hindi man ang compiler driver program ay maaaring tahimik na i-drop ang
mga opsyon sa linker, na nagreresulta sa isang masamang link. Maaari ring lumitaw ang pagkalito kapag nagpapasa ng mga opsyon
na nangangailangan ng mga halaga sa pamamagitan ng isang driver, bilang ang paggamit ng isang puwang sa pagitan ng opsyon at argumento
gumaganap bilang isang separator, at nagiging sanhi ng driver na ipasa lamang ang opsyon sa linker at sa
argumento sa compiler. Sa kasong ito, ito ay pinakasimpleng gamitin ang pinagsamang mga anyo ng pareho
mga opsyon sa isa at maramihang titik, gaya ng:

gcc foo.o bar.o -Wl,-eENTRY -Wl,-Map=a.map

Narito ang isang talahanayan ng mga generic na command line switch na tinatanggap ng GNU linker:

@file
Basahin ang mga opsyon sa command-line mula sa file. Ang mga opsyon na nabasa ay ipinasok sa lugar ng
orihinal @file pagpipilian Kung file ay hindi umiiral, o hindi mababasa, pagkatapos ay ang opsyon
literal na ituturing, at hindi aalisin.

Mga pagpipilian sa file ay pinaghihiwalay ng whitespace. Maaaring may kasamang whitespace na character
sa isang opsyon sa pamamagitan ng pagpapaligid sa buong opsyon sa alinman sa isa o dobleng panipi. Anuman
character (kabilang ang isang backslash) ay maaaring isama sa pamamagitan ng paglalagay ng prefix sa magiging character
kasama ng backslash. Ang file maaaring maglaman ng karagdagang @file mga pagpipilian; anuman
ang mga ganitong opsyon ay ipoproseso nang paulit-ulit.

-a keyword
Ang opsyong ito ay suportado para sa HP/UX compatibility. Ang keyword argument ay dapat na isa sa
ang mga string archive, Nagbahagi, O default. -aarchive ay functionally katumbas ng
-Bstatic, at ang iba pang dalawang keyword ay gumaganang katumbas ng -Bdynamic. ito
ang opsyon ay maaaring gamitin kahit ilang beses.

--audit AUDITLIB
Nagdadagdag AUDITLIB sa entry na "DT_AUDIT" ng dynamic na seksyon. AUDITLIB ay hindi nasuri
para sa pagkakaroon, at hindi rin nito gagamitin ang DT_SONAME na tinukoy sa library. Kung tinukoy
maraming beses na maglalaman ang "DT_AUDIT" ng isang colon separated na listahan ng mga interface ng audit
gamitin. Kung nakahanap ang linker ng object na may audit entry habang naghahanap ng shared
mga aklatan, magdaragdag ito ng kaukulang "DT_DEPAUDIT" na entry sa output file. Ito
Ang opsyon ay makabuluhan lamang sa mga platform ng ELF na sumusuporta sa interface ng rtld-audit.

-A arkitektura
--arkitektura=arkitektura
Sa kasalukuyang paglabas ng ld, ang pagpipiliang ito ay kapaki-pakinabang lamang para sa Intel 960 na pamilya ng
mga arkitektura. Sa ganyan ld pagsasaayos, ang arkitektura tinutukoy ng argumento ang
partikular na arkitektura sa pamilyang 960, na nagpapagana ng ilang mga pananggalang at pagbabago sa
landas sa paghahanap ng archive-library.

Mga paglabas sa hinaharap ng ld maaaring suportahan ang katulad na pag-andar para sa iba pang arkitektura
mga pamilya.

-b input-format
--format=input-format
ld maaaring i-configure upang suportahan ang higit sa isang uri ng object file. Kung ang iyong ld is
na-configure sa ganitong paraan, maaari mong gamitin ang -b opsyon upang tukuyin ang binary na format para sa input
object file na sumusunod sa opsyong ito sa command line. Kahit na ld ay naka-configure
upang suportahan ang mga alternatibong mga format ng object, karaniwang hindi mo kailangang tukuyin ito, bilang ld
dapat i-configure upang asahan bilang default na format ng pag-input ang pinakakaraniwang format sa bawat isa
machine. input-format ay isang text string, ang pangalan ng isang partikular na format na sinusuportahan ng
ang mga aklatan ng BFD. (Maaari mong ilista ang mga available na binary na format gamit ang objdump -i.)

Maaaring gusto mong gamitin ang opsyong ito kung nagli-link ka ng mga file sa isang hindi pangkaraniwang binary
pormat. Maaari mo ring gamitin -b upang tahasang lumipat ng mga format (kapag nagli-link ng mga object file
ng iba't ibang mga format), sa pamamagitan ng pagsasama -b input-format bago ang bawat pangkat ng mga object file
sa isang partikular na format.

Ang default na format ay kinuha mula sa environment variable na "GNUTARGET".

Maaari mo ring tukuyin ang format ng pag-input mula sa isang script, gamit ang command na "TARGET";

-c MRI-commandfile
--mri-script=MRI-commandfile
Para sa pagiging tugma sa mga linker na ginawa ng MRI, ld tumatanggap ng mga script file na nakasulat sa isang
kahaliling, pinaghihigpitang command language, na inilarawan sa MRI Compatible Script Files
seksyon ng GNU ld dokumentasyon. Ipakilala ang mga file ng script ng MRI na may opsyon -c; gamitin
ang -T opsyon na magpatakbo ng mga script ng linker na nakasulat sa pangkalahatang layunin ld scripting
wika. Kung MRI-cmdfile ay wala, ld hinahanap ito sa tinukoy na mga direktoryo
sa pamamagitan ng anumang -L mga pagpipilian.

-d
-dc
-dp Ang tatlong opsyon na ito ay katumbas; maramihang mga form ay suportado para sa compatibility
kasama ang iba pang mga linker. Nagtatalaga sila ng espasyo sa mga karaniwang simbolo kahit na isang relocatable na output
ang file ay tinukoy (na may -r). Ang script command na "FORCE_COMMON_ALLOCATION" ay mayroong
parehong epekto.

--depaudit AUDITLIB
-P AUDITLIB
Nagdadagdag AUDITLIB sa entry na "DT_DEPAUDIT" ng dynamic na seksyon. AUDITLIB Hindi
sinuri kung may pag-iral, at hindi rin nito gagamitin ang DT_SONAME na tinukoy sa library. Kung
na tinukoy ng maraming beses na "DT_DEPAUDIT" ay maglalaman ng isang colon separated na listahan ng audit
mga interface na gagamitin. Ang pagpipiliang ito ay makabuluhan lamang sa mga platform ng ELF na sumusuporta sa
interface ng rtld-audit. Ang -P na opsyon ay ibinigay para sa Solaris compatibility.

-e pagpasok
--entry=pagpasok
paggamit pagpasok bilang tahasang simbolo para sa pagsisimula ng pagpapatupad ng iyong programa, sa halip na
ang default na entry point. Kung walang simbolo na pinangalanan pagpasok, susubukan ng linker na
parang pagpasok bilang isang numero, at gamitin iyon bilang entry address (ang numero ay magiging
binibigyang kahulugan sa base 10; maaari kang gumamit ng nangunguna 0x para sa base 16, o isang nangungunang 0 para sa base
8).

--exclude-libs lib,lib, ...
Tinutukoy ang isang listahan ng mga archive na aklatan kung saan ang mga simbolo ay hindi dapat awtomatiko
na-export. Ang mga pangalan ng aklatan ay maaaring lagyan ng mga kuwit o tutuldok. Tinutukoy
Ang "--exclude-libs ALL" ay nagbubukod ng mga simbolo sa lahat ng archive library mula sa awtomatikong pag-export.
Available lang ang opsyong ito para sa i386 PE na naka-target na port ng linker at para sa ELF
naka-target na mga port. Para sa i386 PE, ang mga simbolo na tahasang nakalista sa isang .def file ay nananatili pa rin
na-export, anuman ang opsyong ito. Para sa mga port na naka-target sa ELF, ang mga simbolo ay apektado nito
ang opsyon ay ituturing na nakatago.

--exclude-modules-for-implib module,module, ...
Tinutukoy ang isang listahan ng mga object file o mga miyembro ng archive, kung saan ang mga simbolo ay hindi dapat
awtomatikong na-export, ngunit dapat na kopyahin nang pakyawan sa import library
na nabuo sa panahon ng link. Ang mga pangalan ng module ay maaaring i-delimited ng mga kuwit o
colon, at dapat na eksaktong tumugma sa mga filename na ginamit ni ld upang buksan ang mga file; para sa archive
miyembro, ito ay simpleng pangalan ng miyembro, ngunit para sa mga object file ang pangalan na nakalista ay dapat
isama at itugma nang eksakto ang anumang path na ginamit upang tukuyin ang input file sa linker's
command-line. Available lang ang opsyong ito para sa i386 PE na naka-target na port ng
linker. Ang mga simbolo na tahasang nakalista sa isang .def file ay na-export pa rin, anuman ang
pagpipiliang ito.

-E
--export-dynamic
--no-export-dynamic
Kapag lumilikha ng isang dynamic na naka-link na maipapatupad, gamit ang -E opsyon o ang
--export-dynamic Ang opsyon ay nagiging sanhi ng linker upang idagdag ang lahat ng mga simbolo sa dynamic na simbolo
mesa. Ang talahanayan ng dynamic na simbolo ay ang hanay ng mga simbolo na makikita mula sa dynamic
mga bagay sa oras ng pagtakbo.

Kung hindi mo ginagamit ang alinman sa mga opsyong ito (o gamitin ang --no-export-dynamic pagpipilian sa
ibalik ang default na gawi), ang talahanayan ng dynamic na simbolo ay karaniwang naglalaman lamang
ang mga simbolo na iyon na tinutukoy ng ilang dynamic na bagay na binanggit sa link.

Kung gumagamit ka ng "dlopen" upang mag-load ng isang dynamic na bagay na kailangang sumangguni pabalik sa mga simbolo
tinukoy ng programa, sa halip na ilang iba pang pabago-bagong bagay, kung gayon ay malamang
kailangang gamitin ang opsyong ito kapag nili-link ang program mismo.

Maaari mo ring gamitin ang dynamic na listahan upang kontrolin kung anong mga simbolo ang dapat idagdag sa
dynamic na simbolo ng talahanayan kung sinusuportahan ito ng format ng output. Tingnan ang paglalarawan ng
--dynamic-list.

Tandaan na ang opsyong ito ay partikular sa mga port na naka-target sa ELF. Sinusuportahan ng mga target ng PE ang isang katulad
function na i-export ang lahat ng mga simbolo mula sa isang DLL o EXE; tingnan ang paglalarawan ng
--export-all-symbols sa ibaba.

-EB I-link ang mga big-endian na bagay. Nakakaapekto ito sa default na format ng output.

-EL I-link ang maliit na-endian na mga bagay. Nakakaapekto ito sa default na format ng output.

-f pangalan
--auxiliary=pangalan
Kapag gumagawa ng ELF shared object, itakda ang panloob na DT_AUXILIARY na field sa
tinukoy na pangalan. Sinasabi nito sa dynamic na linker na ang simbolo ng talahanayan ng ibinahagi
bagay ay dapat gamitin bilang isang pantulong na filter sa talahanayan ng simbolo ng nakabahaging bagay
pangalan.

Kung magli-link ka sa ibang pagkakataon ng isang programa laban sa filter object na ito, kung gayon, kapag pinatakbo mo ang
program, makikita ng dynamic na linker ang field na DT_AUXILIARY. Kung ang dynamic na linker
niresolba ang anumang mga simbolo mula sa bagay na filter, susuriin muna nito kung mayroong a
kahulugan sa ibinahaging bagay pangalan. Kung mayroon man, ito ang gagamitin sa halip na ang
kahulugan sa filter na bagay. Ang nakabahaging bagay pangalan hindi kailangang umiral. Kaya, ang
nakabahaging bagay pangalan maaaring gamitin upang magbigay ng alternatibong pagpapatupad ng ilang
function, marahil para sa pag-debug o para sa partikular na pagganap ng makina.

Maaaring tukuyin ang opsyong ito nang higit sa isang beses. Ang DT_AUXILIARY na mga entry ay malilikha
sa pagkakasunud-sunod kung saan lumilitaw ang mga ito sa command line.

-F pangalan
--filter=pangalan
Kapag gumagawa ng ELF shared object, itakda ang panloob na DT_FILTER field sa tinukoy
pangalan. Sinasabi nito sa dynamic na linker na ang simbolo ng talahanayan ng nakabahaging bagay na kung saan
ang ginagawa ay dapat gamitin bilang isang filter sa talahanayan ng simbolo ng nakabahaging bagay
pangalan.

Kung magli-link ka sa ibang pagkakataon ng isang programa laban sa filter object na ito, kung gayon, kapag pinatakbo mo ang
program, makikita ng dynamic na linker ang field na DT_FILTER. Ang dynamic na linker ay
lutasin ang mga simbolo ayon sa talahanayan ng simbolo ng filter na bagay gaya ng dati, ngunit ito
ay talagang magli-link sa mga kahulugan na matatagpuan sa nakabahaging bagay pangalan. Kaya, ang
maaaring gamitin ang filter na object upang pumili ng subset ng mga simbolo na ibinigay ng object
pangalan.

Ginamit ng ilang mas lumang linker ang -F opsyon sa kabuuan ng isang compilation toolchain para sa
pagtukoy ng object-file na format para sa parehong input at output object file. Ang GNU linker
gumagamit ng iba pang mekanismo para sa layuning ito: ang -b, --format, --oformat mga pagpipilian, ang
"TARGET" na utos sa linker script, at ang "GNUTARGET" na environment variable. Ang GNU
hindi papansinin ng linker ang -F opsyon kapag hindi gumagawa ng ELF shared object.

-fini=pangalan
Kapag gumagawa ng ELF executable o shared object, tawagan ang NAME kapag ang executable o
ang shared object ay diskargado, sa pamamagitan ng pagtatakda ng DT_FINI sa address ng function. Sa pamamagitan ng
default, ginagamit ng linker ang "_fini" bilang function na tatawagan.

-g Hindi pinansin. Ibinigay para sa pagiging tugma sa iba pang mga tool.

-G halaga
--gpsize=halaga
Itakda ang maximum na laki ng mga bagay na i-optimize gamit ang GP register sa laki. ito
ay makabuluhan lamang para sa mga format ng object file tulad ng MIPS ELF na sumusuporta sa paglalagay ng malaki
at maliliit na bagay sa iba't ibang seksyon. Ito ay hindi pinapansin para sa iba pang object file
format.

-h pangalan
-soname=pangalan
Kapag gumagawa ng ELF shared object, itakda ang panloob na field ng DT_SONAME sa tinukoy
pangalan. Kapag ang isang executable ay naka-link sa isang nakabahaging bagay na mayroong field na DT_SONAME,
pagkatapos kapag ang executable ay tumakbo ang dynamic na linker ay susubukan na i-load ang ibinahagi
bagay na tinukoy ng field ng DT_SONAME kaysa sa paggamit ng pangalan ng file na ibinigay sa
ang linker.

-i Magsagawa ng incremental na link (katulad ng opsyon -r).

-init=pangalan
Kapag gumagawa ng ELF executable o shared object, tawagan ang NAME kapag ang executable o
na-load ang shared object, sa pamamagitan ng pagtatakda ng DT_INIT sa address ng function. Sa pamamagitan ng
default, ginagamit ng linker ang "_init" bilang function na tatawagan.

-l namespec
--library=namespec
Idagdag ang archive o object file na tinukoy ni namespec sa listahan ng mga file na ili-link.
Maaaring gamitin ang opsyong ito kahit ilang beses. Kung namespec ay sa anyo :filename, ld
hahanapin ang path ng library para sa isang file na tinatawag filename, kung hindi, hahanapin nito ang
path ng library para sa isang file na tinatawag libnamespec.a.

Sa mga system na sumusuporta sa mga shared library, ld maaari ring maghanap ng mga file maliban sa
libnamespec.a. Sa partikular, sa mga sistema ng ELF at SunOS, ld ay maghahanap ng isang direktoryo para sa
isang library na tinatawag libnamespec.so bago maghanap ng tinatawag libnamespec.a. (Ni
convention, ang isang ".so" na extension ay nagpapahiwatig ng isang nakabahaging library.) Tandaan na ang gawi na ito
hindi nalalapat sa :filename, na palaging tumutukoy sa isang file na tinatawag filename.

Isang beses lang maghahanap ang linker sa isang archive, sa lokasyon kung saan ito tinukoy
ang command line. Kung ang archive ay tumutukoy sa isang simbolo na hindi natukoy sa ilang bagay
na lumabas bago ang archive sa command line, isasama ng linker ang
naaangkop na (mga) file mula sa archive. Gayunpaman, isang hindi natukoy na simbolo sa isang bagay
ang paglitaw sa ibang pagkakataon sa command line ay hindi magiging sanhi ng linker na maghanap sa archive
muli.

Tingnan ang -( opsyon para sa isang paraan upang pilitin ang linker na maghanap ng mga archive nang maraming beses.

Maaari mong ilista ang parehong archive nang maraming beses sa command line.

Ang ganitong uri ng paghahanap sa archive ay pamantayan para sa mga Unix linker. Gayunpaman, kung ikaw ay
paggamit ld sa AIX, tandaan na ito ay iba sa pag-uugali ng AIX linker.

-L searchdir
--library-path=searchdir
Magdagdag ng landas searchdir sa listahan ng mga landas na ld maghahanap ng archive library at
ld control script. Maaari mong gamitin ang opsyong ito kahit ilang beses. Ang mga direktoryo ay
hinanap sa pagkakasunud-sunod kung saan sila ay tinukoy sa command line. Mga direktoryo
na tinukoy sa command line ay hinanap bago ang mga default na direktoryo. Lahat -L
naaangkop sa lahat ang mga opsyon -l mga opsyon, anuman ang pagkakasunud-sunod kung saan lumitaw ang mga opsyon.
-L ang mga opsyon ay hindi makakaapekto kung paano ld naghahanap ng linker script maliban kung -T Ang opsyon ay
tinukoy.

If searchdir nagsisimula sa "=", pagkatapos ay ang "=" ay papalitan ng sysroot unlapi,
kinokontrol ng --sysroot opsyon, o tinukoy kapag na-configure ang linker.

Ang default na hanay ng mga landas na hinanap (nang hindi tinukoy sa -L) depende kung alin
mode ng pagtulad ld ay ginagamit, at sa ilang mga kaso din kung paano ito na-configure.

Ang mga path ay maaari ding tukuyin sa isang link script na may "SEARCH_DIR" na utos.
Ang mga direktoryo na tinukoy sa ganitong paraan ay hinahanap sa punto kung saan ang linker script
lalabas sa command line.

-m pagtulad
Tularan ang pagtulad linker. Maaari mong ilista ang mga magagamit na emulasyon sa
--verbose or -V mga pagpipilian.

Kung ang -m hindi ginagamit ang opsyon, ang emulation ay kinuha mula sa "LDEMULATION"
variable ng kapaligiran, kung iyon ay tinukoy.

Kung hindi, ang default na emulation ay depende sa kung paano na-configure ang linker.

-M
--print-map
Mag-print ng link na mapa sa karaniwang output. Ang isang link map ay nagbibigay ng impormasyon tungkol sa
link, kasama ang sumusunod:

· Kung saan ang mga object file ay nakamapa sa memorya.

· Paano karaniwang inilalaan ang mga simbolo.

· Lahat ng mga miyembro ng archive na kasama sa link, na may pagbanggit ng simbolo kung saan
naging dahilan ng pagdadala ng miyembro ng archive.

· Ang mga halagang itinalaga sa mga simbolo.

Tandaan - mga simbolo na ang mga halaga ay kinukuwenta ng isang expression na kinabibilangan ng a
reference sa isang dating halaga ng parehong simbolo ay maaaring walang tamang resulta
ipinapakita sa link map. Ito ay dahil itinatapon ng linker ang intermediate
mga resulta at pinapanatili lamang ang panghuling halaga ng isang expression. Sa ilalim ng ganyan
mga pangyayari na ipapakita ng linker ang panghuling halaga na nakapaloob sa mga square bracket.
Kaya halimbawa isang linker script na naglalaman ng:

foo = 1
foo = foo * 4
foo = foo + 8

gagawa ng sumusunod na output sa link map kung ang -M ginagamit ang pagpipilian:

0x00000001 foo = 0x1
[0x0000000c] foo = (foo * 0x4)
[0x0000000c] foo = (foo + 0x8)

Tingnan expression para sa higit pang impormasyon tungkol sa mga expression sa linker script.

-n
--nmagic
I-off ang page alignment ng mga seksyon, at huwag paganahin ang pag-link laban sa mga shared library. Kung
ang output format ay sumusuporta sa Unix style magic number, markahan ang output bilang "NMAGIC".

-N
--omagic
Itakda ang mga seksyon ng teksto at data upang maging nababasa at nasusulat. Gayundin, huwag page-align
ang segment ng data, at huwag paganahin ang pag-link laban sa mga nakabahaging aklatan. Kung ang format ng output
sumusuporta sa Unix style magic number, markahan ang output bilang "OMAGIC". Tandaan: Bagama't a
Ang seksyon ng nakasulat na teksto ay pinapayagan para sa mga target na PE-COFF, hindi ito umaayon sa
detalye ng format na inilathala ng Microsoft.

--walang-omagic
Ang pagpipiliang ito ay nagpapawalang-bisa sa karamihan ng mga epekto ng -N opsyon. Itinatakda nito ang seksyon ng teksto sa
maging read-only, at pinipilit na maging page-align ang segment ng data. Tandaan - ginagawa ng pagpipiliang ito
hindi paganahin ang pag-link laban sa mga nakabahaging aklatan. Gamitin -Bdynamic para dito.

-o output
--output=output
paggamit output bilang pangalan para sa programang ginawa ng ld; kung ang pagpipiliang ito ay hindi
tinukoy, ang pangalan a.labas ay ginagamit bilang default. Maaari din ang script command na "OUTPUT".
tukuyin ang pangalan ng output file.

-O antas
If antas ay isang numeric na halaga na mas malaki sa zero ld ino-optimize ang output. Ito ay maaaring
mas matagal at samakatuwid marahil ay dapat lamang paganahin para sa pangwakas
binary. Sa ngayon, ang pagpipiliang ito ay nakakaapekto lamang sa pagbuo ng ELF shared library. kinabukasan
ang mga release ng linker ay maaaring gumamit ng higit na paggamit sa opsyong ito. Gayundin sa kasalukuyan ay wala
pagkakaiba sa pag-uugali ng linker para sa iba't ibang mga non-zero na halaga ng opsyong ito.
Muli, maaari itong magbago sa mga susunod na release.

--push-estado
Ang --push-estado nagbibigay-daan upang mapanatili ang kasalukuyang kalagayan ng mga watawat na namamahala sa
input file handling upang ang lahat ng ito ay maibalik sa isang katumbas
--pop-state pagpipilian.

Ang opsyon na sakop ay: -Bdynamic, -Bstatic, -dn, -dy, -call_shared,
-non_shared, -static, -N, -n, --buong-archive, --walang-buong-archive, -r, -Ur,
--copy-dt-needed-entry, --no-copy-dt-needed-entry, --kung kinakailangan, --hindi-kung-kailangan,
at -a.

Ang isang target para sa opsyong ito ay mga pagtutukoy para sa pkg-config. Kapag ginamit kasama ng
--libs opsyon lahat ng posibleng kailangan na mga aklatan ay nakalista at pagkatapos ay posibleng naka-link sa
sa lahat ng oras. Mas mainam na ibalik ang isang bagay tulad ng sumusunod:

-Wl,--push-state,--as-kinakailangan -libone -libtwo -Wl,--pop-state

Inaalis ang epekto ng --push-state, nire-restore ang mga dating value ng mga flag na namamahala
paghawak ng input file.

-q
--emit-relocs
Mag-iwan ng mga seksyon at nilalaman ng relokasyon sa ganap na naka-link na mga executable. Mag-post ng link
Maaaring kailanganin ng mga tool sa pagsusuri at pag-optimize ang impormasyong ito upang maisagawa ang tama
mga pagbabago sa mga executable. Nagreresulta ito sa mas malalaking executable.

Ang opsyong ito ay kasalukuyang sinusuportahan lamang sa mga platform ng ELF.

--force-dynamic
Pilitin ang output file na magkaroon ng mga dynamic na seksyon. Ang pagpipiliang ito ay partikular sa VxWorks
Mga target.

-r
--relocatable
Bumuo ng relocatable na output---ibig sabihin, bumuo ng isang output file na maaaring magsilbing
input sa ld. Ito ay madalas na tinatawag may pinapanigan pag-uugnay. Bilang isang side effect, sa mga kapaligiran
na sumusuporta sa mga karaniwang Unix magic number, ang opsyong ito ay nagtatakda din ng output file
magic number sa "OMAGIC". Kung ang pagpipiliang ito ay hindi tinukoy, ang isang ganap na file ay
ginawa. Kapag nagli-link ng mga programang C++, ang pagpipiliang ito habilin hindi lutasin ang mga sanggunian sa
mga konstruktor; para gawin iyon, gamitin -Ur.

Kapag ang isang input file ay walang parehong format tulad ng output file, bahagyang pag-link
ay sinusuportahan lamang kung ang input file na iyon ay walang anumang mga relokasyon. magkaiba
maaaring magkaroon ng karagdagang mga paghihigpit ang mga format ng output; halimbawa ilang "a.out"-based na mga format
hindi sumusuporta sa bahagyang pag-link sa mga input file sa iba pang mga format sa lahat.

Ginagawa ng pagpipiliang ito ang parehong bagay bilang -i.

-R filename
--just-symbols=filename
Basahin ang mga pangalan ng simbolo at ang kanilang mga address mula sa filename, ngunit huwag itong ilipat o isama
ito sa output. Binibigyang-daan nito ang iyong output file na sumangguni sa simboliko sa ganap
mga lokasyon ng memorya na tinukoy sa ibang mga programa. Maaari mong gamitin ang opsyong ito nang higit sa
isang beses.

Para sa pagiging tugma sa iba pang mga linker ng ELF, kung ang -R ang opsyon ay sinusundan ng isang direktoryo
pangalan, sa halip na isang pangalan ng file, ito ay itinuturing bilang ang -rpath pagpipilian.

-s
--strip-lahat
Alisin ang lahat ng impormasyon ng simbolo mula sa output file.

-S
--strip-debug
Alisin ang impormasyon ng simbolo ng debugger (ngunit hindi lahat ng simbolo) mula sa output file.

-t
--bakas
I-print ang mga pangalan ng mga input file bilang ld pinoproseso ang mga ito.

-T scriptfile
--script=scriptfile
paggamit scriptfile bilang linker script. Pinapalitan ang script na ito lddefault linker script ni
(sa halip na magdagdag dito), kaya commandfile dapat tukuyin ang lahat ng kailangan
ilarawan ang output file. Kung scriptfile ay wala sa kasalukuyang direktoryo,
Hinahanap ito ng "ld" sa mga direktoryo na tinukoy ng alinmang nauna -L mga pagpipilian. Maramihan
-T maipon ang mga opsyon.

-dT scriptfile
--default-script=scriptfile
paggamit scriptfile bilang default na linker script.

Ang pagpipiliang ito ay katulad ng --script opsyon maliban sa pagpoproseso ng script ay
naantala hanggang matapos maproseso ang natitirang command line. Ito ay nagpapahintulot
mga opsyon na inilagay pagkatapos ng --default-script opsyon sa command line upang maapektuhan ang
pag-uugali ng linker script, na maaaring maging mahalaga kapag ang linker command line
hindi direktang makokontrol ng user. (hal dahil ang command line ay being
ginawa ng isa pang tool, tulad ng gcc).

-u simbolo
--undefined=simbolo
Pilitin simbolo na maipasok sa output file bilang isang hindi natukoy na simbolo. Ang paggawa nito ay maaaring,
halimbawa, trigger linking ng mga karagdagang module mula sa karaniwang mga library. -u maaaring hindi
paulit-ulit na may iba't ibang mga argumento ng opsyon upang magpasok ng mga karagdagang hindi natukoy na simbolo. Ito
ang opsyon ay katumbas ng "EXTERN" linker script command.

Kung ang opsyong ito ay ginagamit upang pilitin ang mga karagdagang module na mahila sa link,
at kung ito ay isang error para sa simbolo upang manatiling hindi natukoy, pagkatapos ay ang opsyon
--require-defined sa halip ay dapat gamitin.

--require-defined=simbolo
Require yan simbolo ay tinukoy sa output file. Ang pagpipiliang ito ay kapareho ng opsyon
--hindi natukoy maliban na kung simbolo ay hindi tinukoy sa output file pagkatapos ay ang linker
maglalabas ng error at lalabas. Ang parehong epekto ay maaaring makamit sa isang linker script sa pamamagitan ng
gamit ang "EXTERN", "ASSERT" at "DEFINED" nang magkasama. Ang pagpipiliang ito ay maaaring gamitin nang maramihan
beses na nangangailangan ng karagdagang mga simbolo.

-Ur Para sa anumang bagay maliban sa mga programang C++, ang pagpipiliang ito ay katumbas ng -r: ito ay bumubuo
relocatable na output---ibig sabihin, isang output file na maaari namang magsilbi bilang input sa ld. Kailan
pag-uugnay ng mga programang C++, -Ur ang lutasin ang mga sanggunian sa mga konstruktor, hindi katulad -r. ginagawa nito
hindi gumagana para gamitin -Ur sa mga file na mismong naka-link -Ur; sabay ang
constructor table ay binuo, hindi ito maaaring idagdag sa. Gamitin -Ur para lamang sa huli
bahagyang link, at -r para sa iba.

--ulila-paghawak=MODE
Kontrolin kung paano pinangangasiwaan ang mga orphan section. Ang isang orphan section ay isa na hindi partikular
nabanggit sa isang linker script.

MODE maaaring magkaroon ng alinman sa mga sumusunod na halaga:

"lugar"
Ang mga orphan section ay inilalagay sa isang angkop na output section kasunod ng diskarte
inilarawan sa Ulila Seksyon. Ang pagpipilian --natatangi epekto din kung paano ang mga seksyon
inilagay.

"i-discard"
Ang lahat ng mga orphan section ay itinatapon, sa pamamagitan ng paglalagay sa kanila sa /DISCARD/ seksyon.

"balaan"
Ilalagay ng linker ang orphan section para sa "lugar" at magbibigay din ng babala.

"error"
Lalabas ang linker nang may error kung may makikitang orphan section.

Ang default kung --ulila-paghawak ay hindi ibinigay ay "lugar".

--natatangi[=SEKSYON]
Lumilikha ng isang hiwalay na seksyon ng output para sa bawat pagtutugma ng seksyon ng input SEKSYON, o kung ang
opsyonal na wildcard SEKSYON Nawawala ang argumento, para sa bawat seksyon ng pag-input ng ulila. An
Ang orphan section ay isa na hindi partikular na binanggit sa isang linker script. Maaari mong gamitin ito
opsyon nang maraming beses sa command line; Pinipigilan nito ang normal na pagsasama ng input
mga seksyon na may parehong pangalan, na nag-o-override sa mga pagtatalaga ng seksyon ng output sa isang script ng linker.

-v
--bersyon
-V Ipakita ang numero ng bersyon para sa ld. ang -V Inililista din ng opsyon ang mga sinusuportahang emulasyon.

-x
--i-discard-lahat
Tanggalin ang lahat ng lokal na simbolo.

-X
--discard-locals
Tanggalin ang lahat ng pansamantalang lokal na simbolo. (Ang mga simbolo na ito ay nagsisimula sa lokal na partikular sa system
mga prefix ng label, karaniwan .L para sa mga sistema ng ELF o L para sa tradisyonal na a.out system.)

-y simbolo
--trace-symbol=simbolo
I-print ang pangalan ng bawat naka-link na file kung saan simbolo lilitaw. Maaaring ibigay ang opsyong ito
anumang bilang ng beses. Sa maraming mga sistema kinakailangan na maghanda ng isang salungguhit.

Kapaki-pakinabang ang opsyong ito kapag mayroon kang hindi natukoy na simbolo sa iyong link ngunit hindi mo alam
kung saan nanggagaling ang sanggunian.

-Y landas
Idagdag landas sa default na landas sa paghahanap ng library. Ang opsyon na ito ay umiiral para sa Solaris
compatibility.

-z keyword
Ang mga kinikilalang keyword ay:

combreloc
Pinagsasama-sama ang maraming reloc na seksyon at pinag-uuri-uri ang mga ito upang gumawa ng dynamic na paghahanap ng simbolo
posible ang pag-cache.

defs
Hindi pinapayagan ang mga hindi natukoy na simbolo sa mga object file. Mga hindi natukoy na simbolo sa ibinahagi
pinapayagan pa rin ang mga aklatan.

execstack
Minamarkahan ang object bilang nangangailangan ng executable stack.

global
Ang pagpipiliang ito ay makabuluhan lamang kapag bumubuo ng isang nakabahaging bagay. Ginagawa nito ang
mga simbolo na tinukoy ng nakabahaging bagay na ito na magagamit para sa resolusyon ng simbolo ng
kasunod na nag-load ng mga aklatan.

init muna
Ang pagpipiliang ito ay makabuluhan lamang kapag bumubuo ng isang nakabahaging bagay. Minarkahan nito ang bagay
upang ang runtime initialization nito ay magaganap bago ang runtime initialization ng
anumang iba pang mga bagay na dinala sa proseso sa parehong oras. Katulad din ang
Ang runtime finalization ng object ay magaganap pagkatapos ng runtime finalization ng
anumang iba pang mga bagay.

interpose
Minarkahan ang bagay na inilalagay ng talahanayan ng simbolo nito bago ang lahat ng mga simbolo maliban sa
pangunahing maipapatupad.

tamad
Kapag bumubuo ng isang executable o shared library, markahan ito upang sabihin ang dynamic
linker upang ipagpaliban ang resolution ng tawag sa function sa punto kung kailan tinawag ang function
(tamad na pagbubuklod), sa halip na sa oras ng pagkarga. Lazy binding ang default.

loadfltr
Minamarkahan ang bagay na ang mga filter nito ay mapoproseso kaagad sa runtime.

mga muldef
Nagbibigay-daan sa maramihang mga kahulugan.

nocombreloc
Hindi pinapagana ang pagsasama-sama ng maraming reloc na seksyon.

nocopyreloc
I-disable ang nabuong linker na .dynbss na mga variable na ginagamit bilang kapalit ng mga variable na tinukoy sa
mga shared library. Maaaring magresulta sa mga dynamic na paglipat ng teksto.

nodefaultlib
Minarkahan ang bagay na ang paghahanap para sa mga dependency ng bagay na ito ay hindi babalewalain ang anuman
default na mga landas sa paghahanap ng library.

nodelete
Markahan ang object na hindi dapat i-unload sa runtime.

nodlopen
Minarkahan ang bagay na hindi magagamit sa "dlopen".

nodump
Markahan ang bagay na hindi maaaring itapon ng "dldump".

noexecstack
Minamarkahan ang object bilang hindi nangangailangan ng executable stack.

teksto
Tratuhin ang DT_TEXTREL sa nakabahaging bagay bilang error.

walang text
Huwag ituring ang DT_TEXTREL sa shared object bilang error.

textoff
Huwag ituring ang DT_TEXTREL sa shared object bilang error.

norelro
Huwag gumawa ng ELF "PT_GNU_RELRO" na header ng segment sa object.

ngayon Kapag bumubuo ng isang executable o shared library, markahan ito upang sabihin ang dynamic
linker upang lutasin ang lahat ng mga simbolo kapag nagsimula ang programa, o kapag ibinahagi
naka-link ang library sa paggamit ng dlopen, sa halip na ipagpaliban ang resolution ng function na tawag
hanggang sa punto kung kailan unang tinawag ang function.

pinagmulan
Markahan ang bagay na maaaring maglaman ng $ORIGIN.

relro
Gumawa ng ELF "PT_GNU_RELRO" na header ng segment sa object.

max-page-size=halaga
Itakda ang maximum na laki ng page ng emulation sa halaga.

common-page-size=halaga
Itakda ang karaniwang laki ng page ng emulation sa halaga.

laki ng stack=halaga
Tumukoy ng laki ng stack para sa isang ELF na "PT_GNU_STACK" na segment. Pagtukoy ng zero will
i-override ang anumang default na non-zero sized na paggawa ng segment na "PT_GNU_STACK".

bndplt
Palaging bumuo ng BND prefix sa mga entry ng PLT. Sinusuportahan para sa Linux/x86_64.

noextern-protected-data
Huwag ituring ang protektadong simbolo ng data bilang panlabas kapag gumagawa ng nakabahaging library. Ito
Ino-override ng opsyon ang default na backend ng linker. Maaari itong magamit upang malutas ang hindi tama
mga relocation laban sa mga protektadong simbolo ng data na nabuo ng compiler. Mga update sa
ang mga protektadong simbolo ng data ng isa pang module ay hindi nakikita ng resultang ibinahagi
aklatan. Sinusuportahan para sa i386 at x86-64.

call-nop=prefix-addr
call-nop=prefix-nop
call-nop=suffix-nop
call-nop=prefix-byte
call-nop=suffix-byte
Tukuyin ang 1-byte na "NOP" padding kapag binago ang hindi direktang tawag sa isang lokal
tinukoy na function, foo, sa pamamagitan ng GOT slot nito. call-nop=prefix-addr bumubuo ng "0x67
tawagan mo si foo". call-nop=prefix-nop bumubuo ng "0x90 call foo". call-nop=suffix-nop
bumubuo ng "call foo 0x90". call-nop=prefix-byte bumubuo ng "byte tawag foo".
call-nop=suffix-byte bumubuo ng "call foo byte". Sinusuportahan para sa i386 at x86_64.

Binabalewala ang ibang mga keyword para sa pagiging tugma ng Solaris.

-( arkibos -)
--simulang-grupo arkibos --end-group
Ang arkibos dapat ay isang listahan ng mga archive file. Maaaring ang mga ito ay alinman sa tahasang file
mga pangalan, o -l mga pagpipilian.

Ang mga tinukoy na archive ay paulit-ulit na hinahanap hanggang sa walang bagong hindi natukoy na mga sanggunian
nilikha. Karaniwan, ang isang archive ay hinanap nang isang beses lamang sa pagkakasunud-sunod na ito ay tinukoy
sa command line. Kung ang isang simbolo sa archive na iyon ay kailangan upang malutas ang isang hindi natukoy
simbolo na tinutukoy ng isang bagay sa isang archive na lilitaw sa ibang pagkakataon sa command line,
hindi malulutas ng linker ang reference na iyon. Sa pamamagitan ng pagpapangkat ng mga archive,
lahat sila ay paulit-ulit na hinahanap hanggang sa lahat ng posibleng mga sanggunian ay nalutas.

Ang paggamit sa opsyong ito ay may malaking gastos sa pagganap. Pinakamabuting gamitin lamang ito kapag
may mga hindi maiiwasang circular reference sa pagitan ng dalawa o higit pang archive.

--accept-unknown-input-arch
--no-accept-unknown-input-arch
Sinasabi sa linker na tanggapin ang mga input file na hindi makikilala ang arkitektura. Ang
ang pagpapalagay ay alam ng user kung ano ang kanilang ginagawa at sadyang gustong mag-link
sa mga hindi kilalang input file na ito. Ito ang default na gawi ng linker, dati
release 2.14. Ang default na gawi mula sa release 2.14 pataas ay ang pagtanggi sa naturang input
mga file, at iba pa ang --accept-unknown-input-arch Ang opsyon ay naidagdag upang maibalik ang luma
pag-uugali.

--kung kinakailangan
--hindi-kung-kailangan
Nakakaapekto ang opsyong ito sa mga tag na ELF DT_NEEDED para sa mga dynamic na library na binanggit sa command
linya pagkatapos ng --kung kinakailangan opsyon. Karaniwan ang linker ay magdaragdag ng DT_NEEDED na tag para sa
bawat dynamic na library na binanggit sa command line, hindi alintana kung ang library
kailangan ba talaga o hindi. --kung kinakailangan nagiging sanhi ng isang DT_NEEDED na tag na ilalabas lamang para sa
isang library na at na punto in ang link nakakatugon sa isang hindi mahinang hindi natukoy na simbolo
reference mula sa isang regular na object file o, kung ang library ay hindi matatagpuan sa DT_NEEDED
mga listahan ng iba pang kinakailangang aklatan, isang hindi mahinang hindi natukoy na sanggunian ng simbolo mula sa iba
kailangan ng dynamic na library. Mga Object file o library na lumalabas sa command line pagkatapos
ang library na pinag-uusapan ay hindi makakaapekto kung ang library ay nakikita kung kinakailangan. Ito ay
katulad ng mga panuntunan para sa pagkuha ng mga object file mula sa mga archive. --hindi-kung-kailangan
nire-restore ang default na gawi.

--idagdag-kailangan
--no-add-needed
Ang dalawang opsyon na ito ay hindi na ginagamit dahil sa pagkakapareho ng kanilang mga pangalan sa
--kung kinakailangan at --hindi-kung-kailangan mga pagpipilian. Sila ay pinalitan ng
--copy-dt-needed-entry at --no-copy-dt-needed-entry.

- igiit keyword
Binabalewala ang opsyong ito para sa pagiging tugma ng SunOS.

-Bdynamic
-dy
-call_shared
Link laban sa mga dynamic na aklatan. Ito ay makabuluhan lamang sa mga platform kung saan ibinahagi
sinusuportahan ang mga aklatan. Ang opsyong ito ay karaniwang ang default sa naturang mga platform. Ang
iba't ibang variant ng opsyong ito ay para sa compatibility sa iba't ibang system. Maaari mong
gamitin ang opsyong ito nang maraming beses sa command line: nakakaapekto ito sa paghahanap ng library
-l mga opsyon na sumusunod dito.

-Bgroup
Itakda ang flag na "DF_1_GROUP" sa entry na "DT_FLAGS_1" sa dynamic na seksyon. Ito
nagiging sanhi ng runtime linker na pangasiwaan ang mga paghahanap sa bagay na ito at ang mga dependency nito
isinagawa lamang sa loob ng grupo. --unresolved-symbols=report-all ay ipinahiwatig. Ito
Ang opsyon ay makabuluhan lamang sa mga platform ng ELF na sumusuporta sa mga shared library.

-Bstatic
-dn
-non_shared
-static
Huwag mag-link laban sa mga nakabahaging aklatan. Ito ay makabuluhan lamang sa mga platform kung saan
sinusuportahan ang mga shared library. Ang iba't ibang variant ng opsyong ito ay para sa
pagiging tugma sa iba't ibang mga sistema. Maaari mong gamitin ang opsyong ito nang maraming beses sa
command line: nakakaapekto ito sa paghahanap ng library -l mga opsyon na sumusunod dito. Ito
ang opsyon ay nagpapahiwatig din --unresolved-symbols=report-all. Ang pagpipiliang ito ay maaaring gamitin sa
-ibinahagi. Ang paggawa nito ay nangangahulugan na ang isang nakabahaging aklatan ay ginagawa ngunit ang lahat ng
Ang mga panlabas na sanggunian ng library ay dapat malutas sa pamamagitan ng pagkuha ng mga entry mula sa static
mga aklatan.

-Simboliko
Kapag gumagawa ng shared library, itali ang mga reference sa mga global na simbolo sa kahulugan
sa loob ng shared library, kung mayroon man. Karaniwan, posible para sa isang program na naka-link
laban sa isang shared library upang i-override ang kahulugan sa loob ng shared library. Ito
ang opsyon ay maaari ding gamitin sa --export-dynamic opsyon, kapag lumilikha ng isang posisyon
independiyenteng maipapatupad, upang itali ang mga sanggunian sa mga pandaigdigang simbolo sa kahulugan sa loob
ang maipapatupad. Ang pagpipiliang ito ay makabuluhan lamang sa mga platform ng ELF na sumusuporta sa ibinahagi
mga aklatan at independiyenteng mga executable sa posisyon.

-Bsymbolic-function
Kapag gumagawa ng shared library, itali ang mga reference sa mga simbolo ng global function sa
kahulugan sa loob ng shared library, kung mayroon man. Ang pagpipiliang ito ay maaari ding gamitin sa
--export-dynamic opsyon, kapag lumilikha ng isang posisyon na independiyenteng maipapatupad, upang magbigkis
mga sanggunian sa mga simbolo ng global function sa kahulugan sa loob ng executable. Ito
Ang opsyon ay makabuluhan lamang sa mga platform ng ELF na sumusuporta sa mga shared library at posisyon
mga independiyenteng executable.

--dynamic-list=dynamic-list-file
Tukuyin ang pangalan ng isang dynamic na file ng listahan sa linker. Ito ay karaniwang ginagamit kapag
paglikha ng mga nakabahaging aklatan upang tukuyin ang isang listahan ng mga pandaigdigang simbolo na ang mga sanggunian
hindi dapat nakatali sa kahulugan sa loob ng shared library, o paggawa
dynamic na naka-link na mga executable upang tukuyin ang isang listahan ng mga simbolo na dapat idagdag sa
ang talahanayan ng simbolo sa executable. Ang pagpipiliang ito ay makabuluhan lamang sa mga platform ng ELF
na sumusuporta sa mga shared library.

Ang format ng dynamic na listahan ay kapareho ng bersyon node na walang saklaw at node
pangalan. Tingnan mo VERSION para sa karagdagang impormasyon.

--dynamic-list-data
Isama ang lahat ng simbolo ng global data sa dynamic na listahan.

--dynamic-list-cpp-new
Ibigay ang builtin na dynamic na listahan para sa C++ operator bago at tanggalin. Ito ay pangunahing kapaki-pakinabang
para sa pagbuo ng shared libstdc++.

--dynamic-list-cpp-typeinfo
Ibigay ang builtin na dynamic na listahan para sa C++ runtime type identification.

--check-seksyon
--no-check-sections
Tanong ng linker hindi upang suriin ang mga address ng seksyon pagkatapos na maitalaga ang mga ito upang makita kung
mayroong anumang magkakapatong. Karaniwang gagawin ng linker ang pagsusuring ito, at kung mahahanap nito
anumang magkakapatong ay magbubunga ito ng angkop na mga mensahe ng error. Alam ng linker ang tungkol sa, at
ay gumagawa ng mga allowance para sa mga seksyon sa mga overlay. Maaaring maibalik ang default na gawi
gamit ang command line switch --check-seksyon. Hindi karaniwan ang overlap ng seksyon
nagsuri para sa mga link na maaaring ilipat. Maaari mong pilitin ang pagsuri sa kasong iyon sa pamamagitan ng paggamit ng
--check-seksyon pagpipilian.

--copy-dt-needed-entry
--no-copy-dt-needed-entry
Naaapektuhan ng opsyong ito ang paggamot sa mga dynamic na library na tinutukoy ng mga DT_NEEDED na tag
loob ELF dynamic na mga aklatan na binanggit sa command line. Karaniwan ang linker ay hindi
magdagdag ng DT_NEEDED tag sa output binary para sa bawat library na binanggit sa isang DT_NEEDED tag
sa isang input dynamic na library. Sa --copy-dt-needed-entry tinukoy sa utos
gayunpaman, anumang mga dynamic na aklatan na sumusunod dito ay magkakaroon ng kanilang DT_NEEDED na mga entry
idinagdag. Maaaring maibalik ang default na gawi gamit ang --no-copy-dt-needed-entry.

May epekto din ang opsyong ito sa paglutas ng mga simbolo sa mga dynamic na aklatan.
may --copy-dt-needed-entry dynamic na mga aklatan na binanggit sa command line ay
paulit-ulit na hinanap, kasunod ng kanilang DT_NEEDED na mga tag sa iba pang mga aklatan, upang
lutasin ang mga simbolo na kailangan ng output binary. Gamit ang default na setting gayunpaman ang
ang paghahanap ng mga dynamic na aklatan na sumusunod dito ay titigil sa dynamic na aklatan
mismo. Walang DT_NEEDED link ang dadaanan upang malutas ang mga simbolo.

--cref
Mag-output ng cross reference table. Kung ang isang linker map file ay nabuo, ang cross
Ang reference table ay naka-print sa file ng mapa. Kung hindi, ito ay nakalimbag sa pamantayan
output.

Ang format ng talahanayan ay sadyang simple, upang madali itong maproseso ng
isang script kung kinakailangan. Ang mga simbolo ay naka-print out, pinagsunod-sunod ayon sa pangalan. Para sa bawat simbolo,
isang listahan ng mga pangalan ng file ay ibinigay. Kung tinukoy ang simbolo, ang unang nakalistang file ay ang
lokasyon ng kahulugan. Kung ang simbolo ay tinukoy bilang isang karaniwang halaga kung gayon ang anumang mga file
kung saan ito mangyayari ay lilitaw sa susunod. Panghuli ang anumang mga file na tumutukoy sa simbolo ay
nakalista.

--no-define-common
Pinipigilan ng opsyong ito ang pagtatalaga ng mga address sa mga karaniwang simbolo. Ang script
Ang command na "INHIBIT_COMMON_ALLOCATION" ay may parehong epekto.

Ang --no-define-common pinapayagan ng opsyon na i-decoupling ang desisyon na magtalaga ng mga address sa
Mga karaniwang simbolo mula sa pagpili ng uri ng output file; kung hindi man ay isang hindi-Relocatable
uri ng output pwersa na nagtatalaga ng mga address sa Karaniwang mga simbolo. Gamit --no-define-common
nagbibigay-daan sa mga Karaniwang simbolo na isinangguni mula sa isang nakabahaging aklatan na maitalaga
mga address lamang sa pangunahing programa. Inaalis nito ang hindi nagamit na duplicate na espasyo sa
shared library, at pinipigilan din ang anumang posibleng pagkalito sa paglutas sa mali
duplicate kapag mayroong maraming mga dynamic na module na may espesyal na mga landas sa paghahanap para sa
resolution ng simbolo ng runtime.

--defsym=simbolo=pagpapahayag
Lumikha ng isang pandaigdigang simbolo sa output file, na naglalaman ng ganap na address na ibinigay ni
pagpapahayag. Maaari mong gamitin ang opsyong ito nang maraming beses hangga't kinakailangan upang tukuyin ang maramihan
mga simbolo sa command line. Isang limitadong anyo ng arithmetic ang sinusuportahan para sa
pagpapahayag sa kontekstong ito: maaari kang magbigay ng hexadecimal constant o ang pangalan ng an
umiiral na simbolo, o gamitin ang "+" at "-" upang magdagdag o magbawas ng hexadecimal constants o
mga simbolo. Kung kailangan mo ng mas detalyadong mga expression, isaalang-alang ang paggamit ng linker command
wika mula sa isang script. tandaan: dapat walang puting espasyo sa pagitan simbolo, ang
katumbas ng tanda ("="), at pagpapahayag.

--demangle[=estilo]
--walang-demangle
Kinokontrol ng mga opsyong ito kung i-demangle ang mga pangalan ng simbolo sa mga mensahe ng error at iba pa
output. Kapag sinabihan ang linker na mag-demangle, sinusubukan nitong ipakita ang mga pangalan ng simbolo sa a
nababasang fashion: tinatanggal nito ang mga nangungunang underscore kung ginagamit ang mga ito ng object file
format, at kino-convert ang C++ na sira-sira na mga pangalan ng simbolo sa mga nababasang pangalan ng user. magkaiba
Ang mga compiler ay may iba't ibang estilo ng mangling. Ang opsyonal na demangling style argument ay maaari
gamitin para pumili ng angkop na istilo ng demangling para sa iyong compiler. Ang linker ay
demangle bilang default maliban kung ang environment variable COLLECT_NO_DEMANGLE ay nakatakda. Ang mga ito
maaaring gamitin ang mga opsyon para i-override ang default.

-Ifile
--dynamic-linker=file
Itakda ang pangalan ng dynamic na linker. Ito ay makabuluhan lamang kapag bumubuo
dynamic na naka-link na mga executable ng ELF. Ang default na dynamic na linker ay karaniwang tama;
huwag gamitin ito maliban kung alam mo kung ano ang iyong ginagawa.

--walang-dynamic-linker
Kapag gumagawa ng executable file, alisin ang kahilingan para sa isang dynamic na linker na gagamitin sa
oras ng pagkarga. Ito ay makabuluhan lamang para sa mga executable ng ELF na naglalaman ng dynamic
mga relokasyon, at karaniwang nangangailangan ng entry point code na kayang iproseso ang mga ito
mga relokasyon.

--fatal-babala
--walang-fatal-babala
Tratuhin ang lahat ng mga babala bilang mga pagkakamali. Maaaring maibalik ang default na gawi gamit ang opsyon
--walang-fatal-babala.

--force-exe-suffix
Tiyaking may .exe suffix ang isang output file.

Kung ang isang matagumpay na binuo na ganap na naka-link na output file ay walang ".exe" o ".dll"
suffix, pinipilit ng opsyong ito ang linker na kopyahin ang output file sa isa sa parehong pangalan
na may ".exe" na suffix. Ang pagpipiliang ito ay kapaki-pakinabang kapag gumagamit ng hindi binagong Unix makefiles sa isang
Microsoft Windows host, dahil ang ilang bersyon ng Windows ay hindi magpapatakbo ng larawan maliban kung ito
nagtatapos sa isang ".exe" na suffix.

--gc-sections
--no-gc-sections
Paganahin ang koleksyon ng basura ng mga hindi nagamit na seksyon ng input. Ito ay hindi pinapansin sa mga target na ginagawa
hindi sinusuportahan ang opsyong ito. Ang default na pag-uugali (ng hindi pagsasagawa ng basurang ito
koleksyon) ay maaaring maibalik sa pamamagitan ng pagtukoy --no-gc-sections sa command line. Tandaan
na ang koleksyon ng basura para sa mga target na COFF at PE format ay sinusuportahan, ngunit ang
ang pagpapatupad ay kasalukuyang itinuturing na pang-eksperimento.

--gc-sections nagpapasya kung aling mga seksyon ng input ang ginagamit sa pamamagitan ng pagsusuri sa mga simbolo at
mga relokasyon. Ang seksyon na naglalaman ng simbolo ng entry at lahat ng mga seksyon na naglalaman
ang mga simbolo na hindi natukoy sa command-line ay pananatilihin, gayundin ang mga seksyong naglalaman
mga simbolo na isinangguni ng mga dynamic na bagay. Tandaan na kapag nagtatayo ng mga shared library, ang
dapat ipagpalagay ng linker na ang anumang nakikitang simbolo ay isinangguni. Kapag ang unang set na ito ng
natukoy na ang mga seksyon, ang linker ay muling minarkahan bilang ginamit sa anumang seksyon
tinutukoy ng kanilang mga relokasyon. Tingnan mo --pagpasok at --hindi natukoy.

Maaaring itakda ang opsyong ito kapag gumagawa ng bahagyang link (naka-enable na may opsyon -r). Dito sa
kaso ang ugat ng mga simbolo na itinatago ay dapat na tahasang tinukoy alinman sa pamamagitan ng isang --pagpasok or
--hindi natukoy opsyon o sa pamamagitan ng isang command na "ENTRY" sa script ng linker.

--print-gc-sections
--no-print-gc-sections
Ilista ang lahat ng seksyong inalis ng koleksyon ng basura. Ang listahan ay naka-print sa stderr.
Ang pagpipiliang ito ay epektibo lamang kung ang koleksyon ng basura ay pinagana sa pamamagitan ng
--gc-sections) opsyon. Ang default na pag-uugali (ng hindi paglilista ng mga seksyon na
inalis) ay maaaring maibalik sa pamamagitan ng pagtukoy --no-print-gc-sections sa command line.

--print-output-format
I-print ang pangalan ng default na format ng output (marahil naiimpluwensyahan ng ibang command-line
mga pagpipilian). Ito ang string na lalabas sa isang script ng linker na "OUTPUT_FORMAT".
utos.

--print-memory-usage
I-print ang ginamit na sukat, kabuuang sukat at ginamit na sukat ng mga rehiyon ng memorya na nilikha gamit ang ALAALA
utos. Ito ay kapaki-pakinabang sa mga naka-embed na target upang magkaroon ng mabilis na pagtingin sa halaga ng libre
alaala. Ang format ng output ay may isang headline at isang linya bawat rehiyon. Ito ay
parehong nababasa ng tao at madaling naisa-isa ng mga kasangkapan. Narito ang isang halimbawa ng isang output:

Rehiyon ng memorya na Ginamit Sukat ng Rehiyon Sukat %age na Nagamit
ROM: 256 KB 1 MB 25.00%
RAM: 32 B 2 GB 0.00%

- Tumulong
Mag-print ng buod ng mga opsyon sa command-line sa karaniwang output at exit.

--target-tulong
Mag-print ng buod ng lahat ng target na partikular na opsyon sa karaniwang output at exit.

-Mapa=mapfile
Mag-print ng link na mapa sa file mapfile. Tingnan ang paglalarawan ng -M opsyon, sa itaas.

--walang-ingatang-alaala
ld karaniwang nag-o-optimize para sa bilis sa paggamit ng memory sa pamamagitan ng pag-cache sa mga talahanayan ng simbolo ng
input ng mga file sa memorya. Ang pagpipiliang ito ay nagsasabi ld sa halip ay mag-optimize para sa paggamit ng memorya, sa pamamagitan ng
muling binabasa ang mga talahanayan ng simbolo kung kinakailangan. Maaaring kailanganin ito kung ld naubusan ng
memory space habang nagli-link ng malaking executable.

--no-undefined
-z defs
Mag-ulat ng hindi nalutas na mga sanggunian ng simbolo mula sa mga regular na object file. Ginagawa ito kahit na
ang linker ay lumilikha ng isang hindi simbolikong nakabahaging aklatan. Ang switch
--[no-]allow-shlib-undefined kinokontrol ang pag-uugali para sa pag-uulat na hindi nalutas
mga sanggunian na matatagpuan sa mga shared library na naka-link.

--allow-multiple-definition
-z mga muldef
Karaniwan kapag ang isang simbolo ay tinukoy ng maraming beses, ang linker ay mag-uulat ng isang nakamamatay
pagkakamali. Ang mga opsyon na ito ay nagbibigay-daan sa maramihang mga kahulugan at ang unang kahulugan ay gagamitin.

--allow-shlib-undefined
--no-allow-shlib-undefined
Pinapayagan o hindi pinapayagan ang mga hindi natukoy na simbolo sa mga shared library. Ang switch na ito ay katulad ng
--no-undefined maliban na tinutukoy nito ang pag-uugali kapag ang mga hindi natukoy na simbolo ay
sa isang shared library sa halip na isang regular na object file. Hindi ito nakakaapekto kung paano
ang mga hindi natukoy na simbolo sa mga regular na object file ay pinangangasiwaan.

Ang default na gawi ay mag-ulat ng mga error para sa anumang hindi natukoy na mga simbolo na naka-reference
shared library kung ang linker ay ginagamit upang lumikha ng isang executable, ngunit upang payagan
kanila kung ang linker ay ginagamit upang lumikha ng isang shared library.

Ang mga dahilan sa pagpayag sa mga hindi natukoy na sanggunian ng simbolo sa mga shared library na tinukoy sa
ang oras ng link ay iyon:

· Ang isang nakabahaging aklatan na tinukoy sa oras ng pag-link ay maaaring hindi pareho sa isa na iyon
available sa oras ng pagkarga, kaya maaaring talagang malulutas ang simbolo sa oras ng pagkarga.

· Mayroong ilang mga operating system, hal. BeOS at HPPA, kung saan nakalagay ang mga hindi natukoy na simbolo
Ang mga shared library ay normal.

Ang BeOS kernel halimbawa ay nag-patch ng mga shared library sa oras ng pag-load upang pumili
alinmang function ang pinakaangkop para sa kasalukuyang arkitektura. Ito ay
ginamit, halimbawa, upang dynamic na pumili ng naaangkop na function ng memset.

--no-undefined-version
Karaniwan kapag ang isang simbolo ay may hindi natukoy na bersyon, babalewalain ito ng linker. Ito
hindi pinapayagan ng opsyon ang mga simbolo na may hindi natukoy na bersyon at maglalabas ng nakamamatay na error
sa halip.

--default-symver
Gumawa at gumamit ng default na bersyon ng simbolo (ang soname) para sa hindi na-bersyon na mga na-export na simbolo.

--default-imported-symver
Gumawa at gumamit ng default na bersyon ng simbolo (ang soname) para sa hindi na-bersyon na mga na-import na simbolo.

--no-warn-mismatch
Karaniwan ld ay magbibigay ng error kung susubukan mong i-link nang magkasama ang mga input file na
hindi tugma sa ilang kadahilanan, marahil dahil na-compile ang mga ito para sa iba't ibang dahilan
mga processor o para sa iba't ibang endiannesses. Ang pagpipiliang ito ay nagsasabi ld na dapat
tahimik na pinahihintulutan ang mga posibleng pagkakamali. Ang pagpipiliang ito ay dapat lamang gamitin nang may pag-iingat, sa
mga kaso kapag nagsagawa ka ng ilang espesyal na aksyon na nagsisiguro na ang mga error sa linker ay
hindi naaangkop.

--no-warn-search-mismatch
Karaniwan ld ay magbibigay ng babala kung makakita ito ng hindi katugmang aklatan sa panahon ng isang aklatan
paghahanap. Pinapatahimik ng opsyong ito ang babala.

--walang-buong-archive
I-off ang epekto ng --buong-archive opsyon para sa kasunod na mga file ng archive.

--noinhibit-exec
Panatilihin ang executable output file sa tuwing magagamit pa rin ito. Karaniwan, ang linker
ay hindi gagawa ng isang output file kung ito ay nakatagpo ng mga error sa panahon ng proseso ng link; ito
lumalabas nang hindi nagsusulat ng output file kapag nag-isyu ito ng anumang error.

-nostdlib
Maghanap lamang ng mga direktoryo ng library na tahasang tinukoy sa command line. Aklatan
mga direktoryo na tinukoy sa mga script ng linker (kabilang ang mga script ng linker na tinukoy sa
command line) ay hindi pinapansin.

--oformat=output-format
ld maaaring i-configure upang suportahan ang higit sa isang uri ng object file. Kung ang iyong ld is
na-configure sa ganitong paraan, maaari mong gamitin ang --oformat opsyon upang tukuyin ang binary na format para sa
ang output object file. Kahit na ld ay naka-configure upang suportahan ang alternatibong bagay
mga format, karaniwang hindi mo kailangang tukuyin ito, bilang ld dapat i-configure upang makagawa
bilang default na format ng output ang pinakakaraniwang format sa bawat makina. output-format ay isang
text string, ang pangalan ng isang partikular na format na sinusuportahan ng mga library ng BFD. (Kaya mo
ilista ang mga magagamit na binary format na may objdump -i.) Ang script command
Ang "OUTPUT_FORMAT" ay maaari ding tukuyin ang output format, ngunit ang pagpipiliang ito ay na-override ito.

-pie
--pic-executable
Lumikha ng isang posisyon na independiyenteng maipapatupad. Ito ay kasalukuyang sinusuportahan lamang sa ELF
mga platform. Ang mga independiyenteng executable sa posisyon ay katulad ng mga shared library doon
nililipat sila ng dynamic na linker sa virtual address na pipiliin ng OS
kanila (na maaaring mag-iba sa pagitan ng mga invocation). Tulad ng mga normal na naka-link na executable
maaari silang isagawa at ang mga simbolo na tinukoy sa executable ay hindi maaaring ma-override ng
mga shared library.

-qmagic
Binabalewala ang opsyong ito para sa Linux compatibility.

-Qy Binabalewala ang opsyong ito para sa compatibility ng SVR4.

--relax
--hindi-relax
Isang opsyon na may mga epektong nakadepende sa makina. Ang opsyong ito ay sinusuportahan lamang sa iilan
Mga target.

Sa ilang mga platform ang --relax ang opsyon ay gumaganap ng partikular na target, mga pandaigdigang pag-optimize
na nagiging posible kapag nalutas ng linker ang pagtugon sa programa, gaya ng
nakakarelaks na mga mode ng address, pag-synthesize ng mga bagong tagubilin, pagpili ng mas maikling bersyon ng
kasalukuyang mga tagubilin, at pagsasama-sama ng mga pare-parehong halaga.

Sa ilang mga platform, maaaring gumawa ng simbolikong pag-debug ang mga global optimization ng oras ng link na ito
ang nagresultang executable imposible. Ito ay kilala na ang kaso para sa Matsushita
MN10200 at MN10300 na pamilya ng mga processor.

Sa mga platform kung saan hindi ito suportado, --relax ay tinatanggap, ngunit hindi pinapansin.

Sa mga platform kung saan --relax ay tinatanggap ang opsyon --hindi-relax maaaring gamitin upang hindi paganahin
ang tampok.

--retain-symbols-file=filename
Panatilihin lamang ang mga simbolo na nakalista sa file filename, itinatapon ang lahat ng iba pa. filename
ay simpleng flat file, na may isang pangalan ng simbolo bawat linya. Lalo na ang pagpipiliang ito
kapaki-pakinabang sa mga kapaligiran (tulad ng VxWorks) kung saan naroon ang isang malaking talahanayan ng pandaigdigang simbolo
unti-unting naipon, upang makatipid ng memorya ng run-time.

--retain-symbols-file ang hindi itapon ang mga hindi natukoy na simbolo, o mga simbolo na kailangan para sa
mga relokasyon.

Maaari mo lamang tukuyin --retain-symbols-file isang beses sa command line. Ino-override nito -s
at -S.

-rpath=dir
Magdagdag ng direktoryo sa runtime na landas sa paghahanap ng library. Ito ay ginagamit kapag nagli-link ng isang ELF
maipapatupad sa mga nakabahaging bagay. Lahat -rpath ang mga argumento ay pinagsama-sama at ipinapasa sa
ang runtime linker, na gumagamit ng mga ito upang mahanap ang mga nakabahaging bagay sa runtime. Ang -rpath
Ginagamit din ang opsyon kapag naghahanap ng mga shared object na kailangan ng shared objects
tahasang kasama sa link; tingnan ang paglalarawan ng -rpath-link pagpipilian Kung
-rpath ay hindi ginagamit kapag nagli-link ng isang ELF executable, ang mga nilalaman ng kapaligiran
Ang variable na "LD_RUN_PATH" ay gagamitin kung ito ay tinukoy.

Ang -rpath maaari ding gamitin ang opsyon sa SunOS. Bilang default, sa SunOS, gagawin ng linker
bumuo ng isang runtime na landas sa paghahanap mula sa lahat ng -L mga pagpipilian na ibinigay. Kung ang -rpath opsyon
ay ginagamit, ang runtime na landas sa paghahanap ay bubuuin ng eksklusibo gamit ang -rpath pagpipilian
hindi pinapansin ang -L mga pagpipilian. Maaari itong maging kapaki-pakinabang kapag gumagamit ng gcc, na nagdaragdag ng marami -L
mga opsyon na maaaring nasa NFS mounted file system.

Para sa pagiging tugma sa iba pang mga linker ng ELF, kung ang -R ang opsyon ay sinusundan ng isang direktoryo
pangalan, sa halip na isang pangalan ng file, ito ay itinuturing bilang ang -rpath pagpipilian.

-rpath-link=dir
Kapag gumagamit ng ELF o SunOS, ang isang nakabahaging library ay maaaring mangailangan ng isa pa. Nangyayari ito kapag ang isang
Ang link na "ld -shared" ay may kasamang shared library bilang isa sa mga input file.

Kapag ang linker ay nakatagpo ng ganoong dependency kapag gumagawa ng isang hindi nakabahagi, hindi nalilipat
link, awtomatiko nitong susubukang hanapin ang kinakailangang nakabahaging library at isama ito
sa link, kung hindi ito tahasang kasama. Sa ganitong kaso, ang -rpath-link opsyon
tumutukoy sa unang hanay ng mga direktoryo na hahanapin. Ang -rpath-link maaaring tukuyin ang opsyon
isang pagkakasunud-sunod ng mga pangalan ng direktoryo alinman sa pamamagitan ng pagtukoy ng isang listahan ng mga pangalan na pinaghihiwalay ng
colon, o sa pamamagitan ng paglitaw ng maraming beses.

Ang opsyong ito ay dapat gamitin nang may pag-iingat dahil na-override nito ang path ng paghahanap na maaaring mayroon
ay mahirap na pinagsama-sama sa isang nakabahaging aklatan. Sa ganitong kaso posible itong gamitin
hindi sinasadya ng ibang landas sa paghahanap kaysa sa gagawin ng runtime linker.

Ginagamit ng linker ang sumusunod na mga path sa paghahanap upang mahanap ang mga kinakailangang shared library:

1. Anumang mga direktoryo na tinukoy ni -rpath-link mga pagpipilian.

2. Anumang mga direktoryo na tinukoy ni -rpath mga pagpipilian. Ang pagkakaiba sa pagitan ng -rpath at
-rpath-link ang mga direktoryong iyon ay tinukoy ng -rpath ang mga opsyon ay kasama sa
maipapatupad at ginagamit sa runtime, samantalang ang -rpath-link Ang pagpipilian ay epektibo lamang
sa oras ng link. Naghahanap -rpath sa ganitong paraan ay sinusuportahan lamang ng mga katutubong linker at
mga cross linker na na-configure sa --may-sysroot pagpipilian.

3. Sa isang ELF system, para sa mga katutubong linker, kung ang -rpath at -rpath-link mga pagpipilian ay
hindi ginagamit, hanapin ang mga nilalaman ng environment variable na "LD_RUN_PATH".

4. Sa SunOS, kung ang -rpath hindi ginamit ang opsyon, maghanap ng anumang mga direktoryo na tinukoy
paggamit -L mga pagpipilian.

5. Para sa katutubong linker, hanapin ang mga nilalaman ng variable ng kapaligiran
"LD_LIBRARY_PATH".

6. Para sa isang katutubong ELF linker, ang mga direktoryo sa "DT_RUNPATH" o "DT_RPATH" ng isang nakabahaging
Hinahanap ang aklatan para sa mga nakabahaging aklatan na kailangan nito. Ang mga entry na "DT_RPATH" ay
hindi pinansin kung may mga entry na "DT_RUNPATH".

7. Ang mga default na direktoryo, karaniwan / lib at / Usr / lib.

8. Para sa isang katutubong linker sa isang ELF system, kung ang file /etc/ld.so.conf umiiral, ang listahan
ng mga direktoryo na matatagpuan sa file na iyon.

Kung hindi mahanap ang kinakailangang shared library, maglalabas ang linker ng babala at
magpatuloy sa link.

-ibinahagi
-Bshareable
Gumawa ng shared library. Ito ay kasalukuyang sinusuportahan lamang sa ELF, XCOFF at SunOS
mga platform. Sa SunOS, awtomatikong gagawa ng shared library ang linker kung ang -e
hindi ginagamit ang opsyon at may mga hindi natukoy na simbolo sa link.

--sort-common
--sort-common=pataas
--sort-common=pababa
Ang pagpipiliang ito ay nagsasabi ld upang ayusin ang mga karaniwang simbolo sa pamamagitan ng pagkakahanay sa pataas o
pababang pagkakasunud-sunod kapag inilagay ang mga ito sa naaangkop na mga seksyon ng output. Ang simbolo
Ang mga alignment na isinasaalang-alang ay labing-anim na byte o mas malaki, walong-byte, apat-byte, dalawang-byte, at
one-byte. Ito ay upang maiwasan ang mga agwat sa pagitan ng mga simbolo dahil sa mga hadlang sa pagkakahanay. Kung hindi
ang pagkakasunud-sunod ng pag-uuri ay tinukoy, pagkatapos ay ipinapalagay ang pababang pagkakasunud-sunod.

--sort-section=name
Ilalapat ng opsyong ito ang "SORT_BY_NAME" sa lahat ng pattern ng wildcard na seksyon sa linker
script.

--sort-section=alignment
Ilalapat ng opsyong ito ang "SORT_BY_ALIGNMENT" sa lahat ng pattern ng wildcard na seksyon sa
linker script.

--split-by-file[=laki]
Kapareho ng --split-by-reloc ngunit lumilikha ng bagong seksyon ng output para sa bawat input file kapag
laki naabot. laki default sa isang sukat na 1 kung hindi ibinigay.

--split-by-reloc[=bilangin]
Sinusubukang lumikha ng mga karagdagang seksyon sa output file upang walang solong output na seksyon sa
ang file ay naglalaman ng higit sa bilangin mga relokasyon. Ito ay kapaki-pakinabang kapag bumubuo ng malaki
relocatable file para sa pag-download sa ilang mga real time kernel na may COFF object
format ng file; dahil hindi maaaring kumatawan ang COFF ng higit sa 65535 na mga relokasyon sa isang solong
seksyon. Tandaan na hindi ito gagana sa mga object file format na hindi
suportahan ang mga arbitrary na seksyon. Hindi hahatiin ng linker ang mga indibidwal na seksyon ng input
para sa muling pamamahagi, kaya kung ang isang seksyon ng pag-input ay naglalaman ng higit sa bilangin paglipat
ang isang seksyon ng output ay maglalaman ng maraming relokasyon. bilangin default sa isang halaga ng
32768.

--stats
Mag-compute at magpakita ng mga istatistika tungkol sa pagpapatakbo ng linker, gaya ng pagpapatupad
oras at paggamit ng memorya.

--sysroot=direktoryo
paggamit direktoryo bilang lokasyon ng sysroot, na override ang configure-time na default.
Ang opsyong ito ay sinusuportahan lamang ng mga linker na na-configure gamit --may-sysroot.

--tradisyonal na porma
Para sa ilang mga target, ang output ng ld ay naiiba sa ilang mga paraan mula sa output ng ilan
umiiral na linker. Ang switch na ito ay humihiling ld gamitin ang tradisyonal na format sa halip.

Halimbawa, sa SunOS, ld pinagsasama ang mga duplicate na entry sa talahanayan ng string ng simbolo. Ito
maaaring bawasan ang laki ng isang output file na may buong impormasyon sa pag-debug ng higit sa 30
porsyento. Sa kasamaang palad, hindi mabasa ng programang "dbx" ng SunOS ang resultang programa
(walang problema ang "gdb"). Ang --tradisyonal na porma sabi ng switch ld para hindi pagsamahin
mga duplicate na entry.

--section-start=pangalan ng seksyon=org
Maghanap ng isang seksyon sa output file sa ganap na address na ibinigay ni org. Maaari mong gamitin
ang pagpipiliang ito nang maraming beses hangga't kinakailangan upang mahanap ang maraming mga seksyon sa command
linya. org dapat ay isang solong hexadecimal integer; para sa pagiging tugma sa iba pang mga linker,
maaari mong alisin ang nangunguna 0x karaniwang nauugnay sa mga halaga ng hexadecimal. tandaan: doon
dapat walang puting espasyo sa pagitan pangalan ng seksyon, ang katumbas na tanda ("="), at org.

-Tbss=org
-Tdata=org
-Ttext=org
Katulad ng --section-start, na may ".bss", ".data" o ".text" bilang ang pangalan ng seksyon.

-Ttext-segment=org
Kapag gumagawa ng ELF executable, itatakda nito ang address ng unang byte ng text
segment.

-Trodata-segment=org
Kapag gumagawa ng isang ELF executable o shared object para sa isang target kung saan ang read-only na data
ay nasa sarili nitong segment na hiwalay sa executable text, itatakda nito ang address ng
ang unang byte ng read-only na segment ng data.

-Tldata-segment=org
Kapag gumagawa ng ELF executable o shared object para sa x86-64 medium memory model, ito
itatakda ang address ng unang byte ng segment ng ldata.

--unresolved-symbols=paraan
Tukuyin kung paano pangasiwaan ang mga hindi nalutas na simbolo. Mayroong apat na posibleng halaga para sa
paraan:

huwag pansinin-lahat
Huwag mag-ulat ng anumang hindi nalutas na mga simbolo.

ulat-lahat
Iulat ang lahat ng hindi nalutas na mga simbolo. Ito ang default.

huwag pansinin-sa-object-file
Mag-ulat ng mga hindi nalutas na simbolo na nasa mga shared library, ngunit huwag pansinin ang mga ito
kung nagmula sila sa mga regular na object file.

huwag pansinin-in-shared-libs
Mag-ulat ng mga hindi nalutas na simbolo na nagmumula sa mga regular na object file, ngunit huwag pansinin ang mga ito kung
nagmula sila sa mga shared library. Maaari itong maging kapaki-pakinabang kapag gumagawa ng isang dynamic
binary at ito ay kilala na ang lahat ng mga shared library na ito ay dapat na sanggunian
ay kasama sa command line ng linker.

Ang pag-uugali para sa mga shared library sa kanilang sarili ay maaari ding kontrolin ng
--[no-]allow-shlib-undefined pagpipilian.

Karaniwan ang linker ay bubuo ng mensahe ng error para sa bawat naiulat na hindi nalutas na simbolo
ngunit ang pagpipilian --babala-hindi nalutas-mga simbolo maaaring baguhin ito sa isang babala.

--dll-verbose
--verbose[=NUMBER]
Ipakita ang numero ng bersyon para sa ld at ilista ang mga linker emulation na sinusuportahan. Pagpapakita
kung aling mga input file ang maaari at hindi mabuksan. Ipakita ang linker script na ginagamit ni
ang linker. Kung ang opsyonal NUMBER argumento > 1, magiging simbolo din ang status ng plugin
ipinakita

--version-script=version-scriptfile
Tukuyin ang pangalan ng script ng bersyon sa linker. Ito ay karaniwang ginagamit kapag
paglikha ng mga nakabahaging aklatan upang tukuyin ang karagdagang impormasyon tungkol sa bersyon
hierarchy para sa library na ginagawa. Ang opsyon na ito ay ganap na sinusuportahan lamang sa ELF
mga platform na sumusuporta sa mga shared library; tingnan mo VERSION. Ito ay bahagyang sinusuportahan sa
Mga platform ng PE, na maaaring gumamit ng mga script ng bersyon upang i-filter ang visibility ng simbolo sa auto-export
mode: anumang mga simbolo na minarkahan lokal sa script ng bersyon ay hindi mai-export.

--babala-karaniwan
Magbabala kapag ang isang karaniwang simbolo ay pinagsama sa isa pang karaniwang simbolo o may isang simbolo
kahulugan. Ang mga Unix linker ay nagpapahintulot sa medyo palpak na kasanayang ito, ngunit ang mga linker sa ilan
iba pang mga operating system ay hindi. Ang pagpipiliang ito ay nagbibigay-daan sa iyo na makahanap ng mga potensyal na problema
mula sa pagsasama-sama ng mga pandaigdigang simbolo. Sa kasamaang palad, ginagamit ng ilang C library ang kasanayang ito, kaya
maaari kang makakuha ng ilang mga babala tungkol sa mga simbolo sa mga aklatan gayundin sa iyong mga programa.

Mayroong tatlong uri ng mga pandaigdigang simbolo, na inilalarawan dito ng mga halimbawa ng C:

int i = 1;
Isang kahulugan, na napupunta sa inisyal na seksyon ng data ng output file.

panlabas int i;
Isang hindi natukoy na sanggunian, na hindi naglalaan ng espasyo. Dapat mayroong alinman sa a
kahulugan o isang karaniwang simbolo para sa variable sa isang lugar.

int i;
Isang karaniwang simbolo. Kung mayroon lamang (isa o higit pa) mga karaniwang simbolo para sa isang variable,
napupunta ito sa uninitialized data area ng output file. Ang linker ay nagsasama
maramihang mga karaniwang simbolo para sa parehong variable sa isang solong simbolo. Kung sila ay
ng iba't ibang laki, pinipili nito ang pinakamalaking sukat. Ang linker ay nagiging isang karaniwang simbolo
sa isang deklarasyon, kung mayroong isang kahulugan ng parehong variable.

Ang --babala-karaniwan ang opsyon ay maaaring makagawa ng limang uri ng mga babala. Ang bawat babala ay binubuo ng
isang pares ng mga linya: ang una ay naglalarawan sa simbolo na kakakilala lang, at ang pangalawa
inilalarawan ang nakaraang simbolo na nakatagpo ng parehong pangalan. Isa o pareho sa dalawa
ang mga simbolo ay magiging isang karaniwang simbolo.

1. Ginagawang sanggunian ang isang karaniwang simbolo, dahil mayroon nang kahulugan
para sa simbolo.

( ): babala: karaniwan ng ` '
na-override sa pamamagitan ng kahulugan
( ): babala: tinukoy dito

2. Ginagawang sanggunian ang isang karaniwang simbolo, dahil isang mas huling kahulugan para sa
simbolo ay nakatagpo. Ito ay pareho sa nakaraang kaso, maliban na ang
ang mga simbolo ay nakatagpo sa ibang pagkakasunud-sunod.

( ): babala: kahulugan ng ` '
overriding karaniwan
( ): babala: karaniwan ay narito

3. Pagsasama ng isang karaniwang simbolo sa isang dating parehong laki ng karaniwang simbolo.

( ): babala: maramihang karaniwan
ng ` '
( ): babala: dating karaniwan ay narito

4. Pagsasama ng isang karaniwang simbolo sa isang nakaraang mas malaking karaniwang simbolo.

( ): babala: karaniwan ng ` '
na-override ng mas malaking common
( ): babala: narito ang mas malaking karaniwan

5. Pagsasama ng isang karaniwang simbolo sa isang nakaraang mas maliit na karaniwang simbolo. Ito ay pareho
tulad ng nakaraang kaso, maliban na ang mga simbolo ay nakatagpo sa ibang
order.

( ): babala: karaniwan ng ` '
override mas maliit na karaniwan
( ): babala: smaller common is here

--warn-constructors
Magbabala kung may ginagamit na mga global constructor. Ito ay kapaki-pakinabang lamang para sa ilang object file
mga format. Para sa mga format tulad ng COFF o ELF, hindi matukoy ng linker ang paggamit ng global
mga konstruktor.

--warn-multiple-gp
Magbabala kung kailangan ng maramihang mga global pointer value sa output file. Ito ay lamang
makabuluhan para sa ilang partikular na processor, gaya ng Alpha. Sa partikular, ang ilang mga processor
ilagay ang malalaking halaga na mga constant sa isang espesyal na seksyon. Isang espesyal na rehistro (ang global
pointer) ay tumuturo sa gitna ng seksyong ito, upang ang mga constant ay mai-load
mahusay sa pamamagitan ng base-register relative addressing mode. Dahil ang offset sa base-
register relative mode ay naayos at medyo maliit (eg, 16 bits), nililimitahan nito ang
maximum na laki ng pare-parehong pool. Kaya, sa malalaking programa, madalas na kinakailangan
gumamit ng maramihang mga global pointer value para matugunan ang lahat ng posible
mga pare-pareho. Ang opsyon na ito ay nagdudulot ng babala sa tuwing mangyayari ang kasong ito.

--babala-minsan
Isang beses lang magbabala para sa bawat hindi natukoy na simbolo, sa halip na isang beses sa bawat module na tumutukoy sa
ito.

--warn-section-align
Magbabala kung binago ang address ng isang seksyon ng output dahil sa pagkakahanay. Karaniwan,
ang pagkakahanay ay itatakda ng isang seksyon ng pag-input. Ang address ay mababago lamang kung ito
hindi tahasang tinukoy; ibig sabihin, kung ang utos na "SECTIONS" ay hindi tumutukoy ng panimula
address para sa seksyon.

--warn-shared-textrel
Magbabala kung ang linker ay nagdagdag ng DT_TEXTREL sa isang nakabahaging bagay.

--warn-alternate-em
Magbabala kung ang isang bagay ay may kahaliling ELF machine code.

--babala-hindi nalutas-mga simbolo
Kung ang linker ay mag-uulat ng hindi nalutas na simbolo (tingnan ang opsyon
--hindi nalutas-mga simbolo) ito ay karaniwang bubuo ng isang error. Ginagawa ito ng pagpipiliang ito
bumuo ng babala sa halip.

--error-unresolved-symbols
Ibinabalik nito ang default na gawi ng linker sa pagbuo ng mga error kapag nag-uulat ito
hindi nalutas na mga simbolo.

--buong-archive
Para sa bawat archive na nabanggit sa command line pagkatapos ng --buong-archive pagpipilian,
isama ang bawat object file sa archive sa link, sa halip na maghanap sa
archive para sa mga kinakailangang object file. Ito ay karaniwang ginagamit upang i-on ang isang archive file
sa isang nakabahaging aklatan, na pinipilit ang bawat bagay na maisama sa nagresultang pagbabahagi
aklatan. Maaaring gamitin ang opsyong ito nang higit sa isang beses.

Dalawang tala kapag ginagamit ang opsyong ito mula sa gcc: Una, hindi alam ng gcc ang tungkol sa opsyong ito,
kaya kailangan mong gamitin -Wl,-buong-archive. Pangalawa, huwag kalimutang gamitin
-Wl,-walang-buong-archive pagkatapos ng iyong listahan ng mga archive, dahil magdaragdag ang gcc ng sarili nitong listahan
ng mga archive sa iyong link at maaaring hindi mo gustong maapektuhan din ng flag na ito ang mga iyon.

--balutin=simbolo
Gumamit ng function ng wrapper para sa simbolo. Anumang hindi natukoy na sanggunian sa simbolo ay malulutas
balutin_simbolo". Anumang hindi natukoy na sanggunian sa "__real_simbolo" ay malulutas sa
simbolo.

Magagamit ito para magbigay ng wrapper para sa isang function ng system. Ang function ng wrapper
dapat tawaging "__wrap_simbolo". Kung nais nitong tawagan ang function ng system, dapat
tawagan ang "__real_simbolo".

Narito ang isang maliit na halimbawa:

walang bisa*
__wrap_malloc (laki_t c)
{
printf ("malloc na tinatawag na may %zu\n", c);
ibalik ang __real_malloc (c);
}

Kung magli-link ka ng ibang code sa file na ito gamit ang --balutin malloc, pagkatapos ay ang lahat ng tawag sa "malloc"
tatawagin ang function na "__wrap_malloc" sa halip. Ang tawag sa "__real_malloc" sa
"__wrap_malloc" ay tatawag sa tunay na "malloc" function.

Maaaring naisin mong magbigay din ng function na "__real_malloc", upang mag-link nang walang
--balutin ang pagpipilian ay magtatagumpay. Kung gagawin mo ito, hindi mo dapat ilagay ang kahulugan ng
"__real_malloc" sa parehong file bilang "__wrap_malloc"; kung gagawin mo, maaaring ang assembler
lutasin ang tawag bago magkaroon ng pagkakataon ang linker na i-wrap ito sa "malloc".

--eh-frame-hdr
Humiling ng paggawa ng seksyong ".eh_frame_hdr" at header ng segment na "PT_GNU_EH_FRAME" ng ELF.

--no-ld-generated-unwind-info
Humiling ng paggawa ng ".eh_frame" unwind info para sa linker na nabuong mga seksyon ng code tulad ng
PLT. Naka-on ang opsyong ito bilang default kung sinusuportahan ng linker na nakabuo ng unwind info.

--enable-new-dtags
--disable-new-dtags
Ang linker na ito ay maaaring gumawa ng mga bagong dynamic na tag sa ELF. Ngunit ang mga mas lumang sistema ng ELF ay maaaring hindi
unawain mo sila. Kung tinukoy mo --enable-new-dtags, ang mga bagong dynamic na tag ay magiging
ginawa kung kinakailangan at aalisin ang mga mas lumang dynamic na tag. Kung tinukoy mo
--disable-new-dtags, walang bagong dynamic na tag na gagawin. Bilang default, ang bagong dynamic
hindi nilikha ang mga tag. Tandaan na ang mga opsyon na iyon ay magagamit lamang para sa mga ELF system.

--hash-size=numero
Itakda ang default na laki ng mga hash table ng linker sa isang prime number na malapit sa numero.
Ang pagpapataas ng halagang ito ay maaaring mabawasan ang haba ng oras na kinakailangan ng linker upang maisagawa ito
mga gawain, sa gastos ng pagtaas ng mga kinakailangan sa memorya ng linker. Ganun din
ang pagbabawas ng halagang ito ay maaaring mabawasan ang mga kinakailangan sa memorya sa kapinsalaan ng bilis.

--hash-style=estilo
Itakda ang uri ng (mga) hash table ng linker. estilo maaaring alinman sa "sysv" para sa classic na ELF
".hash" na seksyon, "gnu" para sa bagong istilo GNU ".gnu.hash" na seksyon o "parehong" para sa parehong
classic ELF ".hash" at bagong istilong GNU ".gnu.hash" hash table. Ang default ay "sysv".

--compress-debug-sections=wala
--compress-debug-sections=zlib
--compress-debug-sections=zlib-gnu
--compress-debug-sections=zlib-gabi
Sa mga platform ng ELF , kinokontrol ng mga opsyong ito kung paano ginagamit ang pag-compress ng mga seksyon ng DWARF debug
zlib. --compress-debug-sections=wala ay hindi nag-compress ng mga seksyon ng pag-debug ng DWARF.
--compress-debug-sections=zlib-gnu pini-compress ang mga seksyon ng DWARF debug at palitan ang pangalan ng debug
mga pangalan ng seksyon upang magsimula sa .zdebug sa halip ng .debug. --compress-debug-sections=zlib
at --compress-debug-sections=zlib-gabi i-compress ang mga seksyon ng pag-debug ng DWARF gamit ang
SHF_COMPRESSED mula sa ELF ABI. Ang default na gawi ay nag-iiba depende sa
target na kasangkot at ang mga opsyon sa pag-configure na ginamit upang buuin ang toolchain. Ang default
maaaring matukoy sa pamamagitan ng pagsusuri sa output mula sa linker's - Tumulong pagpipilian.

--bawasan-memory-overheads
Binabawasan ng opsyong ito ang mga kinakailangan sa memory sa ld runtime, sa gastos ng pag-link
bilis. Ito ay ipinakilala upang piliin ang lumang O(n^2) algorithm para sa link map file
henerasyon, sa halip na ang bagong O(n) algorithm na gumagamit ng humigit-kumulang 40% na higit pang memorya para sa
imbakan ng simbolo.

Ang isa pang epekto ng switch ay ang itakda ang default na laki ng hash table sa 1021, na
muling nagse-save ng memorya sa halaga ng pagpapahaba ng oras ng pagtakbo ng linker. Hindi ito tapos
gayunpaman kung ang --hash-laki ginamit ang switch.

Ang --bawasan-memory-overheads switch ay maaari ding gamitin upang paganahin ang iba pang mga tradeoffs in
mga hinaharap na bersyon ng linker.

--build-id
--build-id=estilo
Hilingin ang paglikha ng isang ".note.gnu.build-id" na seksyon ng ELF note o isang ".buildid" COFF
seksyon. Ang mga nilalaman ng tala ay mga natatanging piraso na nagpapakilala sa naka-link na file na ito.
estilo maaaring "uuid" para gumamit ng 128 random bits, "sha1" para gumamit ng 160-bit SHA1 hash sa
normatibong bahagi ng mga nilalaman ng output, "md5" upang gumamit ng 128-bit MD5 hash sa
normatibong bahagi ng mga nilalaman ng output, o "0xhexstring" upang gumamit ng napiling bit string
tinukoy bilang pantay na bilang ng mga hexadecimal na digit ("-" at ":" na mga character sa pagitan
hindi pinapansin ang mga pares ng digit). Kung estilo ay tinanggal, "sha1" ang ginagamit.

Ang mga istilong "md5" at "sha1" ay gumagawa ng isang identifier na palaging pareho sa an
magkaparehong output file, ngunit magiging kakaiba sa lahat ng hindi magkatulad na output file. Ito ay
hindi nilayon na ikumpara bilang checksum para sa mga nilalaman ng file. Ang isang naka-link na file ay maaaring
mababago sa ibang pagkakataon ng iba pang mga tool, ngunit ang build ID bit string na nagpapakilala sa orihinal
hindi nagbabago ang naka-link na file.

Pagpasa ng "wala" para sa estilo hindi pinapagana ang setting mula sa anumang "--build-id" na mga opsyon sa mas maaga
ang command line.

Sinusuportahan ng i386 PE linker ang -ibinahagi opsyon, na nagiging sanhi ng output na a
dynamically linked library (DLL) sa halip na isang normal na executable. Dapat mong pangalanan ang
output "*.dll" kapag ginamit mo ang opsyong ito. Bilang karagdagan, ganap na sinusuportahan ng linker ang
karaniwang "*.def" na mga file, na maaaring tukuyin sa command line ng linker tulad ng isang bagay
file (sa katunayan, dapat itong mauna sa mga archive kung saan ito nag-e-export ng mga simbolo, upang matiyak na nakukuha nila
naka-link, tulad ng isang normal na object file).

Bilang karagdagan sa mga opsyon na karaniwan sa lahat ng mga target, ang i386 PE linker ay sumusuporta sa karagdagang
mga opsyon sa command line na partikular sa target na i386 PE. Mga opsyon na kumukuha ng mga halaga
maaaring ihiwalay sa kanilang mga halaga sa pamamagitan ng alinman sa isang puwang o isang katumbas na tanda.

--add-stdcall-alias
Kung ibinigay, mga simbolo na may stdcall suffix (@nn) ay i-export bilang-ay at gayundin sa
hinubad ang panlapi. [Ang opsyon na ito ay partikular sa i386 PE na naka-target na port ng linker]

--base-file file
paggamit file bilang pangalan ng isang file kung saan ise-save ang mga base address ng lahat ng
mga relokasyon na kailangan para sa pagbuo ng mga DLL gamit ang dlltool. [Ito ay isang partikular na i386 PE
pagpipilian]

--dll
Lumikha ng isang DLL sa halip na isang regular na maipapatupad. Maaari mo ring gamitin -ibinahagi o tukuyin ang a
"LIBRARY" sa isang ibinigay na ".def" na file. [Ang opsyong ito ay partikular sa i386 PE na naka-target
port ng linker]

--enable-long-section-pangalan
--disable-long-section-pangalan
Ang mga variant ng PE ng COFF object format ay nagdaragdag ng extension na nagpapahintulot sa paggamit ng
mas mahaba sa walong character ang pangalan ng seksyon, ang normal na limitasyon para sa COFF. Bilang default,
ang mga pangalan na ito ay pinapayagan lamang sa mga object file, dahil ang ganap na naka-link na mga executable na imahe ay hindi
dalhin ang COFF string table na kinakailangan upang suportahan ang mas mahahabang pangalan. Bilang extension ng GNU,
posible ring payagan ang kanilang paggamit sa mga executable na larawan, o sa (marahil
walang kabuluhan!) huwag payagan ito sa mga object file, sa pamamagitan ng paggamit ng dalawang opsyong ito. Maipapatupad
ang mga larawang nabuo gamit ang mga mahahabang pangalan ng seksyon na ito ay bahagyang hindi karaniwan, dala bilang
gumagawa sila ng string table, at maaaring makabuo ng nakalilitong output kapag sinuri gamit ang non-GNU
Mga tool sa PE-aware, gaya ng mga file viewer at dumper. Gayunpaman, umaasa ang GDB sa paggamit ng
Mahabang pangalan ng seksyon ng PE upang mahanap ang mga seksyon ng impormasyon sa pag-debug ng Dwarf-2 sa isang executable
imahe sa runtime, at kaya kung walang opsyon na tinukoy sa command-line, ld habilin
paganahin ang mahahabang pangalan ng seksyon, i-override ang default at teknikal na tamang pag-uugali,
kapag nahanap nito ang pagkakaroon ng impormasyon sa pag-debug habang nagli-link ng isang executable na imahe at
hindi paghuhubad ng mga simbolo. [Ang opsyon na ito ay wasto para sa lahat ng naka-target na PE na port ng linker]

--enable-stdcall-fixup
--disable-stdcall-fixup
Kung nakahanap ang link ng isang simbolo na hindi nito malulutas, susubukan nitong gawin ang "fuzzy
linking" sa pamamagitan ng paghahanap ng isa pang tinukoy na simbolo na naiiba lamang sa format ng
pangalan ng simbolo (cdecl vs stdcall) at lulutasin ang simbolo na iyon sa pamamagitan ng pag-link sa tugma.
Halimbawa, ang hindi natukoy na simbolo na "_foo" ay maaaring maiugnay sa function na "_foo@12", o
ang hindi natukoy na simbolo na "_bar@16" ay maaaring maiugnay sa function na "_bar". Kapag ang
ginagawa ito ng linker, nagpi-print ito ng babala, dahil karaniwan nang nabigo itong mag-link,
ngunit kung minsan ang pag-import ng mga aklatan na nabuo mula sa mga third-party na dll ay maaaring mangailangan ng tampok na ito
upang magamit. Kung tinukoy mo --enable-stdcall-fixup, ang tampok na ito ay ganap na pinagana
at ang mga babala ay hindi nakalimbag. Kung tinukoy mo --disable-stdcall-fixup, ang tampok na ito ay
hindi pinagana at ang mga ganitong hindi pagkakatugma ay itinuturing na mga error. [Ang opsyon na ito ay partikular sa
ang i386 PE na naka-target na port ng linker]

--leading-underscore
--no-leading-underscore
Para sa karamihan ng mga target, ang default na symbol-prefix ay isang underscore at tinukoy sa target
paglalarawan. Sa pamamagitan ng opsyong ito, posibleng i-disable/i-enable ang default na underscore
simbolo-prefix.

--export-all-symbols
Kung ibinigay, ang lahat ng mga pandaigdigang simbolo sa mga bagay na ginamit upang bumuo ng isang DLL ay ie-export ng
ang DLL. Tandaan na ito ang default kung walang anumang na-export
mga simbolo. Kapag ang mga simbolo ay tahasang na-export sa pamamagitan ng mga file ng DEF o tahasang na-export
sa pamamagitan ng mga katangian ng pag-andar, ang default ay hindi mag-export ng anupaman maliban kung ang pagpipiliang ito
ay ibinigay. Tandaan na ang mga simbolo na "DllMain@12", "DllEntryPoint@0",
Ang "DllMainCRTSstartup@12", at "impure_ptr" ay hindi awtomatikong ie-export. Gayundin,
ang mga simbolo na na-import mula sa iba pang mga DLL ay hindi muling ie-export, o ang mga simbolo na tumutukoy
panloob na layout ng DLL tulad ng mga nagsisimula sa "_head_" o nagtatapos sa
"_iname". Bilang karagdagan, walang mga simbolo mula sa "libgcc", "libstd++", "libmingw32", o
Ang "crtX.o" ay ie-export. Mga simbolo na ang mga pangalan ay nagsisimula sa "__rtti_" o "__builtin_"
ay hindi ie-export, para tumulong sa mga C++ DLL. Sa wakas, mayroong isang malawak na listahan ng
cygwin-private na mga simbolo na hindi na-export (malinaw naman, nalalapat ito kapag nagtatayo
DLL para sa mga target ng cygwin). Ang mga cygwin-excludes na ito ay: "_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", at "environ". [Ang opsyong ito ay partikular sa i386 PE na naka-target
port ng linker]

--ibukod-mga simbolo simbolo,simbolo, ...
Tinutukoy ang isang listahan ng mga simbolo na hindi dapat awtomatikong i-export. Ang simbolo
ang mga pangalan ay maaaring lagyan ng mga kuwit o tutuldok. [Ang opsyong ito ay partikular sa i386 PE
naka-target na port ng linker]

--exclude-all-symbols
Tinutukoy na walang mga simbolo ang dapat na awtomatikong i-export. [Ang opsyon na ito ay partikular sa
ang i386 PE na naka-target na port ng linker]

--file-alignment
Tukuyin ang pagkakahanay ng file. Ang mga seksyon sa file ay palaging magsisimula sa mga offset ng file
na mga multiple ng numerong ito. Nagde-default ito sa 512. [This option is specific
sa i386 PE na naka-target na port ng linker]

--bunton reserba
--bunton reserba,gumawa
Tukuyin ang bilang ng mga byte ng memory na irereserba (at opsyonal na i-commit) na gagamitin bilang
tambak para sa programang ito. Ang default ay 1MB reserved, 4K committed. [Ang pagpipiliang ito ay
partikular sa i386 PE na naka-target na port ng linker]

--image-base halaga
paggamit halaga bilang base address ng iyong program o dll. Ito ang pinakamababang memorya
lokasyon na gagamitin kapag na-load ang iyong program o dll. Upang mabawasan ang pangangailangan sa
ilipat at pagbutihin ang pagganap ng iyong mga dll, ang bawat isa ay dapat magkaroon ng isang natatanging base address
at hindi nagsasapawan ng anumang iba pang mga dll. Ang default ay 0x400000 para sa mga executable, at
0x10000000 para sa mga dll. [Ang opsyong ito ay partikular sa i386 PE na naka-target na port ng
linker]

--patayin-sa
Kung ibinigay, ang stdcall ay suffix (@nn) ay aalisin sa mga simbolo bago ang mga ito
na-export. [Ang opsyon na ito ay partikular sa i386 PE na naka-target na port ng linker]

--malaking-address-aware
Kung ibinigay, ang naaangkop na bit sa field na "Mga Katangian" ng COFF header ay nakatakda
upang ipahiwatig na ang executable na ito ay sumusuporta sa mga virtual na address na higit sa 2 gigabytes.
Dapat itong gamitin kasabay ng /3GB o /USERVA=halaga lumipat ang megabytes
ang seksyong "[mga operating system]" ng BOOT.INI. Kung hindi, ang bit na ito ay walang epekto.
[Ang pagpipiliang ito ay partikular sa mga port na naka-target sa PE ng linker]

--disable-large-address-aware
Ibinabalik ang epekto ng nakaraan --malaking-address-aware opsyon. Ito ay kapaki-pakinabang kung
--malaking-address-aware ay palaging itinakda ng compiler driver (eg Cygwin gcc) at ang
hindi sinusuportahan ng executable ang mga virtual na address na higit sa 2 gigabytes. [Ang pagpipiliang ito
ay partikular sa mga port na naka-target sa PE ng linker]

--major-image-version halaga
Itinatakda ang pangunahing bilang ng "bersyon ng imahe". Default sa 1. [Ang pagpipiliang ito ay
partikular sa i386 PE na naka-target na port ng linker]

--major-os-bersyon halaga
Itinatakda ang pangunahing bilang ng "bersyon ng os". Defaults sa 4. [Ito ay tiyak
sa i386 PE na naka-target na port ng linker]

--major-subsystem-bersyon halaga
Itinatakda ang pangunahing bilang ng "bersyon ng subsystem". Default sa 4. [Ang pagpipiliang ito ay
partikular sa i386 PE na naka-target na port ng linker]

--minor-image-version halaga
Itinatakda ang minor na numero ng "bersyon ng imahe". Default sa 0. [Ang pagpipiliang ito ay
partikular sa i386 PE na naka-target na port ng linker]

--minor-os-bersyon halaga
Itinatakda ang minor na numero ng "os na bersyon". Default sa 0. [Ito ay tiyak
sa i386 PE na naka-target na port ng linker]

--minor-subsystem-bersyon halaga
Itinatakda ang minor na numero ng "bersyon ng subsystem". Default sa 0. [Ang pagpipiliang ito ay
partikular sa i386 PE na naka-target na port ng linker]

--output-def file
Ang linker ay gagawa ng file file na maglalaman ng isang DEF file na naaayon sa
ang DLL ang linker ay bumubuo. Ang DEF file na ito (na dapat tawaging "*.def") ay maaaring
gamitin upang lumikha ng isang import library na may "dlltool" o maaaring gamitin bilang isang sanggunian sa
awtomatiko o tuwirang na-export na mga simbolo. [Ang opsyong ito ay partikular sa i386 PE
naka-target na port ng linker]

--out-imlib file
Ang linker ay gagawa ng file file na maglalaman ng import lib na katumbas ng
ang DLL ang linker ay bumubuo. Ang import lib na ito (na dapat tawaging "*.dll.a" o
Maaaring gamitin ang "*.a" upang i-link ang mga kliyente laban sa nabuong DLL; ginagawa ito ng pag-uugaling ito
posibleng laktawan ang isang hiwalay na "dlltool" na hakbang sa paggawa ng library ng import. [Ang pagpipiliang ito ay
partikular sa i386 PE na naka-target na port ng linker]

--enable-auto-image-base
--enable-auto-image-base=halaga
Awtomatikong piliin ang base ng imahe para sa mga DLL, opsyonal na nagsisimula sa base halaga,
maliban kung ang isa ay tinukoy gamit ang "--image-base" na argumento. Sa pamamagitan ng paggamit ng hash na nabuo
mula sa dllname upang lumikha ng mga natatanging base ng imahe para sa bawat DLL, in-memory collisions at
iniiwasan ang mga relokasyon na maaaring makapagpaantala sa pagpapatupad ng programa. [Ito ay tiyak
sa i386 PE na naka-target na port ng linker]

--disable-auto-image-base
Huwag awtomatikong bumuo ng isang natatanging base ng imahe. Kung walang user-specified
image base ("--image-base") pagkatapos ay gamitin ang default na platform. [Ito ay tiyak
sa i386 PE na naka-target na port ng linker]

--dll-search-prefix pisi
Kapag dynamic na nagli-link sa isang dll na walang import library, hanapin ang
" .dll" bilang kagustuhan sa "lib .dll". Pinapayagan ng gawi na ito
madaling pagkakaiba sa pagitan ng mga DLL na binuo para sa iba't ibang "subplatform": native, cygwin,
uwin, pw, atbp. Halimbawa, ang mga cygwin DLL ay karaniwang gumagamit ng "--dll-search-prefix=cyg".
[Ang opsyon na ito ay partikular sa i386 PE na naka-target na port ng linker]

--enable-auto-import
Gumawa ng sopistikadong pag-link ng "_symbol" sa "__imp__symbol" para sa mga pag-import ng DATA mula sa mga DLL,
at lumikha ng mga kinakailangang simbolo ng thunking kapag binubuo ang mga aklatan ng pag-import gamit ang
ang mga DATA export na iyon. Tandaan: Ang paggamit ng extension na 'auto-import' ay magdudulot ng text
seksyon ng file ng imahe na gagawing maisusulat. Hindi ito umaayon sa PE-COFF
detalye ng format na inilathala ng Microsoft.

Tandaan - ang paggamit ng extension na 'auto-import' ay magdudulot din ng read only na data na gagawin
karaniwang inilalagay sa seksyong .rdata na ilalagay sa seksyong .data
sa halip. Ito ay upang malutas ang isang problema sa mga const na inilarawan
dito: http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html

Ang paggamit ng 'auto-import' sa pangkalahatan ay 'gumagana lang' -- ngunit minsan ay makikita mo ito
mensahe:

Hindi maaaring awtomatikong i-import ang "variable ' '. Pakibasa ang dokumentasyon para sa ld's
"--enable-auto-import" para sa mga detalye."

Ang mensaheng ito ay nangyayari kapag ang ilang (sub) expression ay nag-access sa isang address na sa huli ay ibinigay ni
ang kabuuan ng dalawang constants (Pinapayagan lamang ng mga talahanayan ng pag-import ng Win32 ang isa). Mga pagkakataon kung saan ito
maaaring mangyari kasama ang mga pag-access sa mga field ng miyembro ng mga variable ng struct na na-import mula sa isang DLL,
pati na rin ang paggamit ng isang palaging index sa isang array variable na na-import mula sa isang DLL. Anuman
multiword variable (arrays, structs, long long, etc) ay maaaring mag-trigger ng error na kundisyon na ito.
Gayunpaman, anuman ang eksaktong uri ng data ng nakakasakit na na-export na variable, gagawin ng ld
laging tuklasin ito, ilabas ang babala, at lumabas.

Mayroong ilang mga paraan upang matugunan ang kahirapan na ito, anuman ang uri ng data ng
na-export na variable:

Ang isang paraan ay ang paggamit ng --enable-runtime-pseudo-reloc switch. Iniiwan nito ang gawain ng
pagsasaayos ng mga sanggunian sa iyong client code para sa runtime environment, kaya gumagana ang paraang ito
kapag sinusuportahan lang ng runtime environment ang feature na ito.

Ang pangalawang solusyon ay ang pilitin ang isa sa mga 'constant' na maging variable -- ibig sabihin,
hindi alam at hindi na-optimize sa oras ng pag-compile. Para sa mga array, mayroong dalawang posibilidad:
a) gawing variable ang indexee (address ng array), o b) gawin ang 'constant' index
isang variable. kaya:

panlabas na uri extern_array[];
extern_array[1] -->
{ pabagu-bago ng isip uri *t=extern_array; t[1] }

or

panlabas na uri extern_array[];
extern_array[1] -->
{ pabagu-bago ng isip int t=1; extern_array[t] }

Para sa mga struct (at karamihan sa iba pang mga multiword na uri ng data) ang tanging pagpipilian ay gawin ang
struct mismo (o ang long long, o ang ...) variable:

extern struct s extern_struct;
extern_struct.field -->
{ pabagu-bago ng isip struct s *t=&extern_struct; t->patlang }

or

extern mahaba mahaba extern_ll;
extern_ll -->
{ volatile long long * local_ll=&extern_ll; *local_ll }

Ang ikatlong paraan ng pagharap sa kahirapan na ito ay ang pag-abandona sa 'auto-import' para sa
nakakasakit na simbolo at markahan ito ng "__declspec(dllimport)". Gayunpaman, sa pagsasanay na
nangangailangan ng paggamit ng compile-time #defines upang ipahiwatig kung ikaw ay gumagawa ng isang DLL,
pagbuo ng client code na magli-link sa DLL, o pagbuo lamang/pagli-link sa isang static
aklatan. Sa paggawa ng pagpili sa pagitan ng iba't ibang paraan ng paglutas ng 'direkta
address na may pare-parehong offset' na problema, dapat mong isaalang-alang ang karaniwang paggamit sa real-world:

Orihinal na:

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

Solution 1:

--foo.h
extern int arr[];
--foo.c
#include "foo.h"
void main(int argc, char **argv){
/* Ang workaround na ito ay para sa win32 at cygwin; huwag "i-optimize" */
pabagu-bago ng isip int *parr = arr;
printf("%d\n",parr[1]);
}

Solution 2:

--foo.h
/* Tandaan: ipinapalagay ang auto-export (walang __declspec(dllexport)) */
#if (defined(_WIN32) || defined(__CYGWIN__)) && \
!(tinukoy(FOO_BUILD_DLL) || tinukoy(FOO_STATIC))
#define FOO_IMPORT __declspec(dllimport)
#iba
#define FOO_IMPORT
#endif
extern FOO_IMPORT int arr[];
--foo.c
#include "foo.h"
void main(int argc, char **argv){
printf("%d\n",arr[1]);
}

Ang ikaapat na paraan upang maiwasan ang problemang ito ay muling i-code ang iyong library upang gumamit ng functional
interface sa halip na isang interface ng data para sa mga nakakasakit na variable (hal set_foo() at
get_foo() mga function ng accessor). [Ang opsyong ito ay partikular sa i386 PE na naka-target na port
ng linker]

--disable-auto-import
Huwag subukang gumawa ng sopistikadong pag-link ng "_symbol" sa "__imp__symbol" para sa DATA
pag-import mula sa mga DLL. [Ang opsyong ito ay partikular sa i386 PE na naka-target na port ng
linker]

--enable-runtime-pseudo-reloc
Kung ang iyong code ay naglalaman ng mga expression na inilarawan sa --enable-auto-import na seksyon, iyon ay,
DATA imports mula sa DLL na may non-zero offset, ang switch na ito ay lilikha ng vector ng
'runtime pseudo relocations' na maaaring gamitin ng runtime environment upang ayusin
mga sanggunian sa naturang data sa iyong client code. [Ang opsyong ito ay partikular sa i386 PE
naka-target na port ng linker]

--disable-runtime-pseudo-reloc
Huwag gumawa ng mga pseudo relocation para sa non-zero offset na pag-import ng DATA mula sa mga DLL. [Ito
ang opsyon ay partikular sa i386 PE na naka-target na port ng linker]

--enable-extra-pe-debug
Magpakita ng karagdagang impormasyon sa pag-debug na nauugnay sa pag-thunking ng simbolo ng auto-import. [Ang pagpipiliang ito ay
partikular sa i386 PE na naka-target na port ng linker]

--section-alignment
Itinatakda ang pagkakahanay ng seksyon. Ang mga seksyon sa memorya ay palaging magsisimula sa mga address na kung saan
ay isang multiple ng numerong ito. Default sa 0x1000. [Ang opsyong ito ay partikular sa
i386 PE na naka-target na port ng linker]

--salansan reserba
--salansan reserba,gumawa
Tukuyin ang bilang ng mga byte ng memory na irereserba (at opsyonal na i-commit) na gagamitin bilang
stack para sa program na ito. Ang default ay 2MB reserved, 4K committed. [Ang pagpipiliang ito ay
partikular sa i386 PE na naka-target na port ng linker]

--subsystem alin
--subsystem alin:pangunahing
--subsystem alin:pangunahing.minor
Tinutukoy ang subsystem kung saan ipapatupad ang iyong program. Ang mga legal na halaga para sa
alin ay "native", "windows", "console", "posix", at "xbox". Maaari mong opsyonal na itakda
ang bersyon ng subsystem din. Ang mga numerong halaga ay tinatanggap din para sa alin. [Ang pagpipiliang ito
ay partikular sa i386 PE na naka-target na port ng linker]

Ang mga sumusunod na opsyon ay nagtatakda ng mga flag sa field na "DllCharacteristics" ng PE file
header: [Ang mga opsyong ito ay partikular sa mga port na naka-target sa PE ng linker]

--high-entropy-va
Ang larawan ay katugma sa 64-bit na address space layout randomization (ASLR).

--dynamicbase
Maaaring ilipat ang address ng base ng imahe gamit ang randomization ng layout ng address space
(ASLR). Ang tampok na ito ay ipinakilala sa MS Windows Vista para sa mga target na i386 PE.

--forceinteg
Ipinapatupad ang mga pagsusuri sa integridad ng code.

--nxcompat
Ang larawan ay tugma sa Data Execution Prevention. Ang tampok na ito ay
ipinakilala sa MS Windows XP SP2 para sa mga target na i386 PE.

--walang-paghihiwalay
Bagama't naiintindihan ng larawan ang paghihiwalay, huwag ihiwalay ang larawan.

--hindi-seh
Ang imahe ay hindi gumagamit ng SEH. Walang SE handler ang maaaring tawagan mula sa larawang ito.

--no-bind
Huwag itali ang larawang ito.

--wdmdriver
Ginagamit ng driver ang MS Windows Driver Model.

--tsaware
Ang imahe ay alam ng Terminal Server.

--insert-timestamp
--no-insert-timestamp
Maglagay ng totoong timestamp sa larawan. Ito ang default na gawi ayon sa pagkakatugma nito
legacy code at nangangahulugan ito na gagana ang larawan sa iba pang mga tool na pagmamay-ari. Ang
Ang problema sa default na ito ay magreresulta ito sa bahagyang magkakaibang mga imahe
ginawa sa bawat oras na ang parehong mga mapagkukunan ay naka-link. Ang pagpipilian --no-insert-timestamp maaari
gagamitin upang magpasok ng zero na halaga para sa timestamp, tinitiyak nito na ang mga binary ay gumagawa
mula sa magkatulad na mapagkukunan ay maghahambing ng magkatulad.

Gumagamit ang target na C6X uClinux ng binary na format na tinatawag na DSBT upang suportahan ang mga shared library. Bawat isa
ang shared library sa system ay kailangang magkaroon ng isang natatanging index; lahat ng executable ay gumagamit ng index ng
0.

--dsbt-size laki
Itinatakda ng opsyong ito ang bilang ng mga entry sa DSBT ng kasalukuyang executable o shared
library sa laki. Ang default ay upang lumikha ng isang talahanayan na may 64 na mga entry.

--dsbt-index index
Itinatakda ng opsyong ito ang DSBT index ng kasalukuyang executable o shared library sa index.
Ang default ay 0, na angkop para sa pagbuo ng mga executable. Kung ibinahagi
ang library ay nabuo na may DSBT index na 0, ang "R_C6000_DSBT_INDEX" na mga reloc ay
kinopya sa output file.

Ang --no-merge-exidx-entry hindi pinapagana ng switch ang pagsasama ng mga katabing exidx entry sa
frame unwind info.

Ang 68HC11 at 68HC12 linker ay sumusuporta sa mga partikular na opsyon para makontrol ang memory bank
paglipat ng pagmamapa at pagbuo ng trampoline code.

--walang-trampolin
Hindi pinapagana ng opsyong ito ang pagbuo ng trampoline. Bilang default, ang trampolin ay
nabuo para sa bawat malayong function na tinatawag gamit ang isang "jsr" na pagtuturo (ito
nangyayari kapag ang isang pointer sa isang malayong function ay kinuha).

--bank-window pangalan
Ipinapahiwatig ng opsyong ito sa linker ang pangalan ng rehiyon ng memorya sa ALAALA
detalye na naglalarawan sa window ng memory bank. Ang kahulugan ng naturang rehiyon ay
pagkatapos ay ginamit ng linker upang makalkula ang paging at mga address sa loob ng memory window.

Ang mga sumusunod na opsyon ay sinusuportahan upang makontrol ang paghawak ng GOT generation kapag nagli-link para sa
68K na target.

--nakuha=uri
Sinasabi ng opsyong ito sa linker kung aling GOT generation scheme ang gagamitin. uri dapat isa
of solong, negatibo, multigot or target. Para sa karagdagang impormasyon sumangguni sa entry ng Impormasyon
para ld.

Ang mga sumusunod na opsyon ay sinusuportahan upang kontrolin ang pagbuo ng pagtuturo ng microMIPS kung kailan
pag-link para sa mga target ng MIPS.

--insn32
--no-insn32
Kinokontrol ng mga opsyong ito ang pagpili ng mga tagubilin sa microMIPS na ginamit sa code na binuo ni
ang linker, tulad ng sa PLT o lazy binding stubs, o sa relaxation. Kung
--insn32 ay ginagamit, pagkatapos ang linker ay gumagamit lamang ng 32-bit na mga pag-encode ng pagtuturo. Bilang default
o kaya --no-insn32 ay ginagamit, ang lahat ng mga pag-encode ng pagtuturo ay ginagamit, kabilang ang mga 16-bit
kung saan posible.

Kapaligiran


Maaari mong baguhin ang pag-uugali ng ld kasama ang mga variable ng kapaligiran na "GNUTARGET",
"LDEMULATION" at "COLLECT_NO_DEMANGLE".

Tinutukoy ng "GNUTARGET" ang format ng input-file object kung hindi mo gagamitin -b (o kasingkahulugan nito
--format). Ang halaga nito ay dapat isa sa mga pangalan ng BFD para sa isang format ng pag-input. Kung wala
"GNUTARGET" sa kapaligiran, ld gumagamit ng natural na format ng target. Kung "GNUTARGET"
ay nakatakda sa "default" pagkatapos ay sinusubukan ng BFD na tuklasin ang format ng pag-input sa pamamagitan ng pagsusuri sa binary
input file; madalas na nagtagumpay ang pamamaraang ito, ngunit may mga potensyal na ambiguities, dahil doon
ay walang paraan ng pagtiyak na ang magic number na ginamit upang tukuyin ang mga object-file na format ay
kakaiba. Gayunpaman, ang pamamaraan ng pagsasaayos para sa BFD sa bawat sistema ay naglalagay ng
maginoo na format para sa system na iyon muna sa listahan ng paghahanap, kaya ang mga ambiguity ay naresolba
pabor sa kombensiyon.

Tinutukoy ng "LDEMULATION" ang default na emulation kung hindi mo gagamitin ang -m pagpipilian Ang
Ang pagtulad ay maaaring makaapekto sa iba't ibang aspeto ng pag-uugali ng linker, partikular na ang default na linker
iskrip. Maaari mong ilista ang mga magagamit na emulasyon sa --verbose or -V mga pagpipilian. Kung ang
-m opsyon ay hindi ginagamit, at ang "LDEMULATION" kapaligiran variable ay hindi tinukoy, ang
Ang default na emulation ay depende sa kung paano na-configure ang linker.

Karaniwan, ang linker ay magiging default sa mga demangling na simbolo. Gayunpaman, kung
Ang "COLLECT_NO_DEMANGLE" ay nakatakda sa kapaligiran, pagkatapos ay magiging default ito sa hindi demangling
mga simbolo. Ang environment variable na ito ay ginagamit sa katulad na paraan ng "gcc" linker
programa ng pambalot. Ang default ay maaaring ma-override ng --demangle at --walang-demangle
mga pagpipilian.

Gumamit ng mips64el-linux-gnuabi64-ld online gamit ang mga serbisyo ng onworks.net


Ad


Ad

Pinakabagong Linux at Windows online na mga programa