InglesPransesEspanyol

Ad


OnWorks favicon

i686-linux-gnu-ld - Online sa Cloud

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

Ito ang command na i686-linux-gnu-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 itali ang mga sanggunian ng simbolo. Karaniwan ang huling hakbang sa pag-compile ng a
programa ay upang tumakbo ld.

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

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

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

Bukod sa flexibility nito, mas nakakatulong ang GNU linker kaysa sa iba
linker sa pagbibigay ng diagnostic na impormasyon. Maraming linker ang umaalis
execution kaagad kapag nakatagpo ng isang error; Kung kailan pwede, ld
nagpapatuloy sa pagpapatupad, na nagbibigay-daan sa iyong makilala ang iba pang mga error (o, sa ilang
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 katugma hangga't maaari sa iba pang mga linker. Bilang resulta, mayroon ka
maraming mga pagpipilian upang kontrolin ang pag-uugali nito.

Opsyon


Sinusuportahan ng linker ang isang kalabisan ng mga pagpipilian sa command-line, ngunit sa aktwal
isagawa ang ilan sa mga ito ay ginagamit sa anumang partikular na konteksto. Halimbawa,
isang madalas na paggamit ng ld ay i-link ang mga karaniwang Unix object file sa a
standard, suportadong Unix system. Sa ganoong sistema, upang i-link ang isang file
"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-uugnay
ang file na "/lib/crt0.o" na may "hello.o" at ang library na "libc.a", na
ay magmumula sa karaniwang mga direktoryo ng paghahanap. (Tingnan ang talakayan ng
ang -l opsyon sa ibaba.)

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

Ang mga argumentong hindi opsyon ay mga object file o archive na dapat
magkakaugnay. Maaari silang sumunod, mauna, o ihalo sa
mga opsyon sa command-line, maliban na ang isang object file argument ay maaaring hindi
inilagay sa pagitan ng isang opsyon at argumento nito.

Karaniwan ang linker ay hinihingi ng hindi bababa sa isang object file, ngunit ikaw
maaaring tukuyin ang iba pang mga anyo ng binary input file gamit ang -l, -R, at ang
wika ng utos ng script. Kung hindi binary 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, malalaman nito
ipagpalagay na ito ay isang linker script. Isang script na tinukoy sa ganitong paraan
dinadagdagan ang pangunahing script ng linker na ginamit para sa link (alinman sa default
linker script o ang tinukoy sa pamamagitan ng paggamit -T). Pinahihintulutan ng tampok na ito
ang linker sa link laban sa isang file na lumilitaw na isang bagay o isang
archive, ngunit talagang tumutukoy lamang sa ilang mga halaga ng simbolo, o gamit
"INPUT" o "GROUP" upang mag-load ng iba pang mga bagay. Pagtukoy ng script dito
Ang paraan ay nagpapalaki lamang sa pangunahing script ng linker, kasama ang mga karagdagang utos
inilagay pagkatapos ng pangunahing script; gamitin ang -T opsyon upang palitan ang default
linker script nang buo, ngunit tandaan ang epekto ng utos na "INSERT".

Para sa mga opsyon na ang mga pangalan ay iisang titik, dapat ang mga argumento ng opsyon
sundin ang liham ng opsyon nang hindi nakikialam sa whitespace, o maging
ibinigay 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
maaaring mauna ang pangalan ng opsyon; Halimbawa, -bakas-simbolo at
--trace-simbolo ay katumbas. Tandaan---may isang pagbubukod dito
tuntunin. Maramihang mga pagpipilian sa titik na nagsisimula sa isang maliit na titik na 'o' na lata
mauunahan lamang 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 itinatakda ang bandila ng NMAGIC sa output.

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

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

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. Pagkalito
maaari ring lumitaw kapag nagpapasa ng mga opsyon na nangangailangan ng mga halaga sa pamamagitan ng a
driver, dahil ang paggamit ng puwang sa pagitan ng opsyon at argumento ay nagsisilbing a
separator, at nagiging sanhi ng driver na ipasa lamang ang opsyon sa linker
at ang argumento sa compiler. Sa kasong ito, ito ay pinakasimpleng gamitin
ang pinagsamang mga anyo ng parehong 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 tinanggap ng
GNU linker:

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

Mga pagpipilian sa file ay pinaghihiwalay ng whitespace. Isang whitespace
character ay maaaring isama sa isang opsyon sa pamamagitan ng pagpapaligid sa kabuuan
opsyon sa isa o dobleng panipi. Anumang karakter (kabilang ang
isang backslash) ay maaaring isama sa pamamagitan ng paglalagay ng prefix sa magiging karakter
kasama ng backslash. Ang file maaaring maglaman ng karagdagang
@file mga pagpipilian; anumang ganitong mga opsyon ay ipoproseso nang recursively.

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

--audit AUDITLIB
Nagdadagdag AUDITLIB sa entry na "DT_AUDIT" ng dynamic na seksyon.
AUDITLIB ay hindi sinusuri para sa pagkakaroon, at hindi rin ito gagamit ng
Tinukoy ang DT_SONAME sa library. Kung tinukoy ng maraming beses
Ang "DT_AUDIT" ay maglalaman ng isang colon separated na listahan ng mga interface ng audit
gamitin. Kung ang linker ay nakahanap ng isang bagay na may audit entry habang
naghahanap ng mga nakabahaging aklatan, magdaragdag ito ng katumbas
"DT_DEPAUDIT" na entry sa output file. Ang pagpipiliang ito ay lamang
makabuluhan 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
960 na pamilya, na nagpapagana ng ilang mga pag-iingat at pagbabago sa archive-
landas ng paghahanap sa library.

Mga paglabas sa hinaharap ng ld maaaring suportahan ang katulad na paggana para sa iba
mga pamilya ng arkitektura.

-b input-format
--format=input-format
ld maaaring i-configure upang suportahan ang higit sa isang uri ng object file.
Kung ang iyong ld ay naka-configure sa ganitong paraan, maaari mong gamitin ang -b pagpipilian sa
tukuyin ang binary format para sa input object file na sumusunod dito
opsyon sa command line. Kahit na ld ay naka-configure upang suportahan
alternatibong object format, hindi mo karaniwang kailangang tukuyin ito,
as ld dapat i-configure upang asahan bilang default na format ng pag-input ang
pinakakaraniwang format sa bawat makina. input-format ay isang text string,
ang pangalan ng isang partikular na format na sinusuportahan ng 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 na format. Maaari mo ring gamitin -b upang lumipat ng mga format
tahasan (kapag nagli-link ng mga object file ng iba't ibang format), sa pamamagitan ng
kabilang -b input-format bago ang bawat pangkat ng mga object file sa a
partikular na format.

Ang default na format ay kinuha mula sa environment variable
"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 script
mga file na nakasulat sa isang kahaliling, pinaghihigpitang command language,
na inilarawan sa seksyong MRI Compatible Script Files 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 wika ng scripting. Kung MRI-cmdfile ay wala, ld hinahanap para sa
ito sa mga direktoryo na tinukoy ng alinman -L mga pagpipilian.

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

--depaudit AUDITLIB
-P AUDITLIB
Nagdadagdag AUDITLIB sa entry na "DT_DEPAUDIT" ng dynamic na seksyon.
AUDITLIB ay hindi sinusuri para sa pagkakaroon, at hindi rin ito gagamit ng
Tinukoy ang DT_SONAME sa library. Kung tinukoy ng maraming beses
Maglalaman ang "DT_DEPAUDIT" ng listahan ng audit na pinaghihiwalay ng tutuldok
mga interface na gagamitin. Ang pagpipiliang ito ay makabuluhan lamang sa mga platform ng ELF
pagsuporta sa rtld-audit interface. Ang -P na opsyon ay ibinigay para sa
Ang pagiging tugma ng Solaris.

-e pagpasok
--entry=pagpasok
paggamit pagpasok bilang tahasang simbolo para sa pagsisimula ng pagpapatupad ng iyong
program, sa halip na ang default na entry point. Kung wala
simbolo na pinangalanan pagpasok, susubukan ng linker na i-parse pagpasok bilang isang numero,
at gamitin iyon bilang entry address (ang numero ay bibigyang-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
awtomatikong mai-export. Ang mga pangalan ng silid-aklatan ay maaaring itakda ng
kuwit o tutuldok. Ang pagtukoy sa "--exclude-libs ALL" ay hindi kasama ang mga simbolo
sa lahat ng archive library mula sa awtomatikong pag-export. Ang pagpipiliang ito ay
magagamit lamang para sa i386 PE na naka-target na port ng linker at para sa
Mga port na naka-target sa ELF. Para sa i386 PE, ang mga simbolo ay tahasang nakalista sa a
Na-export pa rin ang .def file, anuman ang opsyong ito. Para sa ELF
mga naka-target na port, ang mga simbolo na apektado ng opsyong ito ay ituturing bilang
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 i-export, ngunit dapat na
kinopya ang wholesale sa import library na nabuo sa panahon ng
link. Ang mga pangalan ng module ay maaaring itakda ng mga kuwit o tutuldok, at
dapat eksaktong tumugma sa mga filename na ginamit ni ld upang buksan ang mga file; para sa
archive ng mga miyembro, ito ay simpleng pangalan ng miyembro, ngunit para sa object
mga file na dapat isama at eksaktong tumugma ang pangalang nakalista sa anumang landas
ginamit upang tukuyin ang input file sa command-line ng linker. Ito
ang opsyon ay magagamit lamang para sa i386 PE na naka-target na port ng
linker. Ang mga simbolo na tahasang nakalista sa isang .def file ay pa rin
na-export, anuman ang opsyong 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 magdagdag ng lahat ng mga simbolo
sa talahanayan ng dinamikong simbolo. Ang talahanayan ng dynamic na simbolo ay ang set
ng mga simbolo na nakikita mula sa mga dynamic na bagay sa oras ng pagtakbo.

Kung hindi mo ginagamit ang alinman sa mga opsyong ito (o gamitin ang
--no-export-dynamic opsyon upang ibalik ang default na gawi), ang
dynamic na simbolo talahanayan ay karaniwang naglalaman lamang ng mga simbolo na
ay isinangguni 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
bumalik sa mga simbolo na tinukoy ng programa, sa halip na iba pa
dynamic na bagay, pagkatapos ay malamang na kailangan mong gamitin ang pagpipiliang ito kapag
pag-uugnay sa mismong programa.

Maaari mo ring gamitin ang dynamic na listahan upang kontrolin kung anong mga simbolo ang dapat
idinagdag sa talahanayan ng dynamic na simbolo 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. PE
Sinusuportahan ng mga target ang isang katulad na function upang 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.

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

-f pangalan
--auxiliary=pangalan
Kapag gumagawa ng ELF shared object, itakda ang panloob na DT_AUXILIARY
field sa tinukoy na pangalan. Ito ay nagsasabi sa dynamic na linker na
ang simbolong talahanayan ng ibinahaging 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, kailan
pinapatakbo mo ang program, makikita ng dynamic na linker ang DT_AUXILIARY
patlang. Kung niresolba ng dynamic na linker ang anumang mga simbolo mula sa filter
object, susuriin muna nito kung mayroong kahulugan sa
nakabahaging bagay pangalan. Kung mayroon man, ito ang gagamitin sa halip na
ang kahulugan sa bagay na pansala. Ang nakabahaging bagay pangalan kailangan
hindi umiiral. Kaya ang shared object pangalan maaaring gamitin upang magbigay ng isang
alternatibong pagpapatupad ng ilang mga 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
gagawin ang mga entry sa pagkakasunud-sunod kung saan lilitaw 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 na pangalan. Ito ay nagsasabi sa dynamic na linker na
ang simbolo ng talahanayan ng nakabahaging bagay na 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, kailan
pinapatakbo mo ang program, makikita ng dynamic na linker ang DT_FILTER
patlang. Ang dynamic na linker ay lutasin ang mga simbolo ayon sa
simbolo talahanayan ng filter na bagay gaya ng dati, ngunit ito ay talagang
link sa mga kahulugan na matatagpuan sa nakabahaging bagay pangalan. Kaya, ang
maaaring gamitin ang filter na bagay upang pumili ng subset ng mga simbolo
ibinigay ng bagay 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. Gumagamit ang GNU linker ng iba pang mekanismo para dito
layunin: ang -b, --format, --oformat mga opsyon, ang "TARGET" na utos
sa mga script ng linker, at ang variable ng kapaligiran na "GNUTARGET". Ang
Ang linker ng GNU ay hindi papansinin ang -F opsyon kapag hindi gumagawa ng ELF
nakabahaging bagay.

-fini=pangalan
Kapag gumagawa ng ELF executable o shared object, tawagan ang NAME kapag
ang executable o shared object ay na-unload, sa pamamagitan ng pagtatakda ng DT_FINI sa
ang address ng function. Bilang default, ang linker ay gumagamit ng "_fini"
bilang function na tumawag.

-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
magparehistro sa laki. Ito ay makabuluhan lamang para sa mga format ng object file
tulad ng MIPS ELF na sumusuporta sa paglalagay ng malalaki at maliliit na bagay
iba't ibang seksyon. Ito ay hindi pinapansin para sa iba pang mga object file format.

-h pangalan
-soname=pangalan
Kapag gumagawa ng ELF shared object, itakda ang panloob na DT_SONAME
field sa tinukoy na pangalan. Kapag ang isang executable ay naka-link sa a
shared object na mayroong DT_SONAME field, pagkatapos ay kapag ang executable
ay tumatakbo ang dynamic na linker ay susubukan na i-load ang nakabahaging bagay
tinukoy ng field ng DT_SONAME kaysa sa paggamit ng file
pangalan na ibinigay sa 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 shared object ay na-load, sa pamamagitan ng pagtatakda ng DT_INIT sa
ang address ng function. Bilang default, ang linker ay gumagamit ng "_init"
bilang function na tumawag.

-l namespec
--library=namespec
Idagdag ang archive o object file na tinukoy ni namespec sa listahan ng
mga file upang i-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 ay maghahanap ito sa library
path para sa isang file na tinatawag libnamespec.a.

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

Isang beses lang maghahanap ang linker sa isang archive, sa lokasyon kung saan
ito ay tinukoy sa command line. Kung tinukoy ng archive ang a
simbolo na hindi natukoy sa ilang bagay na lumitaw 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 na lumilitaw mamaya sa command line ay hindi magiging sanhi ng
linker upang maghanap muli sa archive.

Tingnan ang -( opsyon para sa isang paraan upang pilitin ang linker na maghanap ng mga archive
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 gumagamit ka ld sa AIX, tandaan na iba ito sa
ang 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
anumang bilang ng beses. Hinahanap ang mga direktoryo sa pagkakasunud-sunod sa
kung saan sila ay tinukoy sa command line. Mga direktoryo
na tinukoy sa command line ay hinanap bago ang default
mga direktoryo. Lahat -L naaangkop sa lahat ang mga opsyon -l mga opsyon, anuman ang
ang pagkakasunud-sunod kung saan lilitaw ang mga pagpipilian. -L hindi makakaapekto ang mga opsyon
paano ld naghahanap ng linker script maliban kung -T ang pagpipilian ay tinukoy.

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

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

Ang mga path ay maaari ding tukuyin sa isang link script na may
"SEARCH_DIR" na utos. Hinahanap ang mga direktoryo na tinukoy sa ganitong paraan
sa punto kung saan lumilitaw ang script ng linker sa command
linya.

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

Kung ang -m opsyon ay hindi ginagamit, ang pagtulad ay kinuha mula sa
"LDEMULATION" environment variable, kung iyon ay tinukoy.

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

-M
--print-map
Mag-print ng link na mapa sa karaniwang output. Nagbibigay ang isang link na mapa
impormasyon tungkol sa link, kabilang 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 na naging dahilan ng pagdadala ng miyembro ng archive.

· Ang mga halagang itinalaga sa mga simbolo.

Tandaan - mga simbolo na ang mga halaga ay kinalkula sa pamamagitan ng isang expression na
nagsasangkot ng isang reference sa isang nakaraang halaga ng parehong simbolo ay maaaring
walang tamang resulta na ipinapakita sa link map. Ito ay
dahil itinatapon ng linker ang mga intermediate na resulta at lamang
Pinapanatili ang panghuling halaga ng isang expression. Sa ilalim ng ganyan
mga pangyayari na ipapakita ng linker ang huling halaga na nakapaloob
sa pamamagitan ng mga square bracket. Kaya halimbawa isang linker script
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 karagdagang 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 format ng output ay sumusuporta sa Unix style magic
mga numero, markahan ang output bilang "NMAGIC".

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

--walang-omagic
Ang pagpipiliang ito ay nagpapawalang-bisa sa karamihan ng mga epekto ng -N opsyon. Nagtatakda ito
ang seksyon ng teksto na maging read-only, at pinipilit na maging ang segment ng data
nakahanay sa pahina. Tandaan - hindi pinapagana ng opsyong ito ang pag-link laban sa
mga shared library. Gamitin -Bdynamic para dito.

-o output
--output=output
paggamit output bilang pangalan para sa programang ginawa ng ld; kung ito
opsyon ay hindi tinukoy, ang pangalan a.labas ay ginagamit bilang default. Ang
Ang utos ng script na "OUTPUT" ay maaari ding tukuyin ang pangalan ng file ng output.

-O antas
If antas ay isang numeric na halaga na mas malaki sa zero ld ino-optimize ang
output. Maaaring mas matagal ito at samakatuwid
marahil ay dapat lamang paganahin para sa panghuling binary. Sa
sa sandaling ang pagpipiliang ito ay nakakaapekto lamang sa pagbuo ng ELF shared library.
Ang mga paglabas sa hinaharap ng linker ay maaaring mas gumamit ng opsyong ito.
Sa kasalukuyan ay walang pagkakaiba sa pag-uugali ng linker para sa
iba't ibang di-zero na halaga ng opsyong ito. Muli ito ay maaaring magbago
na may mga paglabas sa hinaharap.

--push-estado
Ang --push-estado nagbibigay-daan upang mapanatili ang kasalukuyang estado ng mga watawat
na namamahala sa paghawak ng input file upang maging lahat sila
naibalik na may katumbas na isa --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. Kailan
ginamit kasama ng --libs opsyon lahat ng posibleng kailangan na mga aklatan ay
nakalista at pagkatapos ay posibleng naka-link sa lahat ng oras. Ito ay mas mahusay na
ibalik ang isang bagay tulad ng sumusunod:

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

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

-q
--emit-relocs
Mag-iwan ng mga seksyon at nilalaman ng relokasyon sa ganap na naka-link na mga executable.
Maaaring kailanganin ng mga tool sa pagsusuri at pag-optimize ng post link ang impormasyong ito
upang maisagawa ang mga tamang pagbabago ng mga executable. Ito
nagreresulta 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 mga target ng VxWorks.

-r
--relocatable
Bumuo ng relocatable na output---ibig sabihin, bumuo ng isang output file na
maaari namang magsilbing input sa ld. Ito ay madalas na tinatawag may pinapanigan
pag-uugnay. Bilang isang side effect, sa mga kapaligiran na sumusuporta sa pamantayan
Unix magic number, ang opsyong ito ay nagtatakda din ng magic ng output file
numero sa "OMAGIC". Kung ang pagpipiliang ito ay hindi tinukoy, isang ganap
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 gaya ng output
file, ang bahagyang pag-link ay sinusuportahan lamang kung ang input file na iyon ay hindi
naglalaman ng anumang mga relokasyon. Iba't ibang mga format ng output ay maaaring magkaroon ng karagdagang
mga paghihigpit; halimbawa ang ilang "a.out"-based na mga format ay hindi sumusuporta
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, pero huwag
ilipat ito o isama ito sa output. Pinapayagan nito ang iyong output
file upang sumangguni sa simbolikong 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 pangalan ng direktoryo, sa halip na isang pangalan ng file, ito ay
tinatrato 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 ld's
default linker script (sa halip na idagdag dito), kaya commandfile
dapat tukuyin ang lahat ng kailangan para ilarawan ang output file.
If scriptfile ay hindi umiiral sa kasalukuyang direktoryo, ang hitsura ng "ld".
para dito sa mga direktoryo na tinukoy ng alinmang nauna -L mga pagpipilian.
Maramihang -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 doon
ang pagproseso ng script ay naantala hanggang matapos ang natitirang bahagi ng
naproseso na ang command line. Nagbibigay-daan ito sa mga opsyon na inilagay pagkatapos
ang --default-script opsyon sa command line upang maapektuhan ang
pag-uugali ng script ng linker, na maaaring maging mahalaga kapag ang
linker command line ay hindi maaaring direktang kontrolin ng user. (hal
dahil ang command line ay ginagawa ng isa pang tool, tulad
as gcc).

-u simbolo
--undefined=simbolo
Pilitin simbolo na maipasok sa output file bilang isang hindi natukoy
simbolo. Ang paggawa nito ay maaaring, halimbawa, mag-trigger ng pag-link ng karagdagang
mga module mula sa karaniwang mga aklatan. -u maaaring ulitin sa iba
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 pagpipiliang ito ay ginagamit upang pilitin ang mga karagdagang module na maging
hinila sa link, at kung ito ay isang error para sa simbolo sa
mananatiling hindi natukoy, pagkatapos ay ang opsyon --require-defined dapat gamitin
sa halip.

--require-defined=simbolo
Require yan simbolo ay tinukoy sa output file. Ang pagpipiliang ito ay
kapareho ng opsyon --hindi natukoy maliban na kung simbolo hindi nakalagay
sa output file pagkatapos ay maglalabas ang linker ng isang error at lalabas.
Ang parehong epekto ay maaaring makamit sa isang linker script sa pamamagitan ng paggamit
Magkasama ang "EXTERN", "ASSERT" at "DEFINED". Maaaring gamitin ang pagpipiliang ito
maraming beses upang mangailangan ng mga karagdagang simbolo.

-Ur Para sa anumang bagay maliban sa mga programang C++, ang pagpipiliang ito ay katumbas ng
-r: ito ay bumubuo ng relocatable na output---ibig sabihin, isang output file na maaari
nagsisilbi namang input sa ld. Kapag nagli-link ng mga programang C++, -Ur ang
lutasin ang mga sanggunian sa mga konstruktor, hindi katulad -r. Hindi ito gumagana sa
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 huling bahagyang link, at -r para sa iba.

--ulila-paghawak=MODE
Kontrolin kung paano pinangangasiwaan ang mga orphan section. Ang isang orphan section ay isa
hindi partikular na binanggit 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
pagsunod sa diskarteng inilarawan sa Ulila Seksyon. ang
opsyon --natatangi epekto din kung paano inilalagay ang mga seksyon.

"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
naglalabas din ng babala.

"error"
Lalabas ang linker nang may error kung mayroong orphan section
natagpuan.

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 orphan input section. Ang isang orphan section ay isa hindi
partikular na binanggit sa isang linker script. Maaari mong gamitin ang opsyong ito
maraming beses sa command line; Pinipigilan nito ang normal na pagsasama
ng mga seksyon ng input na may parehong pangalan, na nag-o-override sa seksyon ng output
mga takdang-aralin sa isang linker script.

-v
--bersyon
-V Ipakita ang numero ng bersyon para sa ld. ang -V ang opsyon ay naglilista din ng
mga suportadong 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 simbolong ito ay nagsisimula sa
mga prefix ng lokal na label na partikular sa system, karaniwan .L para sa mga sistema ng ELF
or 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. Ito
ang opsyon ay maaaring ibigay sa anumang bilang ng beses. Sa maraming mga sistema ito ay
kinakailangan upang maghanda ng underscore.

Ang pagpipiliang ito ay kapaki-pakinabang kapag mayroon kang hindi natukoy na simbolo sa iyong
link ngunit hindi alam kung saan nanggagaling ang sanggunian.

-Y landas
Idagdag landas sa default na landas sa paghahanap ng library. Ang pagpipiliang ito ay umiiral
para sa pagiging tugma ng Solaris.

-z keyword
Ang mga kinikilalang keyword ay:

combreloc
Pinagsasama-sama ang maraming reloc na seksyon at pinagbubukod-bukod ang mga ito para maging dynamic
Posible ang pag-cache ng simbolo ng paghahanap.

defs
Hindi pinapayagan ang mga hindi natukoy na simbolo sa mga object file. Mga hindi natukoy na simbolo
sa mga shared library ay pinapayagan pa rin.

execstack
Minamarkahan ang object bilang nangangailangan ng executable stack.

global
Ang pagpipiliang ito ay makabuluhan lamang kapag bumubuo ng isang nakabahaging bagay.
Ginagawa nitong available ang mga simbolo na tinukoy ng nakabahaging bagay na ito
para sa paglutas ng simbolo ng mga kasunod na na-load na mga aklatan.

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

interpose
Minarkahan ang bagay na ang simbolong talahanayan nito ay sumasagi sa lahat
mga simbolo ngunit ang pangunahing executable.

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

loadfltr
Minarkahan ang bagay kung saan agad na pinoproseso ang mga filter nito
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 ginamit bilang kapalit ng
mga variable na tinukoy sa mga shared library. Maaaring magresulta sa dynamic
mga paglipat ng teksto.

nodefaultlib
Minarkahan ang bagay na naghahanap para sa mga dependencies nito
babalewalain ng object ang anumang default na path ng paghahanap sa 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
bagay.

ngayon Kapag bumubuo ng isang executable o shared library, markahan ito sa
sabihin sa dynamic na linker na lutasin ang lahat ng mga simbolo kapag ang programa
ay nagsimula, o kapag ang nakabahaging library ay naka-link sa paggamit
dlopen, sa halip na ipagpaliban ang resolution ng tawag sa function 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.
Ang pagtukoy ng zero ay mag-o-override sa anumang default na hindi-zero na laki
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
nakabahaging aklatan. Ino-override ng opsyong ito ang default na backend ng linker.
Maaari itong magamit upang malutas ang mga maling relokasyon 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
nagresultang shared library. 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" na padding kapag binago ang hindi direkta
tumawag sa isang lokal na tinukoy na function, foo, sa pamamagitan ng GOT slot nito.
call-nop=prefix-addr bumubuo ng "0x67 call 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 sila ay alinman
tahasang mga pangalan ng file, o -l mga pagpipilian.

Ang mga tinukoy na archive ay paulit-ulit na hinahanap hanggang sa walang bago
ang mga hindi natukoy na sanggunian ay nilikha. Karaniwan, hinahanap ang isang archive
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 lalabas mamaya
sa command line, hindi iyon malulutas ng linker
sanggunian. Sa pamamagitan ng pagpapangkat ng mga archive, lahat sila ay hahanapin
paulit-ulit hanggang sa malutas ang lahat ng posibleng sanggunian.

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

--accept-unknown-input-arch
--no-accept-unknown-input-arch
Sinasabi sa linker na tanggapin ang mga input file na hindi maaaring maging ang arkitektura
kinikilala. Ang palagay ay alam ng gumagamit kung ano sila
ginagawa at sadyang gustong mag-link sa mga hindi kilalang input file na ito.
Ito ang default na gawi ng linker, bago ilabas ang 2.14.
Ang default na gawi mula sa release 2.14 pataas ay ang pagtanggi sa ganoon
input file, at iba pa ang --accept-unknown-input-arch naging opsyon
idinagdag upang maibalik ang dating gawi.

--kung kinakailangan
--hindi-kung-kailangan
Nakakaapekto ang opsyong ito sa mga ELF DT_NEEDED tag para sa mga dynamic na library
nabanggit sa command line pagkatapos ng --kung kinakailangan pagpipilian.
Karaniwan ang linker ay magdaragdag ng DT_NEEDED na tag para sa bawat dynamic
library na binanggit sa command line, hindi alintana kung ang
kailangan talaga o hindi ang library. --kung kinakailangan nagiging sanhi ng DT_NEEDED
tag na ilalabas lamang para sa isang library na at na punto in ang link
natutugunan ang isang hindi mahinang hindi natukoy na sanggunian ng simbolo mula sa isang regular
object file o, kung ang library ay hindi matatagpuan sa mga listahan ng DT_NEEDED
ng iba pang mga kinakailangang aklatan, isang hindi mahinang hindi natukoy na sanggunian ng simbolo
mula sa isa pang kinakailangang dynamic na library. Mga Object file o library
lumalabas sa command line pagkatapos ang library na pinag-uusapan ay hindi
makakaapekto kung ang aklatan ay nakikita kung kinakailangan. Ito ay katulad ng
ang mga patakaran 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 pagkakatulad ng
kanilang mga pangalan sa --kung kinakailangan at --hindi-kung-kailangan mga pagpipilian. sila
napalitan 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 sinusuportahan ang mga shared library. Ang pagpipiliang ito ay
karaniwang ang default sa naturang mga platform. Ang iba't ibang variant ng
ang pagpipiliang ito ay para sa pagiging tugma sa iba't ibang mga sistema. Maaari mong
gamitin ang opsyong ito ng maraming beses sa command line: nakakaapekto ito
library na naghahanap ng -l mga opsyon na sumusunod dito.

-Bgroup
Itakda ang flag na "DF_1_GROUP" sa entry na "DT_FLAGS_1" sa dynamic
seksyon. Nagiging sanhi ito ng runtime linker na pangasiwaan ang mga paghahanap dito
bagay at ang mga dependency nito na isasagawa lamang sa loob ng grupo.
--unresolved-symbols=report-all ay ipinahiwatig. Ang pagpipiliang ito ay lamang
makabuluhan 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
Ang mga 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: ito
nakakaapekto sa paghahanap ng library -l mga opsyon na sumusunod dito. Ito
ang opsyon ay nagpapahiwatig din --unresolved-symbols=report-all. Ang pagpipiliang ito
maaaring magamit sa -ibinahagi. Ang paggawa nito ay nangangahulugan na ang isang nakabahaging aklatan ay
nilikha ngunit ang lahat ng mga panlabas na sanggunian ng library
dapat malutas sa pamamagitan ng pagkuha ng mga entry mula sa mga static na 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, ito
ay posible para sa isang program na naka-link laban sa isang shared library sa
i-override ang kahulugan sa loob ng shared library. Ang pagpipiliang ito ay maaaring
magagamit din sa --export-dynamic opsyon, kapag lumilikha ng a
posisyon na independiyenteng maipapatupad, upang magbigkis ng mga sanggunian sa global
mga simbolo sa kahulugan sa loob ng executable. Ang pagpipiliang ito ay
makabuluhan lamang sa mga platform ng ELF na sumusuporta sa mga shared library at
posisyon ng mga independiyenteng executable.

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

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

Ang format ng dynamic na listahan ay kapareho ng version node
walang saklaw at pangalan ng node. 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-bago
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 uri ng C++ runtime
pagkakakilanlan.

--check-seksyon
--no-check-sections
Tanong ng linker hindi upang suriin ang mga address ng seksyon pagkatapos ng mga ito
itinalaga upang makita kung mayroong anumang mga overlap. Karaniwan ang linker
gagawa ng pagsusuring ito, at kung makakita ito ng anumang magkakapatong ay gagawin nito
gumawa 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. Ang default
maaaring maibalik ang pag-uugali sa pamamagitan ng paggamit ng command line switch
--check-seksyon. Hindi karaniwang sinusuri ang overlap ng seksyon
relocatable links. Maaari mong pilitin ang pagsuri sa kasong iyon sa pamamagitan ng paggamit
ang --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
sa pamamagitan ng DT_NEEDED tag loob ELF dynamic na mga aklatan na binanggit sa
command line. Karaniwan ang linker ay hindi magdaragdag ng DT_NEEDED na 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
ang command line gayunpaman ang anumang mga dynamic na aklatan na sumusunod dito ay gagawin
idagdag ang kanilang DT_NEEDED na mga entry. Ang default na pag-uugali ay maaaring
naibalik na may --no-copy-dt-needed-entry.

May epekto din ang opsyong ito sa paglutas ng mga simbolo sa
mga dynamic na aklatan. Sa --copy-dt-needed-entry mga dynamic na aklatan
na binanggit sa command line ay muling hahanapin,
pagsunod sa kanilang DT_NEEDED tag sa iba pang mga aklatan, upang
lutasin ang mga simbolo na kailangan ng output binary. Gamit ang default
setting gayunpaman ang paghahanap ng mga dynamic na aklatan na sumusunod dito
titigil sa mismong dynamic na library. Walang DT_NEEDED link ang gagawin
dadaanan upang malutas ang mga simbolo.

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

Ang format ng talahanayan ay sadyang simple, upang ito ay maging
madaling maproseso ng isang script kung kinakailangan. Ang mga simbolo ay nakalimbag
out, inayos ayon sa pangalan. Para sa bawat simbolo, isang listahan ng mga pangalan ng file ay
binigay. Kung tinukoy ang simbolo, ang unang nakalistang file ay ang
lokasyon ng kahulugan. Kung ang simbolo ay tinukoy bilang karaniwan
halaga pagkatapos ang anumang mga file kung saan ito mangyayari ay lilitaw sa susunod. Sa wakas kahit ano
nakalista ang mga file na tumutukoy sa simbolo.

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

Ang --no-define-common opsyon ay nagbibigay-daan sa decoupling ang desisyon sa
magtalaga ng mga address sa Karaniwang mga simbolo mula sa pagpili ng output
uri ng file; kung hindi, pinipilit ng isang hindi-Relocatable na uri ng output ang pagtatalaga
mga address sa Karaniwang mga simbolo. Gamit --no-define-common ay nagbibigay-daan sa
Mga karaniwang simbolo na nire-reference mula sa isang shared library to be
nakatalagang mga address lamang sa pangunahing programa. Tinatanggal nito ang
hindi nagamit na duplicate na espasyo sa shared library, at pinipigilan din ang anuman
posibleng pagkalito sa pagresolba sa maling duplicate kapag naroon
ay maraming mga dynamic na module na may espesyal na mga landas sa paghahanap para sa runtime
resolusyon ng simbolo.

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

--demangle[=estilo]
--walang-demangle
Kinokontrol ng mga opsyong ito kung mali ang pagtatanggal ng mga pangalan ng simbolo
mga mensahe at iba pang output. Kapag ang linker ay sinabi sa demangle, ito
sumusubok na ipakita ang mga pangalan ng simbolo sa isang nababasang paraan: ito ay gumuguhit
nangungunang mga salungguhit 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.
Ang iba't ibang mga compiler ay may iba't ibang estilo ng mangling. Ang opsyonal
demangling style argument ay maaaring gamitin upang pumili ng isang naaangkop
demangling style para sa iyong compiler. Ang linker ay demangle sa pamamagitan ng
default maliban kung ang variable ng kapaligiran COLLECT_NO_DEMANGLE ay nakatakda.
Maaaring gamitin ang mga opsyong ito upang i-override ang default.

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

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

--fatal-babala
--walang-fatal-babala
Tratuhin ang lahat ng mga babala bilang mga pagkakamali. Ang default na pag-uugali ay maaaring
naibalik 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 a
".exe" o ".dll" suffix, pinipilit ng opsyong ito ang linker na kopyahin ang
output file sa isa sa parehong pangalan na may suffix na ".exe". Ito
Ang opsyon ay kapaki-pakinabang kapag gumagamit ng hindi binagong Unix makefiles sa a
Microsoft Windows host, dahil ang ilang bersyon ng Windows ay hindi tatakbo ng isang
larawan maliban kung ito ay nagtatapos sa isang ".exe" na suffix.

--gc-sections
--no-gc-sections
Paganahin ang koleksyon ng basura ng mga hindi nagamit na seksyon ng input. Hindi ito pinapansin
sa mga target na hindi sumusuporta sa opsyong ito. Ang default na pag-uugali
(ng hindi pagsasagawa ng pangongolekta ng basurang ito) ay maibabalik ng
tumutukoy --no-gc-sections sa command line. Tandaan na basura
ang koleksyon para sa COFF at mga target na format ng PE 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
mga simbolo at relokasyon. Ang seksyon na naglalaman ng simbolo ng pagpasok
at lahat ng mga seksyon na naglalaman ng mga simbolo na hindi natukoy sa command-line
ay pananatilihin, gayundin ang mga seksyong naglalaman ng mga simbolo na tinutukoy ni
mga dynamic na bagay. Tandaan na kapag nagtatayo ng mga shared library, ang
dapat ipagpalagay ng linker na ang anumang nakikitang simbolo ay isinangguni. minsan
ang paunang hanay ng mga seksyon na ito ay natukoy, ang linker
recursively markahan bilang ginamit ang anumang seksyon na isinangguni sa pamamagitan ng kanilang
mga relokasyon. Tingnan mo --pagpasok at --hindi natukoy.

Maaaring itakda ang opsyong ito kapag gumagawa ng bahagyang link (naka-enable sa
opsyon -r). Sa kasong ito ang ugat ng mga simbolo na itinatago ay dapat na
tahasang tinukoy ng alinman sa isang --pagpasok or --hindi natukoy pagpipilian o
sa pamamagitan ng utos 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 basura
ang koleksyon ay pinagana sa pamamagitan ng --gc-sections) opsyon. Ang
default na pag-uugali (ng hindi paglilista ng mga seksyong aalisin)
maaaring maibalik sa pamamagitan ng pagtukoy --no-print-gc-sections sa utos
linya.

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

--print-memory-usage
I-print ang ginamit na laki, kabuuang sukat at ginamit na sukat ng mga rehiyon ng memorya na nilikha
sa ALAALA utos. Ito ay kapaki-pakinabang sa mga naka-embed na target sa
magkaroon ng mabilis na pagtingin sa dami ng libreng memorya. Ang pormat ng
ang output ay may isang headline at isang linya bawat rehiyon. Pareho itong tao
nababasa 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 lumabas.

--target-tulong
Mag-print ng buod ng lahat ng target na partikular na opsyon sa pamantayan
output at labasan.

-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 ng
mga simbolo ng talahanayan ng mga input file sa memorya. Ang pagpipiliang ito ay nagsasabi ld sa
sa halip ay mag-optimize para sa paggamit ng memorya, sa pamamagitan ng muling pagbabasa ng 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 gumagawa ng hindi simbolikong ibinahagi
aklatan. Ang switch --[no-]allow-shlib-undefined kinokontrol ang
gawi para sa pag-uulat ng mga hindi nalutas na sanggunian na makikita sa ibinahagi
mga aklatan na naka-link.

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

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

Ang default na gawi ay mag-ulat ng mga error para sa anumang hindi natukoy na mga simbolo
isinangguni sa mga shared library kung ginagamit ang linker
lumikha ng isang maipapatupad, ngunit upang payagan ang mga ito kung ang linker ay ginagamit
para gumawa ng shared library.

Ang mga dahilan sa pagpayag sa mga hindi natukoy na sanggunian ng simbolo sa ibinahaging
Ang mga aklatan na tinukoy sa oras ng pag-link ay:

· Ang isang shared library na tinukoy sa oras ng link ay maaaring hindi katulad ng
ang magagamit sa oras ng pag-load, kaya maaaring ang simbolo
talagang malulutas sa oras ng pagkarga.

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

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

--no-undefined-version
Karaniwan kapag ang isang simbolo ay may hindi natukoy na bersyon, gagawin ng linker
Huwag pansinin. Hindi pinapayagan ng opsyong ito ang mga simbolo na may hindi natukoy na bersyon at
isang malalang error ang ibibigay sa halip.

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

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

--no-warn-mismatch
Karaniwan ld ay magbibigay ng error kung susubukan mong i-link ang input
mga file na hindi tugma sa ilang kadahilanan, marahil dahil sila
ay pinagsama-sama para sa iba't ibang mga processor o para sa iba't ibang
endiannesses. Ang pagpipiliang ito ay nagsasabi ld na dapat itong tahimik na payagan
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 nito
hindi naaangkop ang mga error sa linker.

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

--walang-buong-archive
I-off ang epekto ng --buong-archive opsyon para sa kasunod
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
nakatagpo ng mga error sa panahon ng proseso ng link; lumalabas ito nang hindi sumusulat
isang output file kapag nag-isyu ito ng anumang error.

-nostdlib
Maghanap lamang ng mga direktoryo ng library na tahasang tinukoy sa command
linya. Mga direktoryo ng library na tinukoy sa mga script ng linker (kabilang ang
linker script na tinukoy sa command line) ay binabalewala.

--oformat=output-format
ld maaaring i-configure upang suportahan ang higit sa isang uri ng object file.
Kung ang iyong ld ay naka-configure sa ganitong paraan, maaari mong gamitin ang --oformat opsyon
upang tukuyin ang binary format para sa output object file. Kahit na
ld ay naka-configure upang suportahan ang mga alternatibong format ng object, hindi mo
karaniwang 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
suportado ng mga aklatan ng BFD. (Maaari mong ilista ang magagamit na binary
mga format na may objdump -i.) Ang script command na "OUTPUT_FORMAT" ay maaari
tukuyin din ang format ng output, ngunit nilalampasan ito ng opsyong ito.

-pie
--pic-executable
Lumikha ng isang posisyon na independiyenteng maipapatupad. Ito ay kasalukuyang lamang
suportado sa mga platform ng ELF. Ang mga independiyenteng executable sa posisyon ay
katulad ng mga shared library dahil nilipat sila ng
dynamic na linker sa virtual address na pinipili ng OS para sa kanila
(na maaaring mag-iba sa pagitan ng mga invocation). Tulad ng normal na dinamiko
naka-link na mga executable na maaari nilang isagawa at mga simbolo na tinukoy sa
ang 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 pagpipiliang ito ay lamang
suportado sa ilang mga target.

Sa ilang mga platform ang --relax ang opsyon ay gumaganap ng tiyak na target,
mga pandaigdigang pag-optimize na nagiging posible kapag nalutas ang linker
pagtugon sa programa, tulad ng mga mode ng nakakarelaks na 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 ang oras ng pag-link na ito ay maaaring gawin ng mga pandaigdigang pag-optimize
simbolikong pag-debug ng resultang maipapatupad na imposible. Ito ay
kilala na ang kaso para sa pamilyang Matsushita MN10200 at MN10300
ng mga nagpoproseso.

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

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

--retain-symbols-file=filename
Panatilihin lamang ang mga simbolo na nakalista sa file filename, itinatapon ang lahat
iba pa. filename ay simpleng flat file, na may isang pangalan ng simbolo bawat
linya. Ang pagpipiliang ito ay lalong kapaki-pakinabang sa mga kapaligiran (tulad ng
VxWorks) kung saan naipon ang isang malaking talahanayan ng global na simbolo
unti-unti, 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 minsan sa utos
linya. 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 ELF executable sa mga shared object. Lahat -rpath
ang mga argumento ay pinagsama-sama at ipinapasa sa runtime linker, na
ginagamit ang mga ito upang mahanap ang mga nakabahaging bagay sa runtime. Ang -rpath opsyon
ay ginagamit din kapag naghahanap ng mga nakabahaging bagay na kailangan ng
mga nakabahaging bagay na tahasang kasama sa link; tingnan ang paglalarawan
ng -rpath-link pagpipilian Kung -rpath ay hindi ginagamit kapag nag-uugnay ng isang
ELF executable, ang mga nilalaman ng environment variable
Gagamitin ang "LD_RUN_PATH" kung ito ay tinukoy.

Ang -rpath maaari ding gamitin ang opsyon sa SunOS. Bilang default, sa SunOS,
ang linker ay bubuo ng isang runtime na landas sa paghahanap mula sa lahat ng -L
mga pagpipilian na ibinigay. Kung ang -rpath ginagamit ang opsyon, ang runtime
ang landas sa paghahanap ay bubuo ng eksklusibo gamit ang -rpath pagpipilian
hindi pinapansin ang -L mga pagpipilian. Maaari itong maging kapaki-pakinabang kapag gumagamit ng gcc, na
nagdadagdag 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 pangalan ng direktoryo, sa halip na isang pangalan ng file, ito ay
tinatrato 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 link na "ld -shared" ay may kasamang shared library bilang
isa sa mga input file.

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

Ang pagpipiliang ito ay dapat gamitin nang may pag-iingat dahil na-override nito ang paghahanap
landas na maaaring mahirap na naipon sa isang nakabahaging aklatan. Sa
ang ganitong kaso ay posibleng gumamit ng hindi sinasadyang iba
path ng paghahanap kaysa sa gagawin ng runtime linker.

Ginagamit ng linker ang mga sumusunod na landas sa paghahanap upang mahanap ang kinakailangan
mga nakabahaging aklatan:

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 executable at ginagamit sa
runtime, samantalang ang -rpath-link ang opsyon ay epektibo lamang sa
oras ng link. Naghahanap -rpath sa ganitong paraan ay sinusuportahan lamang ng
katutubong linker at 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 hindi ginamit ang mga opsyon, hanapin ang mga nilalaman ng
variable ng kapaligiran "LD_RUN_PATH".

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

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

6. Para sa isang katutubong ELF linker, ang mga direktoryo sa "DT_RUNPATH" o
Hinahanap ang "DT_RPATH" ng isang shared library para sa shared
mga aklatan na kailangan nito. Ang mga entry na "DT_RPATH" ay binabalewala kung
Umiiral ang 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 doon
file.

Kung hindi mahanap ang kinakailangang nakabahaging library, maglalabas ang linker
isang babala at magpatuloy sa link.

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

--sort-common
--sort-common=pataas
--sort-common=pababa
Ang pagpipiliang ito ay nagsasabi ld upang pag-uri-uriin ang mga karaniwang simbolo ayon sa pagkakahanay sa
pataas o pababang ayos kapag inilalagay ang mga ito sa
naaangkop na mga seksyon ng output. Ang mga alignment ng simbolo na isinasaalang-alang ay
labing-anim na byte o mas malaki, walong byte, apat na byte, dalawang-byte, at isang-
byte. Ito ay upang maiwasan ang mga gaps sa pagitan ng mga simbolo dahil sa pagkakahanay
mga hadlang. Kung walang tinukoy na pagkakasunud-sunod ng pag-uuri, pagkatapos ay pababa
ipinapalagay ang order.

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

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

--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 laki ng 1
kung hindi binigay.

--split-by-reloc[=bilangin]
Sinusubukang lumikha ng mga karagdagang seksyon sa output file upang hindi
Ang solong seksyon ng output sa file ay naglalaman ng higit sa bilangin
mga relokasyon. Ito ay kapaki-pakinabang kapag bumubuo ng malalaking relocatable na mga 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
mga relokasyon sa iisang seksyon. Tandaan na hindi ito gagana
na may mga format ng object file na hindi sumusuporta sa 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 relocations isang output section ay maglalaman ng ganoon karami
mga relokasyon. bilangin default sa isang halaga na 32768.

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

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

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

Halimbawa, sa SunOS, ld pinagsasama ang mga duplicate na entry sa simbolo
string table. Maaari nitong bawasan ang laki ng isang output file na puno
pag-debug ng impormasyon ng higit sa 30 porsyento. Sa kasamaang palad, ang SunOS
Hindi mabasa ng "dbx" program ang resultang program ("gdb" ay walang
gulo). 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
by org. Maaari mong gamitin ang opsyong ito nang maraming beses hangga't kinakailangan
hanapin ang maramihang mga seksyon sa command line. org dapat single
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: dapat walang puting espasyo sa pagitan pangalan ng seksyon, ang
katumbas ng 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 segment ng teksto.

-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 unang byte ng
read-only na segment ng data.

-Tldata-segment=org
Kapag lumilikha ng isang ELF executable o shared object para sa x86-64 medium
modelo ng memorya, itatakda nito ang address ng unang byte ng
segment ng ldata.

--unresolved-symbols=paraan
Tukuyin kung paano pangasiwaan ang mga hindi nalutas na simbolo. Mayroong apat
posibleng mga 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 naresolbang simbolo na nasa shared
mga aklatan, ngunit huwag pansinin ang mga ito kung nagmula sila sa regular na bagay
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 lumilikha ng isang dynamic na binary at ito ay kilala na
lahat ng mga shared library na dapat itong sanggunian ay
kasama sa command line ng linker.

Ang pag-uugali para sa mga nakabahaging aklatan sa kanilang sarili ay maaari ding
kinokontrol ng --[no-]allow-shlib-undefined pagpipilian.

Karaniwan ang linker ay bubuo ng mensahe ng error para sa bawat isa
iniulat na hindi nalutas na simbolo ngunit ang opsyon --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 emulasyon ng linker
suportado. Ipakita kung aling mga input file ang maaari at hindi mabuksan.
Ipakita ang linker script na ginagamit ng linker. Kung ang opsyonal
NUMBER argumento > 1, ang katayuan ng simbolo ng plugin ay ipapakita rin.

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

--babala-karaniwan
Magbabala kapag ang isang karaniwang simbolo ay pinagsama sa isa pang karaniwang simbolo o
na may kahulugang simbolo. Pinapayagan ito ng mga linker ng Unix na medyo palpak
pagsasanay, ngunit ang mga linker sa ilang iba pang mga operating system ay hindi. Ito
Binibigyang-daan ka ng opsyon na makahanap ng mga potensyal na problema mula sa pagsasama-sama ng global
mga simbolo. Sa kasamaang palad, ginagamit ng ilang C library ang kasanayang ito, kaya ikaw
maaaring makakuha ng ilang mga babala tungkol sa mga simbolo sa mga aklatan pati na rin sa
iyong mga programa.

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

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. doon
dapat ay alinman sa isang kahulugan o isang karaniwang simbolo para sa variable
sa kung saan.

int i;
Isang karaniwang simbolo. Kung mayroon lamang (isa o higit pa) na karaniwan
mga simbolo para sa isang variable, napupunta ito sa hindi pa nasimulang lugar ng data
ng output file. Pinagsasama ng linker ang maraming karaniwang simbolo
para sa parehong variable sa isang solong simbolo. Kung sila ay sa
iba't ibang laki, pinipili nito ang pinakamalaking sukat. Ang linker ay lumiliko a
karaniwang simbolo sa isang deklarasyon, kung mayroong kahulugan ng
ang parehong variable.

Ang --babala-karaniwan ang opsyon ay maaaring makagawa ng limang uri ng mga babala. Bawat isa
babala ay binubuo ng isang pares ng mga linya: ang una ay naglalarawan ng simbolo
nakatagpo lamang, at ang pangalawa ay naglalarawan sa nakaraang simbolo
nakatagpo ng parehong pangalan. Isa o pareho sa dalawang simbolo
ay magiging isang karaniwang simbolo.

1. Ginagawang sanggunian ang isang karaniwang simbolo, dahil mayroon
isa 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 mamaya
ang kahulugan para sa simbolo ay nakatagpo. Ito ay katulad ng
ang nakaraang kaso, maliban na ang mga simbolo ay nakatagpo sa a
magkaibang ayos.

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

3. Pagsasama ng isang karaniwang simbolo sa isang dating parehong laki ng karaniwan
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 sa nakaraang kaso, maliban na ang mga simbolo
ay nakatagpo sa ibang pagkakasunud-sunod.

( ): 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 format. Para sa mga format tulad ng COFF o ELF, ang
hindi makita ng linker ang paggamit ng mga global constructor.

--warn-multiple-gp
Magbabala kung kailangan ang maramihang mga global pointer value sa output
file. Ito ay makabuluhan lamang para sa ilang mga processor, gaya ng
Alpha. Sa partikular, ang ilang mga processor ay naglalagay ng mga constant na may malaking halaga
isang espesyal na seksyon. Isang espesyal na rehistro (ang pandaigdigang pointer) na mga puntos
sa gitna ng seksyong ito, upang ang mga constant ay mai-load
mahusay sa pamamagitan ng base-register relative addressing mode. Since
ang offset sa base-register relative mode ay naayos at medyo
maliit (hal., 16 bits), nililimitahan nito ang maximum na laki ng pare-pareho
pool. Kaya, sa malalaking programa, madalas na kailangan itong gamitin
maramihang mga pandaigdigang halaga ng pointer upang matugunan ang lahat
posibleng mga pare-pareho. Ang pagpipiliang ito ay nagdudulot ng babala upang maibigay
sa tuwing nangyayari ang kasong ito.

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

--warn-section-align
Babala kung binago ang address ng isang seksyon ng output dahil sa
pagkakahanay. Karaniwan, ang pagkakahanay ay itatakda ng isang input
seksyon. Ang address ay babaguhin lamang kung hindi ito tahasan
tinukoy; ibig sabihin, kung ang "SECTIONS" command ay hindi tumutukoy ng a
panimulang 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.
Ang pagpipiliang ito ay gumagawa na lang ng babala.

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

--buong-archive
Para sa bawat archive na nabanggit sa command line pagkatapos ng
--buong-archive opsyon, isama ang bawat object file sa archive in
ang link, sa halip na maghanap sa archive para sa kinakailangang bagay
mga file. Ito ay karaniwang ginagamit upang gawing shared ang isang archive file
library, na pinipilit ang bawat bagay na isama sa resulta
nakabahaging 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
tungkol sa opsyong ito, kaya kailangan mong gamitin -Wl,-buong-archive. Pangalawa,
huwag kalimutang gamitin -Wl,-walang-buong-archive pagkatapos ng iyong listahan ng
archive, dahil magdaragdag ang gcc ng sarili nitong listahan ng mga archive sa iyong
link at maaaring hindi mo gustong maapektuhan din ng watawat na ito ang mga iyon.

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

Magagamit ito para magbigay ng wrapper para sa isang function ng system. Ang
ang function ng wrapper ay dapat na tinatawag na "__wrap_simbolo". Kung gusto nito
tawagan ang function ng system, dapat itong tumawag sa "__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, tapos lahat
Ang mga tawag sa "malloc" ay tatawag sa function na "__wrap_malloc" sa halip.
Ang tawag sa "__real_malloc" sa "__wrap_malloc" ay tatawag sa real
"malloc" function.

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

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

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

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

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

--hash-style=estilo
Itakda ang uri ng (mga) hash table ng linker. estilo maaaring alinman sa "sysv"
para sa klasikong ELF ".hash" na seksyon, "gnu" para sa bagong istilong GNU
".gnu.hash" na seksyon o "parehong" para sa parehong klasikong ELF ".hash" at
bagong istilong GNU ".gnu.hash" hash tables. 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 i-debug ng DWARF ang mga seksyon
ay naka-compress gamit ang zlib. --compress-debug-sections=wala hindi
i-compress ang mga seksyon ng pag-debug ng DWARF. --compress-debug-sections=zlib-gnu
pini-compress ang mga seksyon ng pag-debug ng DWARF at palitan ang pangalan ng mga pangalan ng seksyon ng debug sa
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
na may SHF_COMPRESSED mula sa ELF ABI. Nag-iiba ang default na gawi
depende sa target na kasangkot at sa mga opsyon sa pag-configure na ginamit
upang bumuo ng toolchain. Ang default ay maaaring matukoy sa pamamagitan ng pagsusuri
ang output mula sa linker's - Tumulong pagpipilian.

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

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

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

--build-id
--build-id=estilo
Hilingin ang paggawa ng ".note.gnu.build-id" na seksyon ng tala ng ELF o
isang ".buildid" na seksyon ng COFF. Ang mga nilalaman ng tala ay natatangi
mga bit na nagpapakilala sa naka-link na file na ito. estilo maaaring maging "uuid" para magamit ang 128
random bits, "sha1" para gumamit ng 160-bit SHA1 hash sa normative
bahagi ng mga nilalaman ng output, "md5" para gumamit ng 128-bit na MD5 hash sa
ang mga normatibong bahagi ng mga nilalaman ng output, o "0xhexstring" upang gamitin ang
isang piniling bit string na tinukoy bilang pantay na bilang ng hexadecimal
digits ("-" at ":" na mga character sa pagitan ng mga pares ng digit ay binabalewala).
If estilo ay tinanggal, "sha1" ang ginagamit.

Ang mga istilong "md5" at "sha1" ay gumagawa ng isang identifier na palaging
pareho sa isang magkaparehong output file, ngunit magiging kakaiba sa lahat
hindi magkatulad na mga output file. Hindi ito nilayon na ikumpara bilang a
checksum para sa mga nilalaman ng file. Maaaring mabago ang isang naka-link na file
mamaya sa pamamagitan ng iba pang mga tool, ngunit ang build ID bit string na nagpapakilala sa
hindi nagbabago ang orihinal na naka-link na file.

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

Sinusuportahan ng i386 PE linker ang -ibinahagi opsyon, na nagiging sanhi ng output
upang maging isang dynamically linked library (DLL) sa halip na isang normal
maipapatupad. Dapat mong pangalanan ang output na "*.dll" kapag ginamit mo ito
opsyon. Bilang karagdagan, ganap na sinusuportahan ng linker ang karaniwang "*.def"
mga file, na maaaring tinukoy sa linya ng command ng linker tulad ng isang bagay
file (sa katunayan, dapat itong mauna sa mga archive na ini-export nito ang mga simbolo mula sa, hanggang
tiyaking naka-link sila, tulad ng isang normal na object file).

Bilang karagdagan sa mga opsyon na karaniwan sa lahat ng mga target, ang i386 PE linker
sumusuporta sa mga karagdagang opsyon sa command line na partikular sa i386
Target ng PE. Ang mga opsyon na kumukuha ng mga halaga ay 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 iluluwas bilang-
ay at may panlaping hinubad. [Ang opsyon na ito ay partikular sa
ang 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 opsyon sa i386 PE]

--dll
Lumikha ng isang DLL sa halip na isang regular na maipapatupad. Maaari mo ring gamitin
-ibinahagi o tumukoy ng "LIBRARY" sa isang ibinigay na ".def" na file. [Ito
ang opsyon ay partikular sa i386 PE na naka-target na 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 iyon
pinahihintulutan ang paggamit ng mga pangalan ng seksyon na mas mahaba kaysa sa walong mga character, ang
normal na limitasyon para sa COFF. Bilang default, pinapayagan lang ang mga pangalang ito
object file, dahil ang ganap na naka-link na mga executable na imahe ay hindi nagdadala ng
Kinakailangan ang COFF string table upang suportahan ang mas mahahabang pangalan. Bilang isang GNU
extension, posibleng payagan ang kanilang paggamit sa mga executable na larawan
pati na rin, o sa (marahil walang kabuluhan!) huwag payagan ito sa bagay
file, sa pamamagitan ng paggamit ng dalawang opsyong ito. Nabuo ang mga executable na larawan
na may mga mahahabang pangalan ng seksyon ay bahagyang hindi karaniwan, dala
habang gumagawa sila ng string table, at maaaring makabuo ng nakalilitong output kapag
sinuri gamit ang mga tool na hindi GNU PE-aware, gaya ng mga file viewer at
mga dumper. Gayunpaman, umaasa ang GDB sa paggamit ng mga pangalan ng mahabang seksyon ng PE
upang mahanap ang mga seksyon ng impormasyon sa pag-debug ng Dwarf-2 sa isang executable na larawan
sa runtime, at kaya kung walang opsyon na tinukoy sa command-
linya, ld papaganahin ang mahahabang pangalan ng seksyon, na i-override ang default at
teknikal na tamang pag-uugali, kapag nakita nito ang pagkakaroon ng debug
impormasyon habang nagli-link ng isang executable na imahe at hindi naghuhubad
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 nito
na 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
"_foo@12", o ang hindi natukoy na simbolo na "_bar@16" ay maaaring maiugnay sa
function na "_bar". Kapag ginawa ito ng linker, nagpi-print ito ng babala,
dahil karaniwan ay nabigo itong mag-link, ngunit minsan ay nag-import
Ang mga aklatan na nabuo mula sa mga third-party na dll ay maaaring kailanganin ang tampok na ito
maging magagamit. Kung tinukoy mo --enable-stdcall-fixup, ang tampok na ito ay
ganap na pinagana at ang mga babala ay hindi naka-print. Kung tinukoy mo
--disable-stdcall-fixup, ang tampok na ito ay hindi pinagana at iba pa
ang mga hindi pagkakatugma ay itinuturing na mga pagkakamali. [Ito ay tiyak
sa 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 ay
tinukoy sa paglalarawan ng target. Sa pamamagitan ng pagpipiliang ito posible na
huwag paganahin/paganahin ang default na underscore na simbolo-prefix.

--export-all-symbols
Kung ibinigay, lahat ng mga pandaigdigang simbolo sa mga bagay na ginamit upang bumuo ng isang DLL
ay i-export ng DLL. Tandaan na ito ang default kung
kung hindi man ay walang anumang na-export na 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 function, 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", "DllMainCRTSstartup@12", at "impure_ptr" ay
hindi awtomatikong na-export. Gayundin, ang mga simbolo na na-import mula sa iba
Ang mga DLL ay hindi muling ie-export, o ang mga simbolo na tumutukoy sa mga DLL
panloob na layout gaya ng mga nagsisimula sa "_head_" o nagtatapos
na may "_iname". Bilang karagdagan, walang mga simbolo mula sa "libgcc", "libstd++",
Ang "libmingw32", o "crtX.o" ay ie-export. Mga simbolo na ang mga pangalan
magsimula sa "__rtti_" o "__builtin_" ay hindi ie-export, upang makatulong
na may mga C++ DLL. Sa wakas, mayroong malawak na listahan ng cygwin-
mga pribadong simbolo na hindi na-export (malinaw naman, nalalapat ito sa
kapag nagtatayo ng mga 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 pagpipiliang ito
ay partikular sa i386 PE na naka-target na port ng linker]

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

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

--file-alignment
Tukuyin ang pagkakahanay ng file. Palaging magsisimula ang mga seksyon sa file
sa mga file offset na multiple ng numerong ito. Nagde-default ito
sa 512. [Ang opsyong ito ay partikular sa i386 PE na naka-target na port ng
ang linker]

--bunton reserba
--bunton reserba,gumawa
Tukuyin ang bilang ng mga byte ng memory na irereserba (at opsyonal
commit) na gagamitin bilang heap para sa program na ito. Ang default ay 1MB
nakalaan, 4K ang ginawa. [Ang opsyong ito ay partikular sa i386 PE
naka-target na port ng linker]

--image-base halaga
paggamit halaga bilang base address ng iyong program o dll. Ito ang
pinakamababang lokasyon ng memorya na gagamitin kapag ang iyong program o dll
ay load. Upang bawasan ang pangangailangan na lumipat at pagbutihin ang pagganap
ng iyong mga dll, ang bawat isa ay dapat magkaroon ng isang natatanging base address at hindi
magkakapatong sa 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
naka-target na port ng linker]

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

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

--disable-large-address-aware
Ibinabalik ang epekto ng nakaraan --malaking-address-aware pagpipilian.
Ito ay kapaki-pakinabang kung --malaking-address-aware ay palaging itinakda ng
compiler driver (eg Cygwin gcc) at ang executable ay hindi
suportahan 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 opsyong 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". Default sa 4. [Ito
ang opsyon ay partikular 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 opsyong 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 opsyong 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. [This
ang opsyon ay partikular 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 opsyong 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 DEF file
naaayon sa DLL na binubuo ng linker. Itong DEF file
(na dapat tawaging "*.def") ay maaaring gamitin upang lumikha ng pag-import
library na may "dlltool" o maaaring gamitin bilang sanggunian sa
awtomatiko o tuwirang na-export na mga simbolo. [Ang pagpipiliang ito ay
partikular sa i386 PE na naka-target na port ng linker]

--out-imlib file
Ang linker ay gagawa ng file file na maglalaman ng import
lib na naaayon sa DLL na binubuo ng linker. Ang import na ito
lib (na dapat tawaging "*.dll.a" o "*.a" ay maaaring gamitin upang i-link
mga kliyente laban sa nabuong DLL; ginagawang posible ng pag-uugaling ito
upang laktawan ang isang hiwalay na "dlltool" na hakbang sa paggawa ng library ng import. [Ito
ang opsyon 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 magsisimula
may base halaga, maliban kung ang isa ay tinukoy gamit ang "--image-base"
argumento. Sa pamamagitan ng paggamit ng hash na nabuo mula sa dllname upang lumikha
natatanging mga base ng imahe para sa bawat DLL, in-memory na banggaan at
iniiwasan ang mga relokasyon na maaaring makapagpaantala sa pagpapatupad ng programa. [Ito
ang opsyon ay partikular sa i386 PE na naka-target na port ng linker]

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

--dll-search-prefix pisi
Kapag dynamic na nagli-link sa isang dll na walang import library, maghanap
para sa " .dll" bilang kagustuhan sa "lib .dll".
Ang pag-uugali na ito ay nagbibigay-daan sa madaling pagkakaiba sa pagitan ng mga DLL na binuo para sa
iba't ibang "subplatform": native, cygwin, uwin, pw, atbp. Para sa
Halimbawa, ang mga cygwin DLL ay karaniwang gumagamit ng "--dll-search-prefix=cyg".
[Ang opsyong 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 DATA
import mula sa mga DLL, at lumikha ng mga kinakailangang thunking na simbolo kapag
pagbuo ng mga import library gamit ang mga DATA export na iyon. Tandaan: Paggamit ng
ang extension na 'auto-import' ay magiging sanhi ng seksyon ng teksto ng
file ng imahe na gagawing maisusulat. Hindi ito umaayon sa PE-
Ang detalye ng format ng COFF na inilathala ng Microsoft.

Tandaan - ang paggamit ng extension na 'auto-import' ay magdudulot din ng read only
data na karaniwang ilalagay sa seksyong .rdata
inilagay sa seksyong .data sa halip. Ito ay para makapagtrabaho
sa paligid ng isang problema sa consts 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 ikaw
maaaring makita ang mensaheng ito:

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

Ang mensaheng ito ay nangyayari kapag ang ilang (sub) expression ay nag-access sa isang address
sa huli ay ibinigay ng kabuuan ng dalawang constants (Win32 import tables
payagan ang isa lamang). Kasama sa mga pagkakataon kung saan ito maaaring mangyari ang mga pag-access
sa mga field ng miyembro ng mga variable ng struct na na-import mula sa isang DLL, pati na rin
bilang paggamit ng isang palaging index sa isang array variable na na-import mula sa a
DLL. Anumang multiword variable (arrays, structs, long long, etc) ay maaaring
i-trigger ang kundisyon ng error na ito. Gayunpaman, anuman ang eksaktong
uri ng data ng nakakasakit na na-export na variable, palaging makikita ng ld
ito, ilabas ang babala, at lumabas.

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

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

Ang pangalawang solusyon ay ang pilitin ang isa sa mga 'constant' na maging a
variable -- iyon ay, hindi alam at hindi na-optimize sa oras ng pag-compile.
Para sa mga array, mayroong dalawang posibilidad: a) gawin ang indexee (ang
address ng array) isang variable, o b) gawin ang 'constant' index a
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 opsyon
ay gawin ang struct mismo (o ang mahaba, 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
'auto-import' para sa nakakasakit na simbolo at markahan ito ng
"__declspec(dllimport)". Gayunpaman, sa pagsasanay na nangangailangan ng paggamit
compile-time #defines upang ipahiwatig kung ikaw ay gumagawa ng isang DLL,
pagbuo ng client code na magli-link sa DLL, o lamang
pagbuo/pag-link sa isang static na library. Sa paggawa ng pagpili
sa pagitan ng iba't ibang paraan ng paglutas ng 'direktang address sa
pare-pareho ang offset' problema, dapat mong isaalang-alang ang tipikal na real-world
paggamit:

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 ang muling pag-code sa iyong library
gumamit ng functional na interface sa halip na isang data interface para sa
nakakasakit na mga variable (hal set_foo() at get_foo() accessor
mga function). [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 mga pag-import ng DATA mula sa mga DLL. [Ang pagpipiliang 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
seksyon, iyon ay, DATA import mula sa DLL na may non-zero offset, ito
switch ay lilikha ng isang vector ng 'runtime pseudo relocations' na
ay maaaring gamitin ng runtime na kapaligiran upang ayusin ang 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 mga non-zero offset na pag-import ng DATA
mula sa mga DLL. [Ang opsyong ito 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 opsyong 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 isang multiple ng numerong ito. Default sa
0x1000. [Ang opsyong ito ay partikular sa i386 PE na naka-target na port ng
ang linker]

--salansan reserba
--salansan reserba,gumawa
Tukuyin ang bilang ng mga byte ng memory na irereserba (at opsyonal
commit) na gagamitin bilang stack para sa program na ito. Ang default ay 2MB
nakalaan, 4K ang ginawa. [Ang opsyong ito ay partikular sa i386 PE
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
legal na halaga para sa alin ay "native", "windows", "console", "posix",
at "xbox". Maaari mo ring itakda ang bersyon ng subsystem.
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 naka-target na PE
mga port ng linker]

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

--dynamicbase
Ang image base address ay maaaring ilipat gamit ang address space layout
randomization (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. Ito
Ang tampok 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 dito
larawan.

--walang-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
pag-uugali dahil tumutugma ito sa legacy code at nangangahulugan ito na ang imahe
gagana sa iba pang mga tool na pagmamay-ari. Ang problema dito
Ang default 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 ay maaaring magamit upang magpasok ng isang zero na halaga para sa
timestamp, tinitiyak nito na ang mga binary ay ginawa mula sa magkapareho
ang mga pinagkukunan ay maghahambing ng magkatulad.

Gumagamit ang target na C6X uClinux ng binary na format na tinatawag na DSBT upang suportahan
mga shared library. Ang bawat shared library sa system ay kailangang magkaroon ng a
natatanging index; lahat ng mga executable ay gumagamit ng index na 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 ang lumikha ng a
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 ang isang nakabahaging aklatan ay nabuo na may a
DSBT index ng 0, ang "R_C6000_DSBT_INDEX" reloc ay kinopya sa
ang output file.

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

Ang 68HC11 at 68HC12 linker ay sumusuporta sa mga partikular na opsyon para makontrol ang
memory bank switching mapping at trampoline code generation.

--walang-trampolin
Hindi pinapagana ng opsyong ito ang pagbuo ng trampoline. Bilang default a
trampolin ay nabuo para sa bawat malayo function na kung saan ay tinatawag na gamit
isang "jsr" na pagtuturo (nangyayari ito 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
nasa ALAALA detalye na naglalarawan sa window ng memory bank.
Ang kahulugan ng naturang rehiyon ay ginagamit ng linker upang mag-compute
paging at mga address sa loob ng memory window.

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

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

Ang mga sumusunod na opsyon ay sinusuportahan upang makontrol ang pagtuturo ng microMIPS
henerasyon kapag nagli-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 nabuo ng linker, tulad ng sa PLT o tamad
nagbubuklod na mga stub, o sa pagpapahinga. Kung --insn32 ay ginagamit, pagkatapos ang
Gumagamit lamang ang linker ng mga 32-bit na pag-encode ng pagtuturo. Bilang default o kung
--no-insn32 ay ginagamit, ang lahat ng mga pag-encode ng pagtuturo ay ginagamit, kabilang ang
Mga 16-bit kung posible.

Kapaligiran


Maaari mong baguhin ang pag-uugali ng ld kasama ang mga variable ng kapaligiran
"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 input format. Kung walang "GNUTARGET" sa kapaligiran, ld
gumagamit ng natural na format ng target. Kung ang "GNUTARGET" ay nakatakda sa
"default" pagkatapos ay sinusubukan ng BFD na tuklasin ang format ng pag-input sa pamamagitan ng pagsusuri
binary input file; madalas na nagtatagumpay ang pamamaraang ito, ngunit may mga potensyal
ambiguities, dahil walang paraan ng pagtiyak na ang magic number
na ginagamit upang tukuyin ang mga format ng object-file ay natatangi. Gayunpaman, ang
configuration procedure para sa BFD sa bawat sistema ay naglalagay ng conventional
format para sa system na iyon muna sa listahan ng paghahanap, kaya ang mga kalabuan ay
nalutas pabor sa kombensiyon.

Tinutukoy ng "LDEMULATION" ang default na emulation kung hindi mo gagamitin ang -m
opsyon. Maaaring makaapekto ang emulation sa iba't ibang aspeto ng pag-uugali ng linker,
lalo na ang default na linker script. Maaari mong ilista ang magagamit
pagtulad sa --verbose or -V mga pagpipilian. Kung ang -m ang opsyon ay hindi
ginamit, at ang variable ng kapaligiran na "LDEMULATION" 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
upang hindi demangling mga simbolo. Ang environment variable na ito ay ginagamit sa a
katulad na paraan ng "gcc" linker wrapper program. Ang default ay maaaring
ma-override ng --demangle at --walang-demangle mga pagpipilian.

Gumamit ng i686-linux-gnu-ld online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    MSYS2
    MSYS2
    Ang MSYS2 ay isang koleksyon ng mga tool at
    mga aklatan na nagbibigay sa iyo ng isang
    madaling gamitin na kapaligiran para sa pagtatayo,
    pag-install at pagpapatakbo ng katutubong Windows
    software. Ito con...
    I-download ang MSYS2
  • 2
    libjpeg-turbo
    libjpeg-turbo
    Ang libjpeg-turbo ay isang JPEG image codec
    na gumagamit ng mga tagubilin sa SIMD (MMX, SSE2,
    NEON, AltiVec) para mapabilis ang baseline
    Naka-on ang JPEG compression at decompression
    x86, x8...
    I-download ang libjpeg-turbo
  • 3
    Xtreme Download Manager
    Xtreme Download Manager
    Ang proyekto ay may bagong tahanan ngayon:
    https://xtremedownloadmanager.com/ For
    mga developer:
    https://github.com/subhra74/xdm Xtreme
    Ang Download Manager ay isang makapangyarihang tool para...
    I-download ang Xtreme Download Manager
  • 4
    TTGO VGA32 Lite
    TTGO VGA32 Lite
    Mga Tampok:4:3 at 16:9 mababang resolution
    VGA outputPS/2 keyboard at mouse
    inputText-based na user interface (TUI)
    na may dialog managerPartial Unicode
    suportahan ang Slave dis...
    I-download ang TTGO VGA32 Lite
  • 5
    Clover EFI bootloader
    Clover EFI bootloader
    Lumipat ang proyekto sa
    https://github.com/CloverHackyColor/CloverBootloader..
    Mga Tampok: I-boot ang macOS, Windows, at Linux
    sa UEFI o legacy mode sa Mac o PC na may
    UE...
    I-download ang Clover EFI bootloader
  • 6
    unitedrpms
    unitedrpms
    Samahan kami sa Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    Paganahin ang URPMS repository sa iyong
    sistema -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    I-download ang unitedrpms
  • Marami pa »

Linux command

Ad