Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen aarch64-linux-gnu-objcopy komutudur.
Program:
ADI
objcopy - nesne dosyalarını kopyala ve çevir
SİNOPSİS
nesne kopyası [-F bfdname|--hedef=bfdname]
[-I bfdname|--input-hedef=bfdname]
[-O bfdname|--çıktı-hedef=bfdname]
[-B bfdarch|--ikili mimari=bfdarch]
[-S|--tümünü şeritle]
[-g|--şerit-hata ayıklama]
[-K sembol adı|--keep-sembol=sembol adı]
[-N sembol adı|--şerit-sembol=sembol adı]
[--şerit-gereksiz-sembol=sembol adı]
[-G sembol adı|--keep-global-sembol=sembol adı]
[--localize-gizli]
[-L sembol adı|--localize-sembol=sembol adı]
[--globalize-sembol=sembol adı]
[-W sembol adı|--weaken-sembol=sembol adı]
[-w|--joker karakter]
[-x|--Hepsini at]
[-X|--discard-yerlileri]
[-b bayt|--bayt=bayt]
[-i [genişlik]|--interleav[=genişlik]]
[--interleave-genişliği=genişlik]
[-j kesit modeli|--only-bölüm=kesit modeli]
[-R kesit modeli|--kaldır-bölüm=kesit modeli]
[-p|--koruyucu-tarihler]
[-D|--enable-deterministik-arşivler]
[-U|--disable-deterministik-arşivler]
[--hata ayıklama]
[--boşluk-doldur=val]
[--pad-to=adres]
[--set-start=val]
[--ayarla-başlat=artış]
[--değiştir-adresler=artış]
[--bölüm-adres değiştir kesit modeli{=,+,-}val]
[--bölümü değiştir-lma kesit modeli{=,+,-}val]
[--değiştir-bölüm-vma kesit modeli{=,+,-}val]
[--değişiklik-uyarıları] [--değişiklik yok-uyarıları]
[--set-bölüm-flagları kesit modeli=bayraklar]
[--add-bölümü Bölüm adı=Dosya]
[--döküm bölümü Bölüm adı=Dosya]
[--güncelleme bölümü Bölüm adı=Dosya]
[--rename-bölümü eski ad=yeni isim[,bayraklar]]
[--uzun bölüm-adları {etkinleştir, devre dışı bırak, sakla}]
[--change-lider-char] [--remove-lider-char]
[--ters-bayt=num]
[--srec-len=IVAL] [--srec-forceS3]
[--yeniden tanımla-sym eski=yeni]
[--redefinine-syms=Dosya]
[--zayıflamak]
[--keep-sembolleri=Dosya]
[--şerit-semboller=Dosya]
[--şerit-gereksiz-semboller=Dosya]
[--keep-global-semboller=Dosya]
[--yerelleştirme-sembolleri=Dosya]
[--globalize-semboller=Dosya]
[--zayıf-semboller=Dosya]
[--add-sembol isim=[Bölüm:]değer[,bayraklar]
[--alt-makine-kodu=indeks]
[--önek-semboller=dizi]
[--önek-bölümler=dizi]
[--prefix-alloc-bölümleri=dizi]
[--add-gnu-debuglink=dosyaya giden yol]
[--keep-file-sembolleri]
[--only-tut-debug]
[--şerit-dwo]
[--extract-dwo]
[--extract-sembol]
[--yazılabilir-metin]
[--salt okunur-metin]
[--saf]
[-- saf olmayan]
[--dosya hizalama=num]
[--yığın=boyut]
[--resim tabanı=adres]
[--bölüm hizalama=num]
[--yığın=boyut]
[--alt sistem=hangi:büyük.küçük]
[--compress-debug-bölümleri]
[--decompress-debug-bölümleri]
[--cüce derinliği=n]
[--cüce başlangıç=n]
[-v|--ayrıntılı]
[-V|--versiyon]
[--yardım et] [--bilgi]
dosyada [dış dosya]
TANIM
GNU nesne kopyası yardımcı program, bir nesne dosyasının içeriğini diğerine kopyalar. nesne kopyası kullanım
nesne dosyalarını okumak ve yazmak için GNU BFD Kitaplığı. Hedefi yazabilir
nesne dosyası, kaynak nesne dosyasından farklı bir biçimde. kesin davranış
of nesne kopyası komut satırı seçenekleriyle kontrol edilir. Bunu not et nesne kopyası mümkün olmalıdır
tam bağlantılı bir dosyayı herhangi iki format arasında kopyalayın. Ancak, yeri değiştirilebilen bir nesneyi kopyalamak
Herhangi iki format arasındaki dosya beklendiği gibi çalışmayabilir.
nesne kopyası çevirilerini yapmak için geçici dosyalar oluşturur ve daha sonra siler.
nesne kopyası tüm çeviri işlerini yapmak için BFD'yi kullanır; tüm formatlara erişimi var
BFD'de tanımlanmıştır ve bu nedenle çoğu formatı açıkça söylenmeden tanıyabilir.
nesne kopyası çıkış hedefi kullanılarak S kayıtları oluşturmak için kullanılabilir. kaynak (örneğin, kullanın -O
kaynak).
nesne kopyası çıktı hedefi kullanılarak ham bir ikili dosya oluşturmak için kullanılabilir. ikili
(örneğin, kullanın -O ikili). Ne zaman nesne kopyası ham bir ikili dosya oluşturur, esasen
girdi nesne dosyasının içeriğinin bir bellek dökümünü üretin. Tüm semboller ve
yer değiştirme bilgileri silinecektir. Bellek dökümü, yükleme adresinde başlayacak
çıktı dosyasına kopyalanan en düşük bölümün.
Bir S kaydı veya ham ikili dosya oluştururken, -S ayırmak
hata ayıklama bilgilerini içeren bölümler. Bazı durumlarda -R kaldırmak faydalı olacaktır.
ikili dosyanın ihtiyaç duymadığı bilgileri içeren bölümler.
Not---nesne kopyası girdi dosyalarının endianlığını değiştiremez. eğer giriş
biçimin bir özelliği vardır (bazı biçimlerde yoktur), nesne kopyası sadece girdileri dosyaya kopyalayabilir
aynı endeliğe sahip olan veya endianlığa sahip olmayan biçimler (örn. kaynak). (Yine de,
bakın --ters-bayt seçeneği.)
SEÇENEKLER
dosyada
dış dosya
Sırasıyla giriş ve çıkış dosyaları. belirtmezseniz dış dosya, nesne kopyası
geçici bir dosya oluşturur ve sonucu yıkıcı bir şekilde şu adla yeniden adlandırır: dosyada.
-I bfdname
--input-hedef=bfdname
Kaynak dosyanın nesne biçimini şu şekilde düşünün: bfdnamegirişiminde bulunmak yerine
onu çıkar.
-O bfdname
--çıktı-hedef=bfdname
Çıktı dosyasını nesne biçimini kullanarak yazın bfdname.
-F bfdname
--hedef=bfdname
kullanım bfdname hem girdi hem de çıktı dosyası için nesne formatı olarak; yani, basitçe
Verileri kaynaktan hedefe çeviri olmadan aktarın.
-B bfdarch
--ikili mimari=bfdarch
Mimarisiz bir girdi dosyasını bir nesne dosyasına dönüştürürken kullanışlıdır. Bunda
çıkış mimarisinin ayarlanabilmesi durumunda bfdarch. Bu seçenek, aşağıdaki durumlarda yoksayılır.
girdi dosyası bilinen bir bfdarch. Bu ikili verilere bir program içinde erişebilirsiniz.
dönüştürme işlemi tarafından oluşturulan özel sembollere başvurarak. Bunlar
sembollere _binary_ denirobjfile_start, _ikili_objfile_son ve
_ikili_objfile_boy. örneğin bir resim dosyasını bir nesne dosyasına dönüştürebilir ve
daha sonra bu sembolleri kullanarak kodunuzda erişin.
-j kesit modeli
--only-bölüm=kesit modeli
Girdi dosyasından çıktı dosyasına yalnızca belirtilen bölümleri kopyalayın. Bu seçenek
birden fazla verilebilir. Bu seçeneğin uygun olmayan şekilde kullanılmasının
çıktı dosyası kullanılamaz. Joker karakterler kabul edilir kesit modeli.
-R kesit modeli
--kaldır-bölüm=kesit modeli
Herhangi bir bölüm eşleşmesini kaldırın kesit modeli çıktı dosyasından. Bu seçenek olabilir
birden fazla verilir. Bu seçeneğin uygun olmayan şekilde kullanılmasının çıktıyı olumsuz etkileyebileceğini unutmayın.
dosya kullanılamaz. Joker karakterler kabul edilir kesit modeli. Her ikisini de kullanarak -j
ve -R seçenekler birlikte tanımsız davranışa neden olur.
-S
--tümünü şeritle
Kaynak dosyadan yer değiştirme ve sembol bilgilerini kopyalamayın.
-g
--şerit-hata ayıklama
Kaynak dosyadan hata ayıklama sembollerini veya bölümlerini kopyalamayın.
--şerit-gereksiz
Yer değiştirme işlemi için gerekli olmayan tüm sembolleri soyun.
-K sembol adı
--keep-sembol=sembol adı
Sembolleri çıkarırken, sembolü sakla sembol adı normalde soyulsa bile.
Bu seçenek birden fazla verilebilir.
-N sembol adı
--şerit-sembol=sembol adı
Sembolü kopyalamayın sembol adı kaynak dosyadan. Bu seçenek daha fazla verilebilir
bir kereden.
--şerit-gereksiz-sembol=sembol adı
Sembolü kopyalamayın sembol adı tarafından gerekmedikçe kaynak dosyadan
yer değiştirme. Bu seçenek birden fazla verilebilir.
-G sembol adı
--keep-global-sembol=sembol adı
Sadece sembolü tut sembol adı küresel. Diğer tüm sembolleri dosyaya yerel yapın, böylece
dışarıdan görünmezler. Bu seçenek birden fazla verilebilir.
--localize-gizli
Bir ELF nesnesinde, gizli veya dahili görünürlüğe sahip tüm sembolleri yerel olarak işaretleyin.
Bu seçenek, aşağıdakiler gibi sembole özgü yerelleştirme seçeneklerinin üzerine uygulanır: -L.
-L sembol adı
--localize-sembol=sembol adı
sembol yap sembol adı dosyaya yerel, böylece harici olarak görünmez. Bu
birden fazla seçenek verilebilir.
-W sembol adı
--weaken-sembol=sembol adı
sembol yap sembol adı zayıf. Bu seçenek birden fazla verilebilir.
--globalize-sembol=sembol adı
sembol ver sembol adı dosyanın dışında görünür olması için genel kapsam belirleme
hangi tanımlanmıştır. Bu seçenek birden fazla verilebilir.
-w
--joker karakter
içinde normal ifadelere izin ver sembol adıdiğer komut satırı seçeneklerinde kullanılır. NS
soru işareti (?), yıldız işareti (*), ters eğik çizgi (\) ve köşeli parantez ([]) operatörleri
sembol adının herhangi bir yerinde kullanılabilir. Sembol adının ilk karakteri ise
ünlem işareti (!) varsa, o sembol için anahtarın anlamı tersine çevrilir. İçin
örnek:
-w -W !foo -Wfo*
objcopy'nin sembol dışında "fo" ile başlayan tüm sembolleri zayıflatmasına neden olur
"foo".
-x
--Hepsini at
Global olmayan sembolleri kaynak dosyadan kopyalamayın.
-X
--discard-yerlileri
Derleyici tarafından oluşturulan yerel sembolleri kopyalamayın. (Bunlar genellikle L or ..)
-b bayt
--bayt=bayt
serpiştirme aracılığıyla etkinleştirildiyse --interleav seçeneği sonra aralığı başlatın
bayt tutmak için baytbayt. bayt 0 ile aralığında olabilir genişlik-1, nerede
genişlik tarafından verilen değerdir --interleav seçeneği.
-i [genişlik]
--interleav[=genişlik]
Her birinden yalnızca bir aralığı kopyalayın genişlik bayt. (Başlık verileri etkilenmez). Seçme
aralıktaki hangi bayt, kopyayı --bayt seçenek. genişliğini seçin
ile aralığı --interleave-genişliği seçeneği.
Bu seçenek, ROM'u programlamak için dosyalar oluşturmak için kullanışlıdır. Genellikle bir ile kullanılır
"srec" çıktı hedefi. Bunu not et nesne kopyası belirtmezsen şikayet edersin
--bayt seçeneği de.
Varsayılan serpiştirme genişliği 4'tür, bu nedenle --bayt 0'a ayarla, nesne kopyası kopyalayacaktı
girdiden çıktıya kadar her dört bayttan ilk bayt.
--interleave-genişliği=genişlik
ile kullanıldığında --interleav seçenek, kopya genişlik bir seferde bayt. başlangıcı
kopyalanacak bayt aralığı, --bayt seçenek ve aralığın kapsamı
ile ayarlanır --interleav seçeneği.
Bu seçenek için varsayılan değer 1'dir. genişlik artı bayt tarafından belirlenen değer
the --bayt seçeneği tarafından ayarlanan aralık genişliğini aşmamalıdır. --interleav
seçeneği.
Bu seçenek, bir araya getirilmiş iki 16 bitlik flaş için görüntüler oluşturmak için kullanılabilir.
geçerek 32 bit veri yolu -b 0 -i 4 --interleave-genişliği=2 ve -b 2 -i 4
--interleave-genişliği=2 iki nesne kopyası komutlar. Giriş '12345678' ise, o zaman
çıktılar sırasıyla '1256' ve '3478' olacaktır.
-p
--koruyucu-tarihler
Çıktı dosyasının erişim ve değişiklik tarihlerini aşağıdakilerle aynı olacak şekilde ayarlayın.
giriş dosyası.
-D
--enable-deterministik-arşivler
içinde çalıştır deterministik modu. Arşiv üyelerini kopyalarken ve arşivi yazarken
dizin, UID'ler, GID'ler, zaman damgaları için sıfır kullanın ve tümü için tutarlı dosya modları kullanın
dosyaları.
If binutils'ler ile yapılandırıldı --enable-deterministik-arşivler, o zaman bu mod açık
varsayılan olarak. ile devre dışı bırakılabilir. -U seçeneği, aşağıda.
-U
--disable-deterministik-arşivler
Do değil faaliyet deterministik modu. Bu, tersi -D seçenek, yukarıda:
arşiv üyelerini kopyalarken ve arşiv dizinini yazarken, gerçek UID'lerini, GID'lerini kullanın,
zaman damgası ve dosya modu değerleri.
Bu varsayılan binutils'ler ile yapılandırıldı
--enable-deterministik-arşivler.
--hata ayıklama
Mümkünse hata ayıklama bilgilerini dönüştürün. Bu varsayılan değil çünkü yalnızca
belirli hata ayıklama biçimleri desteklenir ve dönüştürme işlemi zaman alabilir
tüketen.
--boşluk doldurma val
ile bölümler arasındaki boşlukları doldurun val. Bu işlem için geçerlidir yük adres (ÖMA)
bölümlerinden. Alt kısımla bölümün boyutunu artırarak yapılır.
adres ve ile oluşturulan fazladan boşluğu doldurma val.
--pad-to adres
Çıktı dosyasını yükleme adresine kadar doldurun adres. Bu, artırılarak yapılır.
son bölümün boyutu. Fazladan boşluk, tarafından belirtilen değerle doldurulur.
--boşluk doldurma (varsayılan sıfır).
--set-start val
Yeni dosyanın başlangıç adresini şu şekilde ayarlayın: val. Tüm nesne dosya biçimleri desteklenmez
başlangıç adresinin ayarlanması.
--değiştir-başlangıç artış
--ayarla-başlat artış
ekleyerek başlangıç adresini değiştirin. artış. Tüm nesne dosya biçimleri ayarı desteklemez
başlangıç adresi.
--değiştir-adresler artış
--ayar-vma artış
Tüm bölümlerin VMA ve LMA adreslerini ve ayrıca başlangıç adresini şu şekilde değiştirin:
ekleme artış. Bazı nesne dosya biçimleri, bölüm adreslerinin değiştirilmesine izin vermez
keyfi olarak. Bunun bölümlerin yerini değiştirmediğini unutmayın; program bekliyorsa
bölümlerin belirli bir adrese yüklenmesini sağlar ve bu seçeneği değiştirmek için kullanılır.
bölümleri farklı bir adrese yüklenirse program başarısız olabilir.
--bölüm-adres değiştir kesit modeli{=,+,-}val
--adjust-bölüm-vma kesit modeli{=,+,-}val
Herhangi bir bölüm eşleşmesinin hem VMA adresini hem de LMA adresini ayarlayın veya değiştirin
kesit modeli. Eğer = kullanıldığında, bölüm adresi şu şekilde ayarlanır: val. Aksi takdirde, val is
bölüm adresine eklenir veya çıkarılır. altındaki yorumlara bakın
--değiştir-adresler, üstünde. Eğer kesit modeli girişteki herhangi bir bölümle eşleşmiyor
dosya, bir uyarı verilecektir, aksi takdirde --değişiklik yok-uyarıları kullanıldı.
--bölümü değiştir-lma kesit modeli{=,+,-}val
Eşleşen bölümlerin LMA adresini ayarlayın veya değiştirin kesit modeli. LMA
adres, programın yüklendiğinde bölümün belleğe yükleneceği adrestir.
zaman. Normalde bu, VMA adresiyle aynıdır;
bölüm program çalışma zamanında, ancak bazı sistemlerde, özellikle bir programın bulunduğu sistemlerde
ROM'da tutulduğunda ikisi farklı olabilir. Eğer = kullanıldığında, bölüm adresi şu şekilde ayarlanır:
val. Aksi takdirde, val bölüm adresine eklenir veya çıkarılır. Bkz.
altındaki yorumlar --değiştir-adresler, üstünde. Eğer kesit modeli hiçbiriyle eşleşmiyor
girdi dosyasındaki bölümlerde, aksi takdirde bir uyarı verilecektir. --değişiklik yok-uyarıları is
Kullanılmış.
--değiştir-bölüm-vma kesit modeli{=,+,-}val
Herhangi bir bölüm eşleşmesinin VMA adresini ayarlayın veya değiştirin kesit modeli. VMA adresi
program başladıktan sonra bölümün yer alacağı adres
yürütme. Normalde bu, LMA adresiyle aynıdır;
bölüm belleğe yüklenecektir, ancak bazı sistemlerde, özellikle
program ROM'da tutulur, ikisi farklı olabilir. Eğer = kullanılır, bölüm adresi
ayarlandı val. Aksi takdirde, val bölüm adresine eklenir veya çıkarılır.
altındaki yorumlara bakın --değiştir-adresler, üstünde. Eğer kesit modeli eşleşmiyor
giriş dosyasındaki herhangi bir bölümde, aksi takdirde bir uyarı verilecektir. --değişiklik yok-uyarıları
kullanıldı.
--değişiklik-uyarıları
--ayar-uyarılar
If --bölüm-adres değiştir or --bölümü değiştir-lma or --değiştir-bölüm-vma kullanıldı,
ve bölüm deseni herhangi bir bölümle eşleşmiyorsa bir uyarı verin. bu
Varsayılan.
--değişiklik yok-uyarıları
--hayır-ayar-uyarıları
varsa uyarı vermeyin --bölüm-adres değiştir or --adjust-bölüm-lma or
--adjust-bölüm-vma bölüm deseni herhangi bir bölümle eşleşmese bile kullanılır.
--set-bölüm-flagları kesit modeli=bayraklar
Eşleşen tüm bölümler için bayrakları ayarlayın kesit modeli. bayraklar argüman bir virgüldür
bayrak adlarının ayrılmış dizesi. Tanınan isimler şunlardır tahsis etmek, içindekiler, yük,
yüksüz, Sadece oku, kod, veri, rom, pay, ve ayıklamak. Sen ayarlayabilirsiniz içindekiler bayrak
İçeriği olmayan, ancak içeriğin silinmesi anlamlı olmayan bir bölüm için
içindekiler içeriği olan bir bölümün bayrağı - bunun yerine bölümü kaldırmanız yeterlidir.
Tüm bayraklar, tüm nesne dosya biçimleri için anlamlı değildir.
--add-bölümü Bölüm adı=Dosya
adlı yeni bir bölüm ekle Bölüm adı dosyayı kopyalarken. yeni içeriğin içeriği
bölüm dosyadan alınmıştır Dosya. Bölümün boyutu,
dosya. Bu seçenek yalnızca şu bölümleri destekleyebilen dosya biçimlerinde çalışır:
keyfi isimler. Not - kullanmak gerekli olabilir --set-bölüm-flagları için seçenek
yeni oluşturulan bölümün niteliklerini ayarlayın.
--döküm bölümü Bölüm adı=Dosya
adlı bölümün içeriğini yerleştirin Bölüm adı dosyaya Dosya, üzerine yazmak
daha önce orada olabilecek herhangi bir içerik. Bu seçeneğin tersi
--add-bölümü. Bu seçenek şuna benzer: --sadece-bölüm onun dışında seçenek
biçimlendirilmiş bir dosya oluşturmaz, yalnızca içeriği ham ikili veri olarak atar,
herhangi bir yer değiştirme uygulamadan. Seçenek birden fazla belirtilebilir.
--güncelleme bölümü Bölüm adı=Dosya
adlı bir bölümün mevcut içeriğini değiştirin Bölüm adı dosya içeriği ile
Dosya. Bölümün boyutu dosyanın boyutuna göre ayarlanacaktır. NS
için bölüm bayrakları Bölüm adı değişmeyecektir. ELF formatındaki dosyalar için bölüm
segment eşleme de değişmeden kalacaktır; bu, kullanılarak mümkün değildir.
--kaldır bölümü ardından --add-bölümü. Seçenek birden fazla belirtilebilir
bir Zamanlar.
Not - kullanmak mümkündür --rename-bölümü ve --güncelleme bölümü hem güncellemek hem de
bir komut satırından bir bölümü yeniden adlandırın. Bu durumda, orijinal bölüm adını iletin
için --güncelleme bölümüve orijinal ve yeni bölüm adları --rename-bölümü.
--add-sembol isim=[Bölüm:]değer[,bayraklar]
adlı yeni bir sembol ekleyin isim dosyayı kopyalarken. Bu seçenek belirtilebilir
bir kaç sefer. Eğer Bölüm verildiğinde, sembol ile ilişkilendirilecek ve
o bölüme göre, aksi takdirde bir ABS sembolü olacaktır. tanımsız belirtme
bölümü önemli bir hataya neden olacaktır. Değer için kontrol yok, olacak
belirtildiği gibi alınır. Sembol bayrakları belirtilebilir ve tüm bayraklar belirtilemez.
tüm nesne dosya biçimleri için anlamlıdır. Varsayılan olarak, sembol genel olacaktır. NS
özel bayrak 'önce=diğersim' belirtilenin önüne yeni sembolü ekleyecektir
diğersim, aksi takdirde sembol(ler) aşağıdaki sembol tablosunun sonuna eklenecektir.
sırayla görünürler.
--rename-bölümü eski ad=yeni isim[,bayraklar]
Bir bölümü yeniden adlandır eski ad için yeni isim, isteğe bağlı olarak bölümün bayraklarını
bayraklar süreç içerisinde. Bu, aşağıdakileri gerçekleştirmek için bir bağlayıcı komut dosyası kullanma avantajına sahiptir.
çıktının bir nesne dosyası olarak kalması ve bağlantılı bir dosya haline gelmemesi için yeniden adlandırın
yürütülebilir.
Bu seçenek özellikle giriş biçimi ikili olduğunda yararlıdır, çünkü bu
her zaman .data adlı bir bölüm oluşturun. Örneğin, bunun yerine bir
ikili verileri içeren .rodata adlı bölüm aşağıdaki komut satırını kullanabilirsiniz
başarmak için:
objcopy -I ikili -O -B \
--rename-section .data=.rodata,alloc,load,salt okunur,data,contents \
--uzun bölüm-adları {etkinleştir, devre dışı bırak, sakla}
"COFF" ve "PE-COFF" işlenirken uzun bölüm adlarının işlenmesini kontrol eder
nesne biçimleri. Varsayılan davranış, tutmak, varsa uzun bölüm adlarını korumaktır
girdi dosyasında bulunur. NS etkinleştirmek ve Enable / Disable seçenekler zorla etkinleştirin veya
çıktı nesnesinde uzun bölüm adlarının kullanımını devre dışı bırakın; ne zaman Enable / Disable yürürlükte,
giriş nesnesindeki tüm uzun bölüm adları kesilecektir. NS etkinleştirmek seçenek olacak
yalnızca girişlerde varsa uzun bölüm adları yayınlayın; bu çoğunlukla aynı
as tutmak, ancak olup olmadığı tanımsız bırakılmıştır. etkinleştirmek seçenek oluşturmayı zorlayabilir
çıktı dosyasındaki boş bir dize tablosunun.
--change-lider-char
Bazı nesne dosyası biçimleri, sembollerin başında özel karakterler kullanır. en
Bu tür ortak bir karakter, derleyicilerin genellikle her sembolün önüne eklediği alt çizgidir.
Bu seçenek söyler nesne kopyası her sembolün baş karakterini değiştirmek için
nesne dosya biçimleri arasında dönüştürür. Nesne dosya biçimleri aynı satır aralığını kullanıyorsa
karakter, bu seçeneğin hiçbir etkisi yoktur. Aksi takdirde, bir karakter ekler veya bir
veya uygun şekilde bir karakteri değiştirin.
--remove-lider-char
Genel sembolün ilk karakteri özel bir sembol baş karakteri ise
nesne dosya biçimine göre, karakteri kaldırın. Önde gelen en yaygın sembol
karakter alt çizgidir. Bu seçenek, tüm global öğelerin başındaki alt çizgiyi kaldıracaktır.
semboller. Farklı dosyadaki nesneleri birbirine bağlamak istiyorsanız bu yararlı olabilir.
sembol adları için farklı kurallara sahip biçimler. Bu farklı
--change-lider-char çünkü uygun olduğunda her zaman sembol adını değiştirir,
çıktı dosyasının nesne dosyası biçiminden bağımsız olarak.
--ters-bayt=num
Çıktı içeriği olan bir bölümdeki baytları ters çevirin. Bir bölüm uzunluğu eşit olmalıdır
takasın yapılabilmesi için verilen değere bölünebilir. geri vites
serpiştirme gerçekleştirilmeden önce gerçekleşir.
Bu seçenek tipik olarak sorunlu hedef sistemler için ROM görüntüleri oluştururken kullanılır.
Örneğin, bazı hedef panolarda, 32 bitlik ROM'lardan alınan 8 bitlik sözcükler yeniden
CPU bayt sırasından bağımsız olarak küçük endian bayt sırasına göre birleştirilir. Bağlı olarak
programlama modeli, ROM'un endianlığının değiştirilmesi gerekebilir.
Aşağıdaki sekiz baytı içeren bir bölümü olan basit bir dosya düşünün: 12345678.
kullanma --ters-bayt=2 yukarıdaki örnek için, çıktı dosyasındaki baytlar
21436587 sipariş etti.
kullanma --ters-bayt=4 yukarıdaki örnek için, çıktı dosyasındaki baytlar
43218765 sipariş etti.
Kullanarak --ters-bayt=2 yukarıdaki örnek için, ardından --ters-bayt=4 üzerinde
çıktı dosyasında, ikinci çıktı dosyasındaki baytlar 34127856 olarak sıralanır.
--srec-len=IVAL
Yalnızca srec çıktısı için anlamlıdır. Srecords'un maksimum uzunluğunu ayarlayın
için üretildi IVAL. Bu uzunluk hem adres, hem veri hem de crc alanlarını kapsar.
--srec-forceS3
Yalnızca srec çıktısı için anlamlıdır. Yalnızca S1 oluşturarak S2/S3 kayıtlarının oluşturulmasından kaçının
kayıt formatı.
--yeniden tanımla-sym eski=yeni
Bir sembolün adını değiştirme eskie yeni. Bu, bağlantı denendiğinde faydalı olabilir
kaynağınız olmayan iki şey bir arada ve isim çakışmaları var.
--redefinine-syms=Dosya
Başvurmalıyım --yeniden tanımla-sym her bir sembol çiftine "eski yeni"dosyada listeleniyor Dosya.
Dosya her satırda bir sembol çifti bulunan düz bir dosyadır. satır yorumları olabilir
karma karakter tarafından tanıtıldı. Bu seçenek birden fazla verilebilir.
--zayıflamak
Dosyadaki tüm global sembolleri zayıf olacak şekilde değiştirin. Bu, bir
kullanılarak diğer nesnelere bağlanacak nesne -R bağlayıcı seçeneği.
Bu seçenek yalnızca zayıf desteği destekleyen bir nesne dosya biçimi kullanıldığında etkilidir.
semboller.
--keep-sembolleri=Dosya
Başvurmalıyım --keep-sembol dosyada listelenen her sembol için seçenek Dosya. Dosya is
her satırda bir sembol adı olan sadece düz bir dosya. Satır yorumları tarafından tanıtılabilir
hash karakteri. Bu seçenek birden fazla verilebilir.
--şerit-semboller=Dosya
Başvurmalıyım --şerit-sembol dosyada listelenen her sembol için seçenek Dosya. Dosya is
her satırda bir sembol adı olan sadece düz bir dosya. Satır yorumları tarafından tanıtılabilir
hash karakteri. Bu seçenek birden fazla verilebilir.
--şerit-gereksiz-semboller=Dosya
Başvurmalıyım --şerit-gereksiz-sembol dosyada listelenen her sembol için seçenek Dosya.
Dosya her satırda bir sembol adı olan düz bir dosyadır. satır yorumları olabilir
karma karakter tarafından tanıtıldı. Bu seçenek birden fazla verilebilir.
--keep-global-semboller=Dosya
Başvurmalıyım --keep-global-sembol dosyada listelenen her sembol için seçenek Dosya.
Dosya her satırda bir sembol adı olan düz bir dosyadır. satır yorumları olabilir
karma karakter tarafından tanıtıldı. Bu seçenek birden fazla verilebilir.
--yerelleştirme-sembolleri=Dosya
Başvurmalıyım --localize-sembol dosyada listelenen her sembol için seçenek Dosya. Dosya
her satırda bir sembol adı olan düz bir dosyadır. Satır yorumları tanıtılabilir
hash karakterine göre. Bu seçenek birden fazla verilebilir.
--globalize-semboller=Dosya
Başvurmalıyım --globalize-sembol dosyada listelenen her sembol için seçenek Dosya. Dosya
her satırda bir sembol adı olan düz bir dosyadır. Satır yorumları tanıtılabilir
hash karakterine göre. Bu seçenek birden fazla verilebilir.
--zayıf-semboller=Dosya
Başvurmalıyım --zayıf-sembol dosyada listelenen her sembol için seçenek Dosya. Dosya is
her satırda bir sembol adı olan sadece düz bir dosya. Satır yorumları tarafından tanıtılabilir
hash karakteri. Bu seçenek birden fazla verilebilir.
--alt-makine-kodu=indeks
Çıkış mimarisinde alternatif makine kodları varsa, indeksbunun yerine th kodu
varsayılan olandan. Bu, bir makineye resmi bir kod atanması ve
alet zinciri yeni kodu benimser, ancak diğer uygulamalar hala
orijinal kod kullanılıyor. ELF tabanlı mimariler için indeks alternatif yapar
mevcut değilse, değer, depolanacak mutlak bir sayı olarak kabul edilir.
ELF başlığının e_machine alanı.
--yazılabilir-metin
Çıktı metnini yazılabilir olarak işaretleyin. Bu seçenek tüm nesne dosyaları için anlamlı değil
biçimleri.
--salt okunur-metin
Çıktı metnini yazmaya karşı korumalı yapın. Bu seçenek tüm nesneler için anlamlı değil
dosya formatları.
--saf
Çıktı dosyasını talep sayfası olarak işaretleyin. Bu seçenek tüm nesneler için anlamlı değil
dosya formatları.
-- saf olmayan
Çıktı dosyasını saf olmayan olarak işaretleyin. Bu seçenek tüm nesne dosyaları için anlamlı değil
biçimleri.
--önek-semboller=dizi
Çıktı dosyasındaki tüm sembollerin önüne şunu ekleyin: dizi.
--önek-bölümler=dizi
Çıktı dosyasındaki tüm bölüm adlarının önüne şunu ekleyin: dizi.
--prefix-alloc-bölümleri=dizi
Çıktı dosyasında tahsis edilen tüm bölümlerin tüm adlarının önüne şunu ekleyin: dizi.
--add-gnu-debuglink=dosyaya giden yol
Bir referans içeren bir .gnu_debuglink bölümü oluşturur. dosyaya giden yol ve ekler
çıktı dosyasına atın. Not: adresindeki dosya dosyaya giden yol var olmalı. Bir parçası
.gnu_debuglink bölümünün eklenmesi işlemi, bir sağlama toplamının gömülmesini içerir.
hata ayıklama bilgi dosyasının içeriği bölümüne.
Hata ayıklama bilgi dosyası tek bir konumda yerleşikse ancak bir
daha sonra farklı bir yere gidin, ardından kurulu olana giden yolu kullanmayın
yer. --add-gnu-hata ayıklama bağlantısı yüklü dosya yaptığı için seçenek başarısız olur
henüz yok. Bunun yerine hata ayıklama bilgi dosyasını geçerli dizine koyun ve
--add-gnu-hata ayıklama bağlantısı herhangi bir dizin bileşeni olmayan seçenek, bunun gibi:
objcopy --add-gnu-debuglink=foo.debug
Hata ayıklama zamanında hata ayıklayıcı, ayrı bir hata ayıklama bilgisi dosyasını bir
bilinen konumlar kümesi. Bu konumların tam seti, bölgeye bağlı olarak değişir.
dağıtım kullanılıyor, ancak genellikle şunları içerir:
"* Yürütülebilir dosyayla aynı dizin."
"* Yürütülebilir dosyayı içeren dizinin bir alt dizini"
denilen .debug
"* /usr/lib/debug gibi global bir hata ayıklama dizini."
Hata ayıklama bilgi dosyası daha önce bu konumlardan birine yüklenmişse
hata ayıklayıcı çalıştırıldığında her şey doğru şekilde çalışmalıdır.
--keep-file-sembolleri
Bir dosyayı çıkarırken, belki --şerit-hata ayıklama or --şerit-gereksiz, herhangi birini sakla
aksi takdirde sıyrılacak olan kaynak dosya adlarını belirten semboller.
--only-tut-debug
Bir dosyayı soyun, tarafından çıkarılamayan bölümlerin içeriğini kaldırarak
--şerit-hata ayıklama ve hata ayıklama bölümlerini olduğu gibi bırakmak. ELF dosyalarında bu,
çıktıdaki tüm not bölümleri.
Not - soyulmuş bölümlerin bölüm başlıkları, bunların bölümleri de dahil olmak üzere korunur.
boyutları, ancak bölümün içeriği atılır. bölüm başlıkları şunlardır
diğer araçların debuginfo dosyasını gerçek dosyayla eşleştirebilmesi için korunur
yürütülebilir, bu yürütülebilir dosya farklı bir adres alanına taşınmış olsa bile.
Amaç, bu seçeneğin aşağıdakilerle birlikte kullanılmasıdır. --add-gnu-hata ayıklama bağlantısı
iki parçalı bir yürütülebilir dosya oluşturmak için. Biri daha az yer kaplayacak soyulmuş bir ikili dosya
RAM'de ve bir dağıtımda ve ikincisi yalnızca bir hata ayıklama bilgi dosyasında
hata ayıklama yetenekleri gerekiyorsa gereklidir. Bunları oluşturmak için önerilen prosedür
dosyalar aşağıdaki gibidir:
1.
"foo" o zaman...
1.
hata ayıklama bilgilerini içeren bir dosya oluşturun.
1.
soyulmuş yürütülebilir dosya.
1.
soyulmuş yürütülebilir dosyaya hata ayıklama bilgilerine bir bağlantı eklemek için.
Not --- hata ayıklama bilgi dosyasının uzantısı olarak ".dbg" seçimi isteğe bağlıdır.
Ayrıca "--only-keep-debug" adımı isteğe bağlıdır. Bunun yerine şunu yapabilirsiniz:
1.
1.
1.
1.
yani, tarafından işaret edilen dosya --add-gnu-hata ayıklama bağlantısı tam yürütülebilir dosya olabilir. Bilişim Teknoloji
tarafından oluşturulmuş bir dosya olmak zorunda değildir. --only-tut-debug geçiş.
Not --- bu anahtar yalnızca tam bağlantılı dosyalarda kullanılmak üzere tasarlanmıştır. yapmaz
hata ayıklama bilgilerinin eksik olabileceği nesne dosyalarında kullanmak mantıklıdır.
gnu_debuglink özelliğinin yanı sıra şu anda yalnızca bir dosya adının varlığını desteklemektedir.
nesne başına bir dosyada birden fazla dosya adı değil, hata ayıklama bilgisi içeren
temelidir.
--şerit-dwo
Kalan hata ayıklamayı bırakarak tüm DWARF .dwo bölümlerinin içeriğini kaldırın
bölümler ve tüm semboller bozulmamış. Bu seçenek, derleyici tarafından şu şekilde kullanılmak üzere tasarlanmıştır:
bir parçası -gssplit-cüce hata ayıklama bilgilerini .o dosyası arasında bölen seçenek
ve ayrı bir .dwo dosyası. Derleyici, tüm hata ayıklama bilgilerini aynı
dosya, daha sonra kullanır --extract-dwo .dwo bölümlerini .dwo dosyasına kopyalama seçeneği,
sonra --şerit-dwo bu bölümleri orijinal .o dosyasından kaldırma seçeneği.
--extract-dwo
Tüm DWARF .dwo bölümlerinin içeriğini çıkarın. Bkz. --şerit-dwo daha fazlası için seçenek
bilgiler.
--dosya hizalama num
Dosya hizalamasını belirtin. Dosyadaki bölümler her zaman dosya ofsetlerinde başlar
bu sayının katları olan Bu, varsayılan olarak 512'dir. [Bu seçenek özeldir
PE hedeflerine.]
--yığın rezerv
--yığın rezerv,işlemek
olarak kullanılmak üzere ayrılacak (ve isteğe bağlı olarak taahhüt edilecek) bellek bayt sayısını belirtin.
Bu program için yığın. [Bu seçenek, PE hedeflerine özeldir.]
--resim tabanı değer
kullanım değer programınızın veya dll'nizin temel adresi olarak. Bu en düşük bellek
programınız veya dll yüklendiğinde kullanılacak konum. ihtiyacını azaltmak için
dll'lerinizin yerini değiştirin ve performansını artırın, her birinin benzersiz bir temel adresi olmalıdır
ve diğer dll'lerle örtüşmez. Yürütülebilir dosyalar için varsayılan 0x400000'dir ve
0x10000000 dll'ler için. [Bu seçenek, PE hedeflerine özeldir.]
--bölüm hizalama num
Bölüm hizalamasını ayarlar. Bellekteki bölümler her zaman aşağıdaki adreslerde başlar:
bu sayının katıdır. Varsayılan olarak 0x1000'dir. [Bu seçenek PE'ye özeldir
hedefler.]
--yığın rezerv
--yığın rezerv,işlemek
olarak kullanılmak üzere ayrılacak (ve isteğe bağlı olarak taahhüt edilecek) bellek bayt sayısını belirtin.
Bu program için yığın. [Bu seçenek, PE hedeflerine özeldir.]
--alt sistem hangi
--alt sistem hangi:büyük
--alt sistem hangi:büyük.küçük
Programınızın yürütüleceği alt sistemi belirtir. için yasal değerler
hangi "yerli", "windows", "console", "posix", "efi-app", "efi-bsd", "efi-rtd",
"sal-rtd" ve "xbox". İsteğe bağlı olarak alt sistem sürümünü de ayarlayabilirsiniz. sayısal
değerler için de kabul edilir. hangi. [Bu seçenek, PE hedeflerine özeldir.]
--extract-sembol
Dosyanın bölüm bayraklarını ve sembollerini saklayın ancak tüm bölüm verilerini kaldırın. özellikle,
seçenek:
*
*
*
Bu seçenek, bir .sym VxWorks çekirdeği için dosya. Ayrıca bir olabilir
boyutunu küçültmenin kullanışlı bir yolu --sadece-semboller bağlayıcı giriş dosyası.
--compress-debug-bölümleri
ELF ABI'den SHF_COMPRESSED ile zlib kullanarak DWARF hata ayıklama bölümlerini sıkıştırın. Not -
sıkıştırma gerçekten bir bölüm oluştursaydı büyük, sıkıştırılmaz.
--compress-debug-sections=yok
--compress-debug-sections=zlib
--compress-debug-sections=zlib-gnu
--compress-debug-sections=zlib-gabi
ELF dosyaları için bu seçenekler, DWARF hata ayıklama bölümlerinin nasıl sıkıştırılacağını kontrol eder.
--compress-debug-sections=yok eşdeğerdir --decompress-debug-bölümleri.
--compress-debug-sections=zlib ve --compress-debug-sections=zlib-gabi eşdeğerdir
için --compress-debug-bölümleri. --compress-debug-sections=zlib-gnu Cüceyi sıkıştırır
zlib kullanarak bölümlerde hata ayıklama. Hata ayıklama bölümleri başlamak üzere yeniden adlandırılır .zdebug
yerine .hata ayıklama. Not - sıkıştırma gerçekten bir bölüm oluşturacaksa büyük, Daha sonra
sıkıştırılmamış veya yeniden adlandırılmamıştır.
--decompress-debug-bölümleri
Zlib kullanarak DWARF hata ayıklama bölümlerini açın. Orijinal bölüm adları
sıkıştırılmış bölümler geri yüklenir.
-V
--versiyon
sürüm numarasını göster nesne kopyası.
-v
--ayrıntılı
Ayrıntılı çıktı: değiştirilen tüm nesne dosyalarını listeler. Arşivler söz konusu olduğunda, nesne kopyası -V
arşivin tüm üyelerini listeler.
--yardım et
Seçeneklerin bir özetini göster nesne kopyası.
--bilgi
Mevcut tüm mimarileri ve nesne formatlarını gösteren bir liste görüntüleyin.
@dosya
Komut satırı seçeneklerini şuradan okuyun: dosya. Okunan seçenekler yerine eklenir.
orijinal @dosya seçenek. Eğer dosya mevcut değilse veya okunamıyorsa, seçenek
kelimenin tam anlamıyla işlenecek ve kaldırılmayacaktır.
İçindeki seçenekler dosya boşluk ile ayrılır. Bir boşluk karakteri dahil edilebilir
tüm seçeneği tek veya çift tırnak içine alarak bir seçenekte. Herhangi
karakter (ters eğik çizgi dahil), kullanılacak karakterin önüne eklenerek dahil edilebilir.
ters eğik çizgi ile dahil edilmiştir. NS dosya kendisi ek @ içerebilirdosya seçenekler; herhangi
bu tür seçenekler özyinelemeli olarak işlenecektir.
onworks.net hizmetlerini kullanarak aarch64-linux-gnu-objcopy çevrimiçi kullanın