Ini adalah perintah sh4-linux-gnu-objcopy yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
objcopy - menyalin dan menerjemahkan file objek
RINGKASAN
salinan objek [-F nama bfd|--target=nama bfd]
[-I nama bfd|--target-masukan=nama bfd]
[-O nama bfd|--target-keluaran=nama bfd]
[-B bfdarch|--arsitektur-biner=bfdarch]
[-S|--strip-semua]
[-g|--strip-debug]
[-K nama simbol|--keep-simbol=nama simbol]
[-N nama simbol|--strip-simbol=nama simbol]
[--strip-simbol-yang tidak dibutuhkan=nama simbol]
[-G nama simbol|--jaga-simbol-global=nama simbol]
[--localize-tersembunyi]
[-L nama simbol|--localize-simbol=nama simbol]
[--globalisasi-simbol=nama simbol]
[-W nama simbol|--melemah-simbol=nama simbol]
[-w|--kartu pengganti]
[-x|--buang-semua]
[-X|--buang-lokal]
[-b byte|--bita=byte]
[-i [luasnya]|--menjalin[=luasnya]]
[--interleave-width=lebar]
[-j pola bagian|--hanya-bagian=pola bagian]
[-R pola bagian|--hapus-bagian=pola bagian]
[-p|--pertahankan-tanggal]
[-D|--aktifkan-deterministik-arsip]
[-U|--nonaktifkan-deterministik-arsip]
[--debug]
[--gap-isi=val]
[--pad-ke=alamat]
[--set-mulai=val]
[--sesuaikan-mulai=termasuk]
[--ubah-alamat=termasuk]
[--ubah-bagian-alamat pola bagian{},+,-}val]
[--ubah-bagian-lma pola bagian{},+,-}val]
[--ubah-bagian-vma pola bagian{},+,-}val]
[--ubah-peringatan] [--tidak ada-perubahan-peringatan]
[--set-bagian-bendera pola bagian=bendera]
[--tambahkan-bagian nama bagian=nama file]
[--bagian-buangan nama bagian=nama file]
[--update-bagian nama bagian=nama file]
[--ganti nama-bagian nama lama=nama baru[,bendera]]
[--nama-bagian-panjang {aktifkan, nonaktifkan, pertahankan}]
[--ubah-karakter terdepan] [--hapus-leading-char]
[--reverse-byte=num]
[--srec-len=iVal] [--srec-forceS3]
[--mendefinisikan ulang-sym tua=yang baru]
[--definisi ulang-syms=nama file]
[--melemahkan]
[--keep-simbol=nama file]
[--strip-simbol=nama file]
[--strip-simbol-yang tidak dibutuhkan=nama file]
[--keep-global-simbol=nama file]
[--localize-simbol=nama file]
[--globalisasi-simbol=nama file]
[--melemah-simbol=nama file]
[--tambah-simbol nama=[bagian:]nilai[,bendera]
[--alt-mesin-kode=indeks]
[--awalan-simbol=tali]
[--awalan-bagian=tali]
[--awalan-alokasi-bagian=tali]
[--tambahkan-gnu-debuglink=jalur ke file]
[--keep-file-simbol]
[--hanya-keep-debug]
[--strip-dua]
[--ekstrak-dwo]
[--ekstrak-simbol]
[--teks yang dapat ditulis]
[--readonly-teks]
[--murni]
[--najis]
[--penyelarasan file=num]
[--tumpukan=ukuran]
[--gambar-dasar=alamat]
[--bagian-alignment=num]
[--tumpukan=ukuran]
[--subsistem=yang:utama.minor]
[--kompres-debug-bagian]
[--dekompres-debug-bagian]
[--kedalaman kerdil=n]
[--dwarf-mulai=n]
[-v|--bertele-tele]
[-V|--Versi: kapan]
[--membantu] [--info]
masuk [file keluar]
DESKRIPSI
GNU objcopy utilitas menyalin isi file objek ke yang lain. objcopy kegunaan
Perpustakaan GNU BFD untuk membaca dan menulis file objek. Itu bisa menulis tujuan
file objek dalam format yang berbeda dari file objek sumber. Perilaku yang tepat
of objcopy dikendalikan oleh opsi baris perintah. Perhatikan bahwa objcopy harus mampu
salin file yang sepenuhnya tertaut di antara dua format apa pun. Namun, menyalin objek yang dapat dipindahkan
file di antara dua format apa pun mungkin tidak berfungsi seperti yang diharapkan.
objcopy membuat file sementara untuk melakukan terjemahannya dan menghapusnya sesudahnya.
objcopy menggunakan BFD untuk melakukan semua pekerjaan terjemahannya; itu memiliki akses ke semua format
dijelaskan dalam BFD dan dengan demikian mampu mengenali sebagian besar format tanpa diberitahu secara eksplisit.
objcopy dapat digunakan untuk menghasilkan S-record dengan menggunakan target output dari srek (misalnya, gunakan -O
srek).
objcopy dapat digunakan untuk menghasilkan file biner mentah dengan menggunakan target output dari biner
(misalnya, gunakan -O biner). Kapan objcopy menghasilkan file biner mentah, pada dasarnya akan
menghasilkan dump memori dari isi file objek input. Semua simbol dan
informasi relokasi akan dibuang. Dump memori akan dimulai di alamat pemuatan
dari bagian terendah disalin ke file output.
Saat membuat S-record atau file biner mentah, mungkin berguna untuk menggunakan -S untuk menghapus
bagian yang berisi informasi debug. Dalam beberapa kasus -R akan berguna untuk menghapus
bagian yang berisi informasi yang tidak diperlukan oleh file biner.
Catatan---objcopy tidak dapat mengubah endianness file inputnya. Jika masukan
format memiliki endianness (beberapa format tidak), objcopy hanya dapat menyalin input ke dalam file
format yang memiliki endianness yang sama atau yang tidak memiliki endianness (misalnya, srek). (Namun,
lihat --reverse-byte pilihan.)
PILIHAN
masuk
file keluar
File input dan output, masing-masing. Jika Anda tidak menentukan file keluar, objcopy
membuat file sementara dan secara destruktif mengganti nama hasilnya dengan nama masuk.
-I nama bfd
--target-masukan=nama bfd
Pertimbangkan format objek file sumber sebagai nama bfd, daripada mencoba untuk
menyimpulkan itu.
-O nama bfd
--target-keluaran=nama bfd
Tulis file output menggunakan format objek nama bfd.
-F nama bfd
--target=nama bfd
penggunaan nama bfd sebagai format objek untuk file input dan output; yaitu, sederhana
mentransfer data dari sumber ke tujuan tanpa terjemahan.
-B bfdarch
--arsitektur-biner=bfdarch
Berguna saat mengubah file input tanpa arsitektur menjadi file objek. Di dalam
kasus arsitektur output dapat diatur ke bfdarch. Opsi ini akan diabaikan jika
file input memiliki yang diketahui bfdarch. Anda dapat mengakses data biner ini di dalam program
dengan mereferensikan simbol khusus yang dibuat oleh proses konversi. Ini
simbol disebut _biner_file objek_mulai, _biner_file objek_selesai dan
_biner_file objek_ukuran. misalnya Anda dapat mengubah file gambar menjadi file objek dan
kemudian akses dalam kode Anda menggunakan simbol-simbol ini.
-j pola bagian
--hanya-bagian=pola bagian
Salin hanya bagian yang ditunjukkan dari file input ke file output. Pilihan ini
dapat diberikan lebih dari satu kali. Perhatikan bahwa menggunakan opsi ini secara tidak tepat dapat membuat
file keluaran tidak dapat digunakan. Karakter wildcard diterima di pola bagian.
-R pola bagian
--hapus-bagian=pola bagian
Hapus semua bagian yang cocok pola bagian dari file keluaran. Opsi ini mungkin
diberikan lebih dari satu kali. Perhatikan bahwa menggunakan opsi ini secara tidak tepat dapat membuat output
berkas tidak dapat digunakan. Karakter wildcard diterima di pola bagian. Menggunakan keduanya -j
dan -R pilihan bersama-sama menghasilkan perilaku yang tidak terdefinisi.
-S
--strip-semua
Jangan menyalin informasi relokasi dan simbol dari file sumber.
-g
--strip-debug
Jangan menyalin simbol atau bagian debugging dari file sumber.
--strip-tidak dibutuhkan
Hapus semua simbol yang tidak diperlukan untuk pemrosesan relokasi.
-K nama simbol
--keep-simbol=nama simbol
Saat melepas simbol, pertahankan simbol nama simbol bahkan jika itu biasanya akan dilucuti.
Opsi ini dapat diberikan lebih dari satu kali.
-N nama simbol
--strip-simbol=nama simbol
Jangan menyalin simbol nama simbol dari file sumber. Opsi ini dapat diberikan lebih banyak
dari sekali.
--strip-simbol-yang tidak dibutuhkan=nama simbol
Jangan menyalin simbol nama simbol dari file sumber kecuali diperlukan oleh a
relokasi. Opsi ini dapat diberikan lebih dari satu kali.
-G nama simbol
--jaga-simbol-global=nama simbol
Simpan hanya simbol nama simbol global. Jadikan semua simbol lain lokal ke file, sehingga
mereka tidak terlihat secara eksternal. Opsi ini dapat diberikan lebih dari satu kali.
--localize-tersembunyi
Dalam objek ELF, tandai semua simbol yang memiliki visibilitas tersembunyi atau internal sebagai lokal.
Opsi ini berlaku di atas opsi pelokalan khusus simbol seperti -L.
-L nama simbol
--localize-simbol=nama simbol
Buat simbol nama simbol lokal ke file, sehingga tidak terlihat secara eksternal. Ini
pilihan dapat diberikan lebih dari satu kali.
-W nama simbol
--melemah-simbol=nama simbol
Buat simbol nama simbol lemah. Opsi ini dapat diberikan lebih dari satu kali.
--globalisasi-simbol=nama simbol
Beri simbol nama simbol pelingkupan global sehingga terlihat di luar file di
yang didefinisikan. Opsi ini dapat diberikan lebih dari satu kali.
-w
--kartu pengganti
Izinkan ekspresi reguler dalam nama simbols digunakan dalam opsi baris perintah lainnya. NS
tanda tanya (?), tanda bintang (*), garis miring terbalik (\) dan tanda kurung siku ([]) operator dapat
digunakan di mana saja dalam nama simbol. Jika karakter pertama dari nama simbol adalah
tanda seru (!) maka arti saklar dibalik untuk simbol tersebut. Untuk
contoh:
-w -W !foo -W fo*
akan menyebabkan objcopy melemahkan semua simbol yang dimulai dengan "fo" kecuali simbol
"foo".
-x
--buang-semua
Jangan menyalin simbol non-global dari file sumber.
-X
--buang-lokal
Jangan menyalin simbol lokal yang dibuat oleh kompiler. (Ini biasanya dimulai dengan L or ..)
-b byte
--bita=byte
Jika interleaving telah diaktifkan melalui --menjalin pilihan kemudian mulai kisaran
byte untuk disimpan di bytebyte. byte dapat berkisar dari 0 hingga luasnya-1, dimana
luasnya adalah nilai yang diberikan oleh --menjalin .
-i [luasnya]
--interleave[=luasnya]
Hanya salin rentang dari setiap luasnya byte. (Data header tidak terpengaruh). Pilih
byte mana dalam rentang yang memulai salinan dengan --byte pilihan. Pilih lebar
jangkauan dengan --interleave-lebar .
Opsi ini berguna untuk membuat file ke ROM program. Ini biasanya digunakan dengan
target keluaran "srec". Perhatikan bahwa objcopy akan mengeluh jika Anda tidak menentukan
--byte pilihan juga.
Lebar interleave default adalah 4, jadi dengan --byte atur ke 0, objcopy akan menyalin
byte pertama dari setiap empat byte dari input ke output.
--interleave-width=lebar
Saat digunakan dengan --menjalin pilihan, salin lebar byte pada suatu waktu. Awal dari
kisaran byte yang akan disalin diatur oleh --byte pilihan, dan tingkat jangkauan
diatur dengan --menjalin .
Nilai default untuk opsi ini adalah 1. Nilai dari lebar ditambah byte nilai yang ditetapkan oleh
itu --byte opsi tidak boleh melebihi lebar interleave yang ditetapkan oleh --menjalin
.
Opsi ini dapat digunakan untuk membuat gambar untuk dua kilatan 16-bit yang disisipkan dalam a
Bus 32-bit dengan melewati -b 0 -i 4 --interleave-lebar=2 dan -b 2 -i 4
--interleave-lebar=2 dua objcopy perintah. Jika inputnya adalah '12345678' maka
output akan menjadi '1256' dan '3478' masing-masing.
-p
--pertahankan-tanggal
Atur tanggal akses dan modifikasi file output agar sama dengan tanggal
berkas masukan.
-D
--aktifkan-deterministik-arsip
Beroperasi di deterministik mode. Saat menyalin anggota arsip dan menulis arsip
indeks, gunakan nol untuk UID, GID, stempel waktu, dan gunakan mode file yang konsisten untuk semua
file.
If binutils.dll dikonfigurasi dengan --aktifkan-deterministik-arsip, maka mode ini aktif
secara default. Itu dapat dinonaktifkan dengan -U pilihan, di bawah.
-U
--nonaktifkan-deterministik-arsip
Do tidak beroperasi di deterministik mode. Ini adalah kebalikan dari -D pilihan, di atas:
saat menyalin anggota arsip dan menulis indeks arsip, gunakan UID, GID,
timestamp, dan nilai mode file.
Ini adalah default kecuali binutils.dll dikonfigurasi dengan
--aktifkan-deterministik-arsip.
--debug
Konversi informasi debug, jika memungkinkan. Ini bukan default karena hanya
format debugging tertentu didukung, dan proses konversi bisa memakan waktu
mengkonsumsi.
--pengisi celah val
Isi celah antar bagian dengan val. Operasi ini berlaku untuk memuat alamat (LMA)
bagian. Hal ini dilakukan dengan meningkatkan ukuran bagian dengan lebih rendah
alamat, dan mengisi ruang ekstra yang dibuat dengan val.
--pad-untuk alamat
Pad file output ke alamat pemuatan alamat. Hal ini dilakukan dengan meningkatkan
ukuran bagian terakhir. Ruang ekstra diisi dengan nilai yang ditentukan oleh
--pengisi celah (default nol).
--set-mulai val
Setel alamat awal file baru ke val. Tidak semua format file objek mendukung
mengatur alamat awal.
--ubah-mulai termasuk
--sesuaikan-mulai termasuk
Ubah alamat awal dengan menambahkan termasuk. Tidak semua format file objek mendukung pengaturan
alamat awal.
--ubah-alamat termasuk
--sesuaikan-vma termasuk
Ubah alamat VMA dan LMA dari semua bagian, serta alamat awal, dengan
menambahkan termasuk. Beberapa format file objek tidak mengizinkan alamat bagian diubah
sewenang-wenang. Perhatikan bahwa ini tidak memindahkan bagian; jika program mengharapkan
bagian yang akan dimuat di alamat tertentu, dan opsi ini digunakan untuk mengubah
bagian sedemikian rupa sehingga dimuat di alamat yang berbeda, program mungkin gagal.
--ubah-bagian-alamat pola bagian{},+,-}val
--sesuaikan-bagian-vma pola bagian{},+,-}val
Setel atau ubah alamat VMA dan alamat LMA dari setiap bagian yang cocok
pola bagian. Jika = digunakan, alamat bagian diatur ke val. Jika tidak, val is
ditambahkan atau dikurangi dari alamat bagian. Lihat komentar di bawah
--ubah-alamat, di atas. Jika pola bagian tidak cocok dengan bagian mana pun di input
file, peringatan akan dikeluarkan, kecuali --tidak ada-perubahan-peringatan digunakan.
--ubah-bagian-lma pola bagian{},+,-}val
Setel atau ubah alamat LMA dari setiap bagian yang cocok pola bagian. LMA
alamat adalah alamat di mana bagian akan dimuat ke dalam memori pada saat program dimuat
waktu. Biasanya ini sama dengan alamat VMA, yang merupakan alamat dari
bagian pada waktu program dijalankan, tetapi pada beberapa sistem, terutama di mana sebuah program berada
diadakan di ROM, keduanya bisa berbeda. Jika = digunakan, alamat bagian diatur ke
val. Jika tidak, val ditambahkan atau dikurangi dari alamat bagian. Lihat
komentar di bawah --ubah-alamat, di atas. Jika pola bagian tidak cocok dengan apapun
bagian dalam file input, peringatan akan dikeluarkan, kecuali --tidak ada-perubahan-peringatan is
bekas.
--ubah-bagian-vma pola bagian{},+,-}val
Setel atau ubah alamat VMA dari setiap bagian yang cocok pola bagian. Alamat VMA
adalah alamat di mana bagian akan ditempatkan setelah program dimulai
mengeksekusi. Biasanya ini sama dengan alamat LMA, yaitu alamat dimana
bagian akan dimuat ke dalam memori, tetapi pada beberapa sistem, terutama di mana a
program diadakan di ROM, keduanya bisa berbeda. Jika = digunakan, alamat bagian
diatur ke val. Jika tidak, val ditambahkan atau dikurangi dari alamat bagian.
Lihat komentar di bawah --ubah-alamat, di atas. Jika pola bagian tidak cocok
setiap bagian dalam file input, peringatan akan dikeluarkan, kecuali --tidak ada-perubahan-peringatan
digunakan.
--ubah-peringatan
--sesuaikan-peringatan
If --ubah-bagian-alamat or --ubah-bagian-lma or --ubah-bagian-vma digunakan,
dan pola bagian tidak cocok dengan bagian mana pun, berikan peringatan. Ini adalah
standar.
--tidak ada-perubahan-peringatan
--no-sesuaikan-peringatan
Jangan berikan peringatan jika --ubah-bagian-alamat or --sesuaikan-bagian-lma or
--sesuaikan-bagian-vma digunakan, bahkan jika pola bagian tidak cocok dengan bagian mana pun.
--set-bagian-bendera pola bagian=bendera
Setel bendera untuk setiap bagian yang cocok pola bagian. itu bendera argumen adalah koma
string nama bendera yang terpisah. Nama-nama yang dikenal adalah mengalokasikan, isi, memuat,
tanpa beban, dibaca saja, kode, data, ROM, 'share', dan men-debug. Anda dapat mengatur isi bendera
untuk bagian yang tidak memiliki konten, tetapi tidak berarti untuk menghapus
isi bendera bagian yang memang memiliki konten--hapus saja bagian itu.
Tidak semua flag bermakna untuk semua format file objek.
--tambahkan-bagian nama bagian=nama file
Tambahkan bagian baru bernama nama bagian saat menyalin file. Isi baru
bagian diambil dari file nama file. Ukuran bagian akan menjadi ukuran
berkas. Opsi ini hanya berfungsi pada format file yang dapat mendukung bagian dengan
nama sembarangan. Catatan - mungkin perlu menggunakan --set-bagian-bendera pilihan untuk
atur atribut bagian yang baru dibuat.
--bagian-buangan nama bagian=nama file
Tempatkan isi bagian bernama nama bagian ke dalam file nama file, menimpa
konten apa pun yang mungkin sudah ada sebelumnya. Opsi ini adalah kebalikan dari
--tambahkan-bagian. Opsi ini mirip dengan --hanya-bagian pilihan kecuali itu
tidak membuat file yang diformat, itu hanya membuang konten sebagai data biner mentah,
tanpa menerapkan relokasi. Opsi dapat ditentukan lebih dari sekali.
--update-bagian nama bagian=nama file
Ganti konten yang ada dari bagian bernama nama bagian dengan isi file
nama file. Ukuran bagian akan disesuaikan dengan ukuran file. NS
bendera bagian untuk nama bagian akan tidak berubah. Untuk file format ELF bagian untuk
pemetaan segmen juga akan tetap tidak berubah, sesuatu yang tidak mungkin menggunakan
--hapus-bagian diikuti oleh --tambahkan-bagian. Opsi dapat ditentukan lebih dari
sekali.
Catatan - dimungkinkan untuk menggunakan --ganti nama-bagian dan --update-bagian untuk memperbarui dan
ganti nama bagian dari satu baris perintah. Dalam hal ini, berikan nama bagian asli
untuk --update-bagian, dan nama bagian asli dan baru untuk --ganti nama-bagian.
--tambah-simbol nama=[bagian:]nilai[,bendera]
Tambahkan simbol baru bernama nama saat menyalin file. Opsi ini dapat ditentukan
beberapa kali. jika bagian diberikan, simbol akan dikaitkan dengan dan
relatif terhadap bagian itu, jika tidak maka akan menjadi simbol ABS. Menentukan undefined
bagian akan mengakibatkan kesalahan fatal. Tidak ada pemeriksaan untuk nilainya, itu akan menjadi
diambil seperti yang ditentukan. Bendera simbol dapat ditentukan dan tidak semua bendera akan
bermakna untuk semua format file objek. Secara default, simbol akan menjadi global. NS
bendera khusus 'sebelum=simbol lainnya' akan menyisipkan simbol baru di depan yang ditentukan
simbol lainnya, jika tidak, simbol akan ditambahkan di akhir tabel simbol di
urutan mereka muncul.
--ganti nama-bagian nama lama=nama baru[,bendera]
Ganti nama bagian dari nama lama untuk nama baru, secara opsional mengubah bendera bagian menjadi
bendera dalam proses. Ini memiliki keunggulan dibandingkan menggunakan skrip tautan untuk melakukan
ganti nama agar output tetap sebagai file objek dan tidak menjadi tautan
dapat dieksekusi.
Opsi ini sangat membantu ketika format input biner, karena ini akan
selalu buat bagian yang disebut .data. Jika misalnya, Anda ingin membuat
bagian yang disebut .rodata yang berisi data biner Anda dapat menggunakan baris perintah berikut
untuk mencapainya:
objcopy -I biner -O -B \
--rename-section .data=.rodata,alloc,load, readonly,data,contents \
--nama-bagian-panjang {aktifkan, nonaktifkan, pertahankan}
Mengontrol penanganan nama bagian yang panjang saat memproses "COFF" dan "PE-COFF"
format objek. Perilaku bawaan, menjaga, adalah untuk mempertahankan nama bagian yang panjang jika ada
ada di file input. NS aktif dan menonaktifkan opsi aktifkan secara paksa atau
nonaktifkan penggunaan nama bagian yang panjang di objek keluaran; Kapan menonaktifkan sedang berlaku,
setiap nama bagian yang panjang dalam objek input akan terpotong. NS aktif pilihan akan
hanya memancarkan nama bagian yang panjang jika ada di input; ini kebanyakan sama
as menjaga, tetapi dibiarkan tidak terdefinisi apakah aktif opsi mungkin memaksa penciptaan
dari tabel string kosong di file output.
--ubah-karakter terdepan
Beberapa format file objek menggunakan karakter khusus di awal simbol. Yang paling
karakter umum seperti itu adalah garis bawah, yang sering ditambahkan oleh kompiler sebelum setiap simbol.
Opsi ini memberitahu objcopy untuk mengubah karakter utama setiap simbol ketika itu
mengkonversi antara format file objek. Jika format file objek menggunakan awalan yang sama
karakter, opsi ini tidak berpengaruh. Jika tidak, itu akan menambah karakter, atau menghapus
karakter, atau mengubah karakter, yang sesuai.
--hapus-leading-char
Jika karakter pertama dari simbol global adalah karakter utama simbol khusus yang digunakan
dengan format file objek, hapus karakter. Simbol paling umum yang memimpin
karakter digarisbawahi. Opsi ini akan menghapus garis bawah utama dari semua global
simbol. Ini dapat berguna jika Anda ingin menautkan objek dari file yang berbeda
format dengan konvensi yang berbeda untuk nama simbol. Ini berbeda dari
--ubah-karakter terdepan karena selalu mengubah nama simbol bila perlu,
terlepas dari format file objek dari file output.
--reverse-byte=num
Membalikkan byte di bagian dengan konten keluaran. Panjang bagian harus merata
habis dibagi dengan nilai yang diberikan agar swap dapat dilakukan. Membalikkan
terjadi sebelum interleaving dilakukan.
Opsi ini biasanya digunakan dalam menghasilkan gambar ROM untuk sistem target yang bermasalah.
Misalnya, pada beberapa papan target, kata-kata 32-bit yang diambil dari ROM 8-bit dikembalikan
dirakit dalam urutan byte little-endian terlepas dari urutan byte CPU. Bergantung kepada
model pemrograman, endianness ROM mungkin perlu dimodifikasi.
Pertimbangkan file sederhana dengan bagian yang berisi delapan byte berikut: 12345678.
Menggunakan --reverse-byte=2 untuk contoh di atas, byte dalam file output adalah
memesan 21436587.
Menggunakan --reverse-byte=4 untuk contoh di atas, byte dalam file output adalah
memesan 43218765.
Dengan menggunakan --reverse-byte=2 untuk contoh di atas, diikuti oleh --reverse-byte=4 pada
file output, byte dalam file output kedua akan dipesan 34127856.
--srec-len=iVal
Bermakna hanya untuk keluaran srec. Tetapkan panjang maksimum Srecords menjadi
diproduksi menjadi iVal. Panjang ini mencakup bidang alamat, data, dan crc.
--srec-forceS3
Bermakna hanya untuk keluaran srec. Hindari pembuatan catatan S1/S2, hanya membuat S3
format rekaman.
--mendefinisikan ulang-sym tua=yang baru
Mengubah nama simbol tua, Untuk yang baru. Ini bisa berguna ketika seseorang mencoba tautan
dua hal bersama-sama yang Anda tidak memiliki sumber, dan ada tabrakan nama.
--definisi ulang-syms=nama file
Mendaftar --mendefinisikan ulang-sym untuk setiap pasangan simbol "tua yang baru" tercantum dalam file nama file.
nama file hanyalah sebuah file datar, dengan satu pasangan simbol per baris. Komentar baris mungkin
diperkenalkan oleh karakter hash. Opsi ini dapat diberikan lebih dari satu kali.
--melemahkan
Ubah semua simbol global dalam file menjadi lemah. Ini bisa berguna saat membangun sebuah
objek yang akan dihubungkan dengan objek lain menggunakan -R pilihan untuk linker.
Opsi ini hanya efektif bila menggunakan format file objek yang mendukung lemah
simbol.
--keep-simbol=nama file
Mendaftar --keep-simbol opsi untuk setiap simbol yang tercantum dalam file nama file. nama file is
hanya file datar, dengan satu nama simbol per baris. Komentar baris dapat diperkenalkan oleh
karakter hash. Opsi ini dapat diberikan lebih dari satu kali.
--strip-simbol=nama file
Mendaftar --strip-simbol opsi untuk setiap simbol yang tercantum dalam file nama file. nama file is
hanya file datar, dengan satu nama simbol per baris. Komentar baris dapat diperkenalkan oleh
karakter hash. Opsi ini dapat diberikan lebih dari satu kali.
--strip-simbol-yang tidak dibutuhkan=nama file
Mendaftar --strip-tidak dibutuhkan-simbol opsi untuk setiap simbol yang tercantum dalam file nama file.
nama file hanyalah sebuah file datar, dengan satu nama simbol per baris. Komentar baris mungkin
diperkenalkan oleh karakter hash. Opsi ini dapat diberikan lebih dari satu kali.
--keep-global-simbol=nama file
Mendaftar --keep-global-simbol opsi untuk setiap simbol yang tercantum dalam file nama file.
nama file hanyalah sebuah file datar, dengan satu nama simbol per baris. Komentar baris mungkin
diperkenalkan oleh karakter hash. Opsi ini dapat diberikan lebih dari satu kali.
--localize-simbol=nama file
Mendaftar --localize-simbol opsi untuk setiap simbol yang tercantum dalam file nama file. nama file
hanyalah sebuah file datar, dengan satu nama simbol per baris. Komentar baris dapat diperkenalkan
oleh karakter hash. Opsi ini dapat diberikan lebih dari satu kali.
--globalisasi-simbol=nama file
Mendaftar --globalisasi-simbol opsi untuk setiap simbol yang tercantum dalam file nama file. nama file
hanyalah sebuah file datar, dengan satu nama simbol per baris. Komentar baris dapat diperkenalkan
oleh karakter hash. Opsi ini dapat diberikan lebih dari satu kali.
--melemah-simbol=nama file
Mendaftar --melemah-simbol opsi untuk setiap simbol yang tercantum dalam file nama file. nama file is
hanya file datar, dengan satu nama simbol per baris. Komentar baris dapat diperkenalkan oleh
karakter hash. Opsi ini dapat diberikan lebih dari satu kali.
--alt-mesin-kode=indeks
Jika arsitektur keluaran memiliki kode mesin alternatif, gunakan: indekskode th sebagai gantinya
dari yang default. Ini berguna jika mesin diberi kode resmi dan
rantai alat mengadopsi kode baru, tetapi aplikasi lain masih bergantung pada
kode asli yang digunakan. Untuk arsitektur berbasis ELF jika: indeks alternatif tidak
tidak ada maka nilainya diperlakukan sebagai bilangan mutlak untuk disimpan dalam
bidang e_machine dari header ELF.
--teks yang dapat ditulis
Tandai teks keluaran sebagai dapat ditulis. Opsi ini tidak berarti untuk semua file objek
format.
--readonly-teks
Jadikan teks keluaran terlindungi dari penulisan. Opsi ini tidak berarti untuk semua objek
format file.
--murni
Tandai file output sebagai halaman permintaan. Opsi ini tidak berarti untuk semua objek
format file.
--najis
Tandai file output sebagai tidak murni. Opsi ini tidak berarti untuk semua file objek
format.
--awalan-simbol=tali
Awalan semua simbol dalam file output dengan tali.
--awalan-bagian=tali
Awalan semua nama bagian dalam file output dengan tali.
--awalan-alokasi-bagian=tali
Awalan semua nama semua bagian yang dialokasikan dalam file output dengan tali.
--tambahkan-gnu-debuglink=jalur ke file
Membuat bagian .gnu_debuglink yang berisi referensi ke jalur ke file dan menambahkan
ke file keluaran. Catatan: file di jalur ke file harus ada. Bagian dari
proses penambahan bagian .gnu_debuglink melibatkan penyematan checksum dari
isi file info debug ke dalam bagian.
Jika file info debug dibuat di satu lokasi tetapi akan dipasang di a
nanti ke lokasi yang berbeda maka jangan gunakan jalur ke yang diinstal
lokasi. NS --tambahkan-gnu-debuglink opsi akan gagal karena file yang diinstal tidak
belum ada. Alih-alih letakkan file info debug di direktori saat ini dan gunakan
--tambahkan-gnu-debuglink opsi tanpa komponen direktori apa pun, seperti ini:
objcopy --add-gnu-debuglink=foo.debug
Pada waktu debug, debugger akan mencoba mencari file info debug terpisah di a
kumpulan lokasi yang diketahui. Set yang tepat dari lokasi ini bervariasi tergantung pada
distribusi yang digunakan, tetapi biasanya mencakup:
"* Direktori yang sama dengan yang dapat dieksekusi."
"* Sebuah sub-direktori dari direktori yang berisi executable"
disebut .debug
"* Direktori debug global seperti /usr/lib/debug."
Selama file info debug telah diinstal ke salah satu lokasi ini sebelumnya
debugger dijalankan semuanya harus bekerja dengan benar.
--keep-file-simbol
Saat menghapus file, mungkin dengan --strip-debug or --strip-tidak dibutuhkan, simpan apapun
simbol yang menentukan nama file sumber, yang jika tidak akan dilucuti.
--hanya-keep-debug
Hapus file, hapus konten bagian mana pun yang tidak akan dihapus
--strip-debug dan membiarkan bagian debug tetap utuh. Dalam file ELF, ini mempertahankan
semua bagian catatan dalam output.
Catatan - tajuk bagian dari bagian yang dilucuti dipertahankan, termasuk
ukuran, tetapi isi bagian tersebut dibuang. Header bagian adalah
dipertahankan sehingga alat lain dapat mencocokkan file debuginfo dengan aslinya
executable, bahkan jika executable telah dipindahkan ke ruang alamat yang berbeda.
Tujuannya adalah bahwa opsi ini akan digunakan bersama dengan --tambahkan-gnu-debuglink
untuk membuat dua bagian yang dapat dieksekusi. Satu biner yang dilucuti yang akan menempati lebih sedikit ruang
dalam RAM dan dalam distribusi dan yang kedua adalah file informasi debug yang hanya
diperlukan jika kemampuan debugging diperlukan. Prosedur yang disarankan untuk membuat ini
file adalah sebagai berikut:
1.
"huuu" lalu...
1.
buat file yang berisi info debugging.
1.
dilucuti dapat dieksekusi.
1.
untuk menambahkan tautan ke info debug ke dalam executable yang dilucuti.
Catatan --- pilihan ".dbg" sebagai ekstensi untuk file info debug adalah arbitrer.
Juga langkah "--only-keep-debug" adalah opsional. Anda malah bisa melakukan ini:
1.
1.
1.
1.
yaitu, file yang ditunjuk oleh --tambahkan-gnu-debuglink bisa menjadi executable penuh. Dia
tidak harus berupa file yang dibuat oleh --hanya-keep-debug saklar.
Catatan --- sakelar ini hanya dimaksudkan untuk digunakan pada file yang ditautkan sepenuhnya. Itu tidak membuat
akal untuk menggunakannya pada file objek di mana informasi debug mungkin tidak lengkap.
Selain itu fitur gnu_debuglink saat ini hanya mendukung keberadaan satu nama file
berisi informasi debug, bukan beberapa nama file pada file satu per objek
dasar.
--strip-dua
Hapus konten semua bagian DWARF .dwo, biarkan debug yang tersisa
bagian dan semua simbol utuh. Opsi ini dimaksudkan untuk digunakan oleh kompiler sebagai
bagian dari -gsplit-kerdil opsi, yang membagi informasi debug antara file .o
dan file .dwo terpisah. Kompiler menghasilkan semua informasi debug dengan cara yang sama
file, lalu gunakan --ekstrak-dwo opsi untuk menyalin bagian .dwo ke file .dwo,
maka --strip-dua opsi untuk menghapus bagian tersebut dari file .o asli.
--ekstrak-dwo
Ekstrak konten semua bagian DWARF .dwo. Lihat --strip-dua pilihan untuk lebih banyak
informasi.
--penyelarasan file num
Tentukan perataan file. Bagian dalam file akan selalu dimulai pada offset file
yang merupakan kelipatan dari bilangan tersebut. Ini default ke 512. [Opsi ini khusus
ke target PE.]
--tumpukan cadangan
--tumpukan cadangan,melakukan
Tentukan jumlah byte memori yang akan dicadangkan (dan secara opsional dikomit) untuk digunakan sebagai
tumpukan untuk program ini. [Opsi ini khusus untuk target PP.]
--gambar-dasar nilai
penggunaan nilai sebagai alamat dasar program Anda atau dll. Ini adalah memori terendah
lokasi yang akan digunakan saat program atau dll Anda dimuat. Untuk mengurangi kebutuhan untuk
pindahkan dan tingkatkan kinerja dll Anda, masing-masing harus memiliki alamat dasar yang unik
dan tidak tumpang tindih dengan dll lainnya. Standarnya adalah 0x400000 untuk executable, dan
0x10000000 untuk dll. [Opsi ini khusus untuk target PP.]
--bagian-penyelarasan num
Mengatur perataan bagian. Bagian dalam memori akan selalu dimulai pada alamat yang
adalah kelipatan dari bilangan ini. Default ke 0x1000. [Opsi ini khusus untuk PE
target.]
--tumpukan cadangan
--tumpukan cadangan,melakukan
Tentukan jumlah byte memori yang akan dicadangkan (dan secara opsional dikomit) untuk digunakan sebagai
tumpukan untuk program ini. [Opsi ini khusus untuk target PP.]
--subsistem yang
--subsistem yang:utama
--subsistem yang:utama.minor
Menentukan subsistem di mana program Anda akan dijalankan. Nilai hukum untuk
yang adalah "asli", "windows", "konsol", "posix", "efi-app", "efi-bsd", "efi-rtd",
"sal-rtd", dan "xbox". Anda juga dapat mengatur versi subsistem secara opsional. numerik
nilai juga diterima untuk yang. [Opsi ini khusus untuk target PP.]
--ekstrak-simbol
Simpan bendera dan simbol bagian file tetapi hapus semua data bagian. Secara khusus,
pilihan:
*
*
*
Opsi ini digunakan untuk membangun .sym file untuk kernel VxWorks. Bisa juga
cara yang berguna untuk mengurangi ukuran a --hanya-simbol file masukan penghubung.
--kompres-debug-bagian
Kompres bagian debug DWARF menggunakan zlib dengan SHF_COMPRESSED dari ELF ABI. Catatan -
jika kompresi benar-benar akan membuat bagian lebih besar, maka tidak dikompresi.
--compress-debug-sections=tidak ada
--kompres-debug-bagian=zlib
--kompres-debug-bagian=zlib-gnu
--kompres-debug-bagian=zlib-gabi
Untuk file ELF, opsi ini mengontrol bagaimana bagian debug DWARF dikompresi.
--compress-debug-sections=tidak ada adalah setara dengan --dekompres-debug-bagian.
--kompres-debug-bagian=zlib dan --kompres-debug-bagian=zlib-gabi setara
untuk --kompres-debug-bagian. --kompres-debug-bagian=zlib-gnu kompres DWARF
debug bagian menggunakan zlib. Bagian debug diganti namanya untuk memulai .zdebug
alih-alih .debug. Catatan - jika kompresi benar-benar akan membuat bagian lebih besar, kemudian
itu tidak dikompresi atau diganti namanya.
--dekompres-debug-bagian
Dekompresi bagian debug DWARF menggunakan zlib. Nama bagian asli dari
bagian terkompresi dipulihkan.
-V
--Versi: kapan
Tunjukkan nomor versi dari objcopy.
-v
--bertele-tele
Output verbose: daftar semua file objek yang dimodifikasi. Dalam hal arsip, objcopy -V
daftar semua anggota arsip.
--membantu
Tampilkan ringkasan opsi untuk objcopy.
--info
Menampilkan daftar yang menunjukkan semua arsitektur dan format objek yang tersedia.
@fillet
Baca opsi baris perintah dari fillet. Opsi yang dibaca disisipkan sebagai pengganti
asli @fillet pilihan. Jika fillet tidak ada, atau tidak dapat dibaca, maka opsi
akan diperlakukan secara harfiah, dan tidak dihapus.
Opsi dalam fillet dipisahkan oleh spasi. Karakter spasi putih dapat disertakan
dalam sebuah opsi dengan mengelilingi seluruh opsi dalam tanda kutip tunggal atau ganda. Setiap
karakter (termasuk garis miring terbalik) dapat dimasukkan dengan mengawali karakter menjadi
disertakan dengan garis miring terbalik. NS fillet mungkin sendiri mengandung tambahan @fillet pilihan; setiap
opsi tersebut akan diproses secara rekursif.
Gunakan sh4-linux-gnu-objcopy online menggunakan layanan onworks.net