Tiếng AnhTiếng PhápTiếng ĐứcTiếng ÝBồ Đào NhaTiếng NgaTiếng Tây Ban Nha

Biểu tượng yêu thích OnWorks

mips-linux-gnu-objcopy - Trực tuyến trên đám mây

Chạy mips-linux-gnu-objcopy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh mips-linux-gnu-objcopy có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


objcopy - sao chép và dịch các tệp đối tượng

SYNOPSIS


đối tượng [-F bfdname|- mục tiêu =bfdname]
[-I bfdname|--input-target =bfdname]
[-O bfdname|--output-target =bfdname]
[-B bfdarch|--binary-architecture =bfdarch]
[-S|--strip-all]
[-g|--strip-debug]
[-K tên ký hiệu|--keep-ký hiệu =tên ký hiệu]
[-N tên ký hiệu|--strip-symbol =tên ký hiệu]
[--strip-unneeded-Symbol =tên ký hiệu]
[-G tên ký hiệu|--keep-global-symbol =tên ký hiệu]
[--localize-hidden]
[-L tên ký hiệu|--localize-symbol =tên ký hiệu]
[--globalize-Symbol =tên ký hiệu]
[-W tên ký hiệu|--weaken-symbol =tên ký hiệu]
[-w|--wildcard]
[-x|--Loại bỏ tất cả]
[-X|- người dân địa phương]
[-b byte|--byte =byte]
[-i [bề rộng]|--interleave[=bề rộng]]
[--interleave-width =chiều rộng]
[-j sectionpattern|--only-section =sectionpattern]
[-R sectionpattern|--remove-section =sectionpattern]
[-p|- bảo tồn ngày tháng]
[-D|- lưu trữ có thể xác định được]
[-U|--khóa-xác-định-lưu trữ]
[- gỡ lỗi]
[--gap-fill =val]
[--pad-to =địa chỉ]
[--set-start =val]
[--adjust-start =incr]
[--change-address =incr]
[--change-section-address sectionpattern{=, +, -}val]
[--change-section-lma sectionpattern{=, +, -}val]
[--change-section-vma sectionpattern{=, +, -}val]
[- cảnh báo thay đổi] [--no-thay đổi-cảnh báo]
[--set-section-flags sectionpattern=cờ]
[--add-section tên phần=tên tập tin]
[--dump-section tên phần=tên tập tin]
[- cập nhật-phần tên phần=tên tập tin]
[--rename-section tên Cu=tên mới[,cờ]]
[- long-section-name {bật, tắt, giữ}]
[--change-dẫn-char] [--remove-lead-char]
[--reverse-byte =num]
[--srec-len =iVal] [--srec-forceS3]
[--redefine-sym xưa=mới]
[--redefine-syms =tên tập tin]
[- suy yếu]
[--keep-Symbol =tên tập tin]
[--strip-Symbol =tên tập tin]
[--strip-unneeded-Symbol =tên tập tin]
[--keep-global-Symbol =tên tập tin]
[--localize-Symbol =tên tập tin]
[--globalize-Symbol =tên tập tin]
[--weaken-Symbol =tên tập tin]
[--add-ký hiệu tên=[phần:]giá trị[,cờ]
[--alt-machine-code =chỉ số]
[- ký hiệu tiền tố =chuỗi]
[--prefix-section =chuỗi]
[--prefix-phân bổ-phần =chuỗi]
[--add-gnu-debuglink =đường dẫn đến tệp]
[- lưu-tệp-ký hiệu]
[--chỉ-giữ-gỡ lỗi]
[--strip-dwo]
[--extract-dwo]
[- ký hiệu rút gọn]
[- văn bản có thể ghi được]
[--readonly-text]
[--thuần khiết]
[--chure]
[--file-alignment =num]
[--heap =kích thước]
[--image-base =địa chỉ]
[--section-alignment =num]
[--stack =kích thước]
[- hệ thống phụ =cái nào:chính.nhỏ]
[--compress-debug-section]
[--decompress-debug-section]
[--dwarf-depth =n]
[--dwarf-start =n]
[-v|--verbose]
[-V|--phiên bản]
[--Cứu giúp] [--thông tin]
trong tập tin [ô uế]

MÔ TẢ


GNU sự phản đối tiện ích sao chép nội dung của một tệp đối tượng sang một tệp đối tượng khác. sự phản đối sử dụng
Thư viện GNU BFD để đọc và ghi các tệp đối tượng. Nó có thể viết điểm đến
tệp đối tượng ở định dạng khác với định dạng của tệp đối tượng nguồn. Hành vi chính xác
of sự phản đối được điều khiển bởi các tùy chọn dòng lệnh. Lưu ý rằng sự phản đối sẽ có thể
sao chép một tệp được liên kết đầy đủ giữa hai định dạng bất kỳ. Tuy nhiên, sao chép một đối tượng có thể di dời
tệp giữa hai định dạng bất kỳ có thể không hoạt động như mong đợi.

sự phản đối tạo các tệp tạm thời để thực hiện các bản dịch của nó và xóa chúng sau đó.
sự phản đối sử dụng BFD để thực hiện tất cả các công việc dịch thuật của nó; nó có quyền truy cập vào tất cả các định dạng
được mô tả trong BFD và do đó có thể nhận ra hầu hết các định dạng mà không cần nói rõ ràng.

sự phản đối có thể được sử dụng để tạo các bản ghi S bằng cách sử dụng mục tiêu đầu ra là srec (ví dụ: sử dụng -O
srec).

sự phản đối có thể được sử dụng để tạo tệp nhị phân thô bằng cách sử dụng mục tiêu đầu ra là nhị phân
(ví dụ: sử dụng -O nhị phân). Khi nào sự phản đối tạo một tệp nhị phân thô, về cơ bản nó sẽ
tạo ra một kết xuất bộ nhớ của nội dung của tệp đối tượng đầu vào. Tất cả các ký hiệu và
thông tin di dời sẽ bị loại bỏ. Kết xuất bộ nhớ sẽ bắt đầu tại địa chỉ tải
của phần thấp nhất được sao chép vào tệp đầu ra.

Khi tạo bản ghi S hoặc tệp nhị phân thô, có thể hữu ích khi sử dụng -S để loại bỏ
phần chứa thông tin gỡ lỗi. Trong vài trường hợp -R sẽ hữu ích để loại bỏ
các phần chứa thông tin mà tệp nhị phân không cần.

Ghi chú---sự phản đối không thể thay đổi độ bền của các tệp đầu vào của nó. Nếu đầu vào
định dạng có khả năng kết thúc (một số định dạng thì không), sự phản đối chỉ có thể sao chép các đầu vào vào tệp
các định dạng có cùng độ bền hoặc không có độ bền (ví dụ: srec). (Tuy vậy,
xem --reverse-byte Tùy chọn.)

LỰA CHỌN


trong tập tin
ô uế
Các tệp đầu vào và đầu ra, tương ứng. Nếu bạn không chỉ định ô uế, sự phản đối
tạo một tệp tạm thời và đổi tên kết quả một cách triệt để với tên của trong tập tin.

-I bfdname
--input-target =bfdname
Xem xét định dạng đối tượng của tệp nguồn là bfdname, thay vì cố gắng
suy ra nó.

-O bfdname
--output-target =bfdname
Ghi tệp đầu ra bằng định dạng đối tượng bfdname.

-F bfdname
- mục tiêu =bfdname
Sử dụng bfdname làm định dạng đối tượng cho cả tệp đầu vào và tệp đầu ra; tức là, đơn giản là
chuyển dữ liệu từ nguồn đến đích mà không cần dịch.

-B bfdarch
--binary-architecture =bfdarch
Hữu ích khi chuyển đổi tệp đầu vào không có kiến ​​trúc thành tệp đối tượng. Trong này
trong trường hợp kiến ​​trúc đầu ra có thể được đặt thành bfdarch. Tùy chọn này sẽ bị bỏ qua nếu
tập tin đầu vào có một bfdarch. Bạn có thể truy cập dữ liệu nhị phân này bên trong một chương trình
bằng cách tham chiếu các ký hiệu đặc biệt được tạo ra bởi quá trình chuyển đổi. Này
các ký hiệu được gọi là _binary_objfile_start, _binary_objfile_end và
_binary_objfile_kích thước. Ví dụ: bạn có thể chuyển đổi tệp ảnh thành tệp đối tượng và
sau đó truy cập nó trong mã của bạn bằng cách sử dụng các ký hiệu này.

-j sectionpattern
--only-section =sectionpattern
Chỉ sao chép các phần được chỉ định từ tệp đầu vào sang tệp đầu ra. Tùy chọn này
có thể được đưa ra nhiều hơn một lần. Lưu ý rằng việc sử dụng tùy chọn này không thích hợp có thể làm cho
tập tin đầu ra không sử dụng được. Các ký tự đại diện được chấp nhận trong sectionpattern.

-R sectionpattern
--remove-section =sectionpattern
Xóa bất kỳ phần nào phù hợp sectionpattern từ tệp đầu ra. Tùy chọn này có thể là
đưa ra nhiều hơn một lần. Lưu ý rằng việc sử dụng tùy chọn này không phù hợp có thể làm cho đầu ra
tệp không sử dụng được. Các ký tự đại diện được chấp nhận trong sectionpattern. Sử dụng cả hai -j
-R các tùy chọn cùng nhau dẫn đến hành vi không xác định.

-S
--strip-all
Không sao chép thông tin về vị trí và ký hiệu từ tệp nguồn.

-g
--strip-debug
Không sao chép các ký hiệu hoặc phần gỡ lỗi từ tệp nguồn.

--strip-không cần thiết
Bỏ tất cả các ký hiệu không cần thiết để xử lý di dời.

-K tên ký hiệu
--keep-ký hiệu =tên ký hiệu
Khi loại bỏ các biểu tượng, hãy giữ lại biểu tượng tên ký hiệu ngay cả khi nó bình thường sẽ bị tước bỏ.
Tùy chọn này có thể được đưa ra nhiều lần.

-N tên ký hiệu
--strip-symbol =tên ký hiệu
Không sao chép biểu tượng tên ký hiệu từ tệp nguồn. Tùy chọn này có thể được cung cấp nhiều hơn
hơn một lần.

--strip-unneeded-Symbol =tên ký hiệu
Không sao chép biểu tượng tên ký hiệu từ tệp nguồn trừ khi nó được
tái định cư. Tùy chọn này có thể được đưa ra nhiều lần.

-G tên ký hiệu
--keep-global-symbol =tên ký hiệu
Chỉ giữ lại biểu tượng tên ký hiệu toàn cầu. Đặt tất cả các ký hiệu khác cục bộ cho tệp, để
chúng không thể nhìn thấy bên ngoài. Tùy chọn này có thể được đưa ra nhiều lần.

--localize-hidden
Trong một đối tượng ELF, hãy đánh dấu tất cả các biểu tượng có khả năng hiển thị ẩn hoặc bên trong là cục bộ.
Tùy chọn này áp dụng trên các tùy chọn bản địa hóa theo ký hiệu cụ thể như -L.

-L tên ký hiệu
--localize-symbol =tên ký hiệu
Làm biểu tượng tên ký hiệu cục bộ của tệp, để nó không hiển thị bên ngoài. Cái này
tùy chọn có thể được đưa ra nhiều hơn một lần.

-W tên ký hiệu
--weaken-symbol =tên ký hiệu
Làm biểu tượng tên ký hiệu Yếu. Tùy chọn này có thể được đưa ra nhiều lần.

--globalize-Symbol =tên ký hiệu
Cung cấp biểu tượng tên ký hiệu phạm vi toàn cầu để nó có thể nhìn thấy bên ngoài tệp trong
mà nó được xác định. Tùy chọn này có thể được đưa ra nhiều lần.

-w
--wildcard
Cho phép các biểu thức chính quy trong tên ký hiệus được sử dụng trong các tùy chọn dòng lệnh khác. Các
Các toán tử dấu hỏi (?), dấu hoa thị (*), dấu gạch chéo ngược (\) và dấu ngoặc vuông ([]) có thể
được sử dụng ở bất kỳ đâu trong tên biểu tượng. Nếu ký tự đầu tiên của tên ký hiệu là
dấu chấm than (!) thì ý nghĩa của công tắc được đảo ngược cho biểu tượng đó. Vì
thí dụ:

-w -W! foo -W fo *

sẽ gây ra phản đối làm suy yếu tất cả các ký hiệu bắt đầu bằng "fo" ngoại trừ ký hiệu
"foo".

-x
--Loại bỏ tất cả
Không sao chép các ký hiệu không phải toàn cục từ tệp nguồn.

-X
- người dân địa phương
Không sao chép các ký hiệu cục bộ do trình biên dịch tạo ra. (Chúng thường bắt đầu bằng L or ..)

-b byte
--byte =byte
Nếu tính năng xen kẽ đã được kích hoạt thông qua --interleave sau đó bắt đầu phạm vi
byte để giữ ở bytebyte thứ. byte có thể nằm trong phạm vi từ 0 đến bề rộng-1, ở đâu
bề rộng là giá trị được cung cấp bởi --interleave tùy chọn.

-i [bề rộng]
--interleave [=bề rộng]
Chỉ sao chép một phạm vi trong số mọi bề rộng byte. (Dữ liệu tiêu đề không bị ảnh hưởng). Lựa chọn
byte nào trong phạm vi bắt đầu bản sao với --byte Lựa chọn. Chọn chiều rộng của
phạm vi với - chiều rộng làn sóng tùy chọn.

Tùy chọn này hữu ích để tạo tệp để lập trình ROM. Nó thường được sử dụng với một
mục tiêu đầu ra "srec". Lưu ý rằng sự phản đối sẽ khiếu nại nếu bạn không chỉ định
--byte tùy chọn.

Chiều rộng xen kẽ mặc định là 4, vì vậy với --byte đặt thành 0, sự phản đối sẽ sao chép
byte đầu tiên trong số mỗi bốn byte từ đầu vào đến đầu ra.

--interleave-width =chiều rộng
Khi được sử dụng với --interleave tùy chọn, sao chép chiều rộng byte tại một thời điểm. Sự khởi đầu của
phạm vi byte sẽ được sao chép được đặt bởi --byte tùy chọn và phạm vi của phạm vi
được thiết lập với --interleave tùy chọn.

Giá trị mặc định cho tùy chọn này là 1. Giá trị của chiều rộng cộng với byte giá trị được đặt bởi
các --byte tùy chọn không được vượt quá độ rộng xen kẽ được thiết lập bởi --interleave
tùy chọn.

Tùy chọn này có thể được sử dụng để tạo hình ảnh cho hai đèn flash 16 bit xen kẽ trong một
Xe buýt 32 bit đi qua -b 0 -i 4 --interleave-width = 2-b 2 -i 4
--interleave-width = 2 hai sự phản đối các lệnh. Nếu đầu vào là '12345678' thì
đầu ra tương ứng là '1256' và '3478'.

-p
- bảo tồn ngày tháng
Đặt ngày truy cập và sửa đổi của tệp đầu ra giống với ngày của
tệp đầu vào.

-D
- lưu trữ có thể xác định được
Hoạt động trong xác định chế độ. Khi sao chép các thành viên lưu trữ và ghi lưu trữ
lập chỉ mục, sử dụng số XNUMX cho UID, GID, dấu thời gian và sử dụng các chế độ tệp nhất quán cho tất cả
các tập tin.

If binutils đã được định cấu hình với - lưu trữ có thể xác định được, sau đó chế độ này được bật
theo mặc định. Nó có thể bị vô hiệu hóa với -U bên dưới.

-U
--khóa-xác-định-lưu trữ
Do không phải hoạt động xác định chế độ. Đây là nghịch đảo của -D tùy chọn, ở trên:
khi sao chép các thành viên lưu trữ và viết chỉ mục lưu trữ, hãy sử dụng UID, GID thực tế của họ,
dấu thời gian và giá trị chế độ tệp.

Đây là mặc định trừ khi binutils đã được định cấu hình với
- lưu trữ có thể xác định được.

- gỡ lỗi
Chuyển đổi thông tin gỡ lỗi, nếu có thể. Đây không phải là mặc định vì chỉ
một số định dạng gỡ lỗi nhất định được hỗ trợ và quá trình chuyển đổi có thể mất thời gian
tiêu thụ.

--điền từ vào chỗ trống val
Lấp khoảng trống giữa các phần bằng val. Thao tác này áp dụng cho tải địa chỉ (LMA)
của các phần. Nó được thực hiện bằng cách tăng kích thước của phần với
địa chỉ và điền vào khoảng trống bổ sung được tạo bằng val.

- bàn di chuột địa chỉ
Độn tệp đầu ra đến địa chỉ tải địa chỉ. Điều này được thực hiện bằng cách tăng
kích thước của phần cuối cùng. Khoảng trống thừa được điền với giá trị được chỉ định bởi
--điền từ vào chỗ trống (số XNUMX mặc định).

- set-start val
Đặt địa chỉ bắt đầu của tệp mới thành val. Không phải tất cả các định dạng tệp đối tượng đều hỗ trợ
thiết lập địa chỉ bắt đầu.

--thay đổi-bắt đầu incr
--điều chỉnh-bắt đầu incr
Thay đổi địa chỉ bắt đầu bằng cách thêm incr. Không phải tất cả các định dạng tệp đối tượng đều hỗ trợ cài đặt
địa chỉ bắt đầu.

--change-địa chỉ incr
--adjust-vma incr
Thay đổi địa chỉ VMA và LMA của tất cả các phần, cũng như địa chỉ bắt đầu, bằng cách
thêm incr. Một số định dạng tệp đối tượng không cho phép thay đổi địa chỉ phần
một cách tùy tiện. Lưu ý rằng điều này không chuyển vị trí các phần; nếu chương trình mong đợi
các phần sẽ được tải tại một địa chỉ nhất định và tùy chọn này được sử dụng để thay đổi
các phần mà chúng được tải ở một địa chỉ khác, chương trình có thể bị lỗi.

--change-section-address sectionpattern{=, +, -}val
--adjust-section-vma sectionpattern{=, +, -}val
Đặt hoặc thay đổi cả địa chỉ VMA và địa chỉ LMA của bất kỳ phần nào phù hợp
sectionpattern. Nếu = được sử dụng, địa chỉ phần được đặt thành val. Nếu không thì, val is
được thêm vào hoặc bị trừ khỏi địa chỉ phần. Xem các bình luận dưới
--change-địa chỉ, bên trên. Nếu như sectionpattern không khớp với bất kỳ phần nào trong đầu vào
tệp, một cảnh báo sẽ được đưa ra, trừ khi --no-thay đổi-cảnh báo Được sử dụng.

--change-section-lma sectionpattern{=, +, -}val
Đặt hoặc thay đổi địa chỉ LMA của bất kỳ phần nào phù hợp sectionpattern. LMA
địa chỉ là địa chỉ nơi phần sẽ được tải vào bộ nhớ khi tải chương trình
thời gian. Thông thường, địa chỉ này giống với địa chỉ VMA, là địa chỉ của
vào thời gian chạy chương trình, nhưng trên một số hệ thống, đặc biệt là những hệ thống mà một chương trình
được giữ trong ROM, cả hai có thể khác nhau. Nếu như = được sử dụng, địa chỉ phần được đặt thành
val. Nếu không thì, val được thêm vào hoặc bị trừ khỏi địa chỉ phần. Xem
bình luận dưới --change-địa chỉ, bên trên. Nếu như sectionpattern không phù hợp với bất kỳ
các phần trong tệp đầu vào, một cảnh báo sẽ được đưa ra, trừ khi --no-thay đổi-cảnh báo is
đã sử dụng.

--change-section-vma sectionpattern{=, +, -}val
Đặt hoặc thay đổi địa chỉ VMA của bất kỳ phần nào phù hợp sectionpattern. Địa chỉ VMA
là địa chỉ nơi phần sẽ được đặt sau khi chương trình bắt đầu
đang thực thi. Thông thường, địa chỉ này giống với địa chỉ LMA, là địa chỉ mà
phần này sẽ được tải vào bộ nhớ, nhưng trên một số hệ thống, đặc biệt là những hệ thống có
chương trình được tổ chức trong ROM, cả hai có thể khác nhau. Nếu như = được sử dụng, địa chỉ phần
được thiết lập để val. Nếu không thì, val được thêm vào hoặc bị trừ khỏi địa chỉ phần.
Xem các bình luận dưới --change-địa chỉ, bên trên. Nếu như sectionpattern không phù hợp với
bất kỳ phần nào trong tệp đầu vào, một cảnh báo sẽ được đưa ra, trừ khi --no-thay đổi-cảnh báo
Được sử dụng.

- cảnh báo thay đổi
--adjust-cảnh báo
If --change-section-address or --change-section-lma or --change-section-vma Được sử dụng,
và mẫu phần không khớp với bất kỳ phần nào, hãy đưa ra cảnh báo. Đây là
mặc định.

--no-thay đổi-cảnh báo
--no-điều chỉnh-cảnh báo
Không đưa ra cảnh báo nếu --change-section-address or --adjust-section-lma or
--adjust-section-vma được sử dụng, ngay cả khi mẫu phần không khớp với bất kỳ phần nào.

--set-section-flags sectionpattern=cờ
Đặt cờ cho bất kỳ phần nào phù hợp sectionpattern. Các cờ đối số là một dấu phẩy
chuỗi tên cờ được phân tách. Những cái tên được công nhận là cấp phát, nội dung, tải,
noload, chỉ đọc, , dữ liệu, rom, chiagỡ lỗi. Bạn có thể đặt nội dung cờ
cho một phần không có nội dung, nhưng nó không có ý nghĩa để xóa
nội dung cờ của phần có nội dung - thay vào đó chỉ cần xóa phần đó.
Không phải tất cả các cờ đều có ý nghĩa đối với tất cả các định dạng tệp đối tượng.

--add-section tên phần=tên tập tin
Thêm một phần mới có tên tên phần trong khi sao chép tệp. Nội dung của cái mới
phần được lấy từ tệp tên tập tin. Kích thước của phần sẽ là kích thước của
tập tin. Tùy chọn này chỉ hoạt động trên các định dạng tệp có thể hỗ trợ các phần có
tên tùy ý. Lưu ý - có thể cần sử dụng --set-section-flags tùy chọn để
thiết lập các thuộc tính của phần mới tạo.

--dump-section tên phần=tên tập tin
Đặt nội dung của phần có tên tên phần vào tập tin tên tập tin, ghi đè
bất kỳ nội dung nào có thể đã có trước đây. Tùy chọn này là nghịch đảo của
--add-section. Tùy chọn này tương tự như --chỉ-phần tùy chọn ngoại trừ nó
không tạo tệp được định dạng, nó chỉ kết xuất nội dung dưới dạng dữ liệu nhị phân thô,
mà không cần áp dụng bất kỳ chuyển vị trí nào. Tùy chọn có thể được chỉ định nhiều lần.

- cập nhật-phần tên phần=tên tập tin
Thay thế nội dung hiện có của một phần có tên tên phần với nội dung của tập tin
tên tập tin. Kích thước của phần sẽ được điều chỉnh theo kích thước của tệp. Các
cờ phần cho tên phần sẽ không thay đổi. Đối với các tệp định dạng ELF, phần để
ánh xạ phân đoạn cũng sẽ không thay đổi, điều gì đó không thể sử dụng
- phần hồi ức tiếp theo --add-section. Tùy chọn có thể được chỉ định nhiều hơn
Một lần.

Lưu ý - có thể sử dụng --rename-section- cập nhật-phần để cập nhật và
đổi tên một phần từ một dòng lệnh. Trong trường hợp này, hãy chuyển tên phần ban đầu
đến - cập nhật-phầnvà tên phần ban đầu và mới cho --rename-section.

--add-ký hiệu tên=[phần:]giá trị[,cờ]
Thêm một biểu tượng mới có tên tên trong khi sao chép tệp. Tùy chọn này có thể được chỉ định
nhiều lần. Nếu phần được đưa ra, biểu tượng sẽ được liên kết với và
liên quan đến phần đó, nếu không nó sẽ là ký hiệu ABS. Chỉ định một không xác định
sẽ dẫn đến một lỗi nghiêm trọng. Không có kiểm tra cho giá trị, nó sẽ là
lấy theo chỉ định. Các cờ biểu tượng có thể được chỉ định và không phải tất cả các cờ đều
có ý nghĩa đối với tất cả các định dạng tệp đối tượng. Theo mặc định, biểu tượng sẽ là toàn cầu. Các
cờ đặc biệt 'before =phòng khác'sẽ chèn biểu tượng mới vào phía trước
phòng khác, nếu không (các) ký hiệu sẽ được thêm vào cuối bảng ký hiệu trong
để chúng xuất hiện.

--rename-section tên Cu=tên mới[,cờ]
Đổi tên một phần từ tên Cu đến tên mới, tùy chọn thay đổi cờ của phần thành
cờ trong quá trình. Điều này có lợi thế hơn so với việc sử dụng một tập lệnh trình liên kết để thực hiện
đổi tên trong đó đầu ra vẫn ở dạng tệp đối tượng và không trở thành một liên kết
thực thi.

Tùy chọn này đặc biệt hữu ích khi định dạng đầu vào là nhị phân, vì điều này sẽ
luôn tạo một phần gọi là .data. Nếu ví dụ: thay vào đó, bạn muốn tạo một
phần được gọi là .rodata chứa dữ liệu nhị phân, bạn có thể sử dụng dòng lệnh sau
Để đạt được nó:

đối tượng -I binary -O -NS \
--rename-section .data = .rodata, phân bổ, tải, chỉ đọc, dữ liệu, nội dung \


- long-section-name {bật, tắt, giữ}
Kiểm soát việc xử lý tên phần dài khi xử lý "COFF" và "PE-COFF"
các định dạng đối tượng. Hành vi mặc định, giữ, là giữ nguyên các tên phần dài nếu có
có trong tệp đầu vào. Các cho phépvô hiệu hóa tùy chọn bắt buộc bật hoặc
vô hiệu hóa việc sử dụng tên phần dài trong đối tượng đầu ra; khi nào vô hiệu hóa có hiệu lực,
bất kỳ tên phần dài nào trong đối tượng đầu vào sẽ bị cắt bớt. Các cho phép tùy chọn sẽ
chỉ phát ra các tên phần dài nếu có trong các đầu vào; điều này hầu hết giống nhau
as giữ, nhưng nó vẫn chưa được xác định liệu cho phép tùy chọn có thể buộc tạo
của một bảng chuỗi trống trong tệp đầu ra.

--change-dẫn-char
Một số định dạng tệp đối tượng sử dụng các ký tự đặc biệt ở đầu các ký hiệu. Nhiều nhất
ký tự chung như vậy là dấu gạch dưới, mà các trình biên dịch thường thêm vào trước mỗi ký hiệu.
Tùy chọn này cho biết sự phản đối để thay đổi ký tự hàng đầu của mọi biểu tượng khi nó
chuyển đổi giữa các định dạng tệp đối tượng. Nếu các định dạng tệp đối tượng sử dụng cùng một đầu
ký tự, tùy chọn này không có hiệu lực. Nếu không, nó sẽ thêm một ký tự hoặc xóa một
hoặc thay đổi một ký tự, nếu thích hợp.

--remove-lead-char
Nếu ký tự đầu tiên của một biểu tượng toàn cục là một ký tự hàng đầu của biểu tượng đặc biệt được sử dụng
theo định dạng tệp đối tượng, loại bỏ ký tự. Biểu tượng phổ biến nhất dẫn đầu
ký tự là gạch dưới. Tùy chọn này sẽ xóa dấu gạch dưới hàng đầu khỏi toàn bộ
các ký hiệu. Điều này có thể hữu ích nếu bạn muốn liên kết các đối tượng của tệp khác nhau với nhau
các định dạng với các quy ước khác nhau cho tên ký hiệu. Điều này khác với
--change-dẫn-char bởi vì nó luôn thay đổi tên biểu tượng khi thích hợp,
không phụ thuộc vào định dạng tệp đối tượng của tệp đầu ra.

--reverse-byte =num
Đảo ngược các byte trong một phần có nội dung đầu ra. Chiều dài phần phải đồng đều
chia hết cho giá trị đã cho để hoán đổi có thể diễn ra. Đảo ngược
diễn ra trước khi thực hiện xen kẽ.

Tùy chọn này thường được sử dụng để tạo ảnh ROM cho các hệ thống đích có vấn đề.
Ví dụ: trên một số bảng đích, các từ 32-bit được lấy từ ROM 8-bit được
được lắp ráp theo thứ tự byte endian nhỏ bất kể thứ tự byte CPU. Phụ thuộc vào
mô hình lập trình, độ bền của ROM có thể cần được sửa đổi.

Hãy xem xét một tệp đơn giản có phần chứa tám byte sau: 12345678.

Sử dụng --reverse-byte = 2 đối với ví dụ trên, các byte trong tệp đầu ra sẽ là
đã đặt hàng 21436587.

Sử dụng --reverse-byte = 4 đối với ví dụ trên, các byte trong tệp đầu ra sẽ là
đã đặt hàng 43218765.

Bằng cách sử dụng --reverse-byte = 2 cho ví dụ trên, tiếp theo là --reverse-byte = 4 trên
tệp đầu ra, các byte trong tệp đầu ra thứ hai sẽ được đặt hàng là 34127856.

--srec-len =iVal
Chỉ có ý nghĩa cho đầu ra srec. Đặt độ dài tối đa của Srecords là
được sản xuất để iVal. Độ dài này bao gồm cả trường địa chỉ, dữ liệu và crc.

--srec-forceS3
Chỉ có ý nghĩa cho đầu ra srec. Tránh tạo bản ghi S1 / S2, chỉ tạo S3
định dạng bản ghi.

--redefine-sym xưa=mới
Thay đổi tên của một biểu tượng xưa, Để mới. Điều này có thể hữu ích khi một người đang thử liên kết
hai thứ cùng nhau mà bạn không có nguồn, và có những va chạm về tên tuổi.

--redefine-syms =tên tập tin
Đăng Nhập --redefine-sym đến từng cặp ký hiệu "xưa mới"được liệt kê trong tệp tên tập tin.
tên tập tin chỉ đơn giản là một tệp phẳng, với một cặp ký hiệu trên mỗi dòng. Dòng bình luận có thể là
được giới thiệu bởi ký tự băm. Tùy chọn này có thể được đưa ra nhiều lần.

- suy yếu
Thay đổi tất cả các ký hiệu chung trong tệp thành yếu. Điều này có thể hữu ích khi xây dựng
đối tượng sẽ được liên kết với các đối tượng khác bằng cách sử dụng -R tùy chọn cho trình liên kết.
Tùy chọn này chỉ hiệu quả khi sử dụng định dạng tệp đối tượng hỗ trợ yếu
ký hiệu.

--keep-Symbol =tên tập tin
Đăng Nhập - ký hiệu giữ tùy chọn cho mỗi ký hiệu được liệt kê trong tệp tên tập tin. tên tập tin is
chỉ đơn giản là một tệp phẳng, với một tên ký hiệu trên mỗi dòng. Nhận xét dòng có thể được giới thiệu bởi
ký tự băm. Tùy chọn này có thể được đưa ra nhiều lần.

--strip-Symbol =tên tập tin
Đăng Nhập - ký hiệu cuộn dây tùy chọn cho mỗi ký hiệu được liệt kê trong tệp tên tập tin. tên tập tin is
chỉ đơn giản là một tệp phẳng, với một tên ký hiệu trên mỗi dòng. Nhận xét dòng có thể được giới thiệu bởi
ký tự băm. Tùy chọn này có thể được đưa ra nhiều lần.

--strip-unneeded-Symbol =tên tập tin
Đăng Nhập --strip-unneeded-symbol tùy chọn cho mỗi ký hiệu được liệt kê trong tệp tên tập tin.
tên tập tin chỉ đơn giản là một tệp phẳng, với một tên ký hiệu trên mỗi dòng. Dòng bình luận có thể là
được giới thiệu bởi ký tự băm. Tùy chọn này có thể được đưa ra nhiều lần.

--keep-global-Symbol =tên tập tin
Đăng Nhập --keep-global-symbol tùy chọn cho mỗi ký hiệu được liệt kê trong tệp tên tập tin.
tên tập tin chỉ đơn giản là một tệp phẳng, với một tên ký hiệu trên mỗi dòng. Dòng bình luận có thể là
được giới thiệu bởi ký tự băm. Tùy chọn này có thể được đưa ra nhiều lần.

--localize-Symbol =tên tập tin
Đăng Nhập --localize-ký hiệu tùy chọn cho mỗi ký hiệu được liệt kê trong tệp tên tập tin. tên tập tin
chỉ đơn giản là một tệp phẳng, với một tên ký hiệu trên mỗi dòng. Dòng bình luận có thể được giới thiệu
bởi ký tự băm. Tùy chọn này có thể được đưa ra nhiều lần.

--globalize-Symbol =tên tập tin
Đăng Nhập - ký hiệu toàn cầu tùy chọn cho mỗi ký hiệu được liệt kê trong tệp tên tập tin. tên tập tin
chỉ đơn giản là một tệp phẳng, với một tên ký hiệu trên mỗi dòng. Dòng bình luận có thể được giới thiệu
bởi ký tự băm. Tùy chọn này có thể được đưa ra nhiều lần.

--weaken-Symbol =tên tập tin
Đăng Nhập --weaken-ký hiệu tùy chọn cho mỗi ký hiệu được liệt kê trong tệp tên tập tin. tên tập tin is
chỉ đơn giản là một tệp phẳng, với một tên ký hiệu trên mỗi dòng. Nhận xét dòng có thể được giới thiệu bởi
ký tự băm. Tùy chọn này có thể được đưa ra nhiều lần.

--alt-machine-code =chỉ số
Nếu kiến ​​trúc đầu ra có mã máy thay thế, hãy sử dụng chỉ sốmã thứ thay thế
của cái mặc định. Điều này hữu ích trong trường hợp máy được gán mã chính thức và
chuỗi công cụ thông qua mã mới, nhưng các ứng dụng khác vẫn phụ thuộc vào
mã gốc đang được sử dụng. Đối với các kiến ​​trúc dựa trên ELF nếu chỉ số thay thế không
không tồn tại thì giá trị được coi là số tuyệt đối được lưu trữ trong
trường e_machine của tiêu đề ELF.

- văn bản có thể ghi được
Đánh dấu văn bản đầu ra là có thể ghi được. Tùy chọn này không có ý nghĩa đối với tất cả các tệp đối tượng
định dạng.

--readonly-text
Làm cho văn bản đầu ra được bảo vệ. Tùy chọn này không có ý nghĩa cho tất cả các đối tượng
định dạng tập tin.

--thuần khiết
Đánh dấu tệp đầu ra là nhu cầu được phân trang. Tùy chọn này không có ý nghĩa cho tất cả các đối tượng
định dạng tập tin.

--chure
Đánh dấu tệp đầu ra là không tinh khiết. Tùy chọn này không có ý nghĩa đối với tất cả các tệp đối tượng
định dạng.

- ký hiệu tiền tố =chuỗi
Tiền tố tất cả các ký hiệu trong tệp đầu ra bằng chuỗi.

--prefix-section =chuỗi
Tiền tố tất cả các tên phần trong tệp đầu ra bằng chuỗi.

--prefix-phân bổ-phần =chuỗi
Tiền tố tất cả các tên của tất cả các phần được phân bổ trong tệp đầu ra bằng chuỗi.

--add-gnu-debuglink =đường dẫn đến tệp
Tạo phần .gnu_debuglink chứa tham chiếu đến đường dẫn đến tệp và thêm vào
nó vào tệp đầu ra. Lưu ý: tệp tại đường dẫn đến tệp phải tồn tại. Một phần của
quá trình thêm phần .gnu_debuglink liên quan đến việc nhúng tổng kiểm tra của
nội dung của tệp thông tin gỡ lỗi vào phần.

Nếu tệp thông tin gỡ lỗi được tạo ở một vị trí nhưng nó sẽ được cài đặt tại
sau đó đến một vị trí khác, sau đó không sử dụng đường dẫn đến cài đặt
vị trí. Các --add-gnu-debuglink tùy chọn sẽ không thành công vì tệp đã cài đặt
chưa tồn tại. Thay vào đó, hãy đặt tệp thông tin gỡ lỗi trong thư mục hiện tại và sử dụng
--add-gnu-debuglink tùy chọn không có bất kỳ thành phần thư mục nào, như thế này:

objcopy --add-gnu-debuglink = foo.debug

Tại thời điểm gỡ lỗi, trình gỡ lỗi sẽ cố gắng tìm kiếm tệp thông tin gỡ lỗi riêng biệt trong
tập hợp các vị trí đã biết. Tập hợp chính xác của các vị trí này khác nhau tùy thuộc vào
phân phối đang được sử dụng, nhưng nó thường bao gồm:

"* Cùng thư mục với tệp thực thi."
"* Một thư mục con của thư mục chứa tệp thực thi"
được gọi là .debug

"* Một thư mục gỡ lỗi chung như / usr / lib / debug."

Miễn là tệp thông tin gỡ lỗi đã được cài đặt vào một trong những vị trí này trước đó
trình gỡ lỗi được chạy mọi thứ sẽ hoạt động chính xác.

- lưu-tệp-ký hiệu
Khi tách một tệp, có lẽ với --strip-debug or --strip-không cần thiết, giữ lại bất kỳ
các ký hiệu chỉ định tên tệp nguồn, nếu không sẽ bị loại bỏ.

--chỉ-giữ-gỡ lỗi
Tách tệp, xóa nội dung của bất kỳ phần nào không bị xóa bởi
--strip-debug và để nguyên các phần gỡ lỗi. Trong các tệp ELF, điều này bảo tồn
tất cả các phần ghi chú trong đầu ra.

Lưu ý - tiêu đề phần của các phần bị tước vẫn được giữ nguyên, bao gồm
kích thước, nhưng nội dung của phần bị loại bỏ. Các tiêu đề phần là
được bảo quản để các công cụ khác có thể khớp tệp debuginfo với thực
có thể thực thi, ngay cả khi tệp thực thi đó đã được chuyển đến một không gian địa chỉ khác.

Mục đích là tùy chọn này sẽ được sử dụng cùng với --add-gnu-debuglink
để tạo hai phần có thể thực thi. Một là một nhị phân bị tước bỏ sẽ chiếm ít không gian hơn
trong RAM và trong một bản phân phối và tệp thứ hai là tệp thông tin gỡ lỗi chỉ
cần thiết nếu khả năng gỡ lỗi được yêu cầu. Thủ tục được đề xuất để tạo
các tệp như sau:

1.
"foo" thì ...

1.
tạo một tệp chứa thông tin gỡ lỗi.

1.
thực thi bị tước.

1.
để thêm liên kết đến thông tin gỡ lỗi vào tệp thực thi bị loại bỏ.

Lưu ý --- lựa chọn ".dbg" làm phần mở rộng cho tệp thông tin gỡ lỗi là tùy ý.
Ngoài ra, bước "--only-keep-debug" là tùy chọn. Thay vào đó, bạn có thể làm điều này:

1.
1.
1.
1.

tức là, tệp được trỏ đến bởi --add-gnu-debuglink có thể là tệp thực thi đầy đủ. Nó
không nhất thiết phải là một tệp được tạo bởi --chỉ-giữ-gỡ lỗi công tắc điện.

Lưu ý --- công tắc này chỉ nhằm mục đích sử dụng trên các tệp được liên kết đầy đủ. Nó không làm
sử dụng nó trên các tệp đối tượng nơi thông tin gỡ lỗi có thể không đầy đủ.
Bên cạnh đó, tính năng gnu_debuglink hiện chỉ hỗ trợ sự hiện diện của một tên tệp
chứa thông tin gỡ lỗi, không phải nhiều tên tệp trên một tệp một đối tượng
cơ sở.

--strip-dwo
Xóa nội dung của tất cả các phần DWARF .dwo, để lại phần gỡ lỗi còn lại
các phần và tất cả các ký hiệu còn nguyên vẹn. Tùy chọn này được thiết kế để trình biên dịch sử dụng như
một phần của -gsplit-lùn tùy chọn phân chia thông tin gỡ lỗi giữa tệp .o
và một tệp .dwo riêng biệt. Trình biên dịch tạo ra tất cả thông tin gỡ lỗi trong cùng một
tệp, sau đó sử dụng --extract-dwo tùy chọn để sao chép các phần .dwo vào tệp .dwo,
sau đó --strip-dwo để xóa các phần đó khỏi tệp .o gốc.

--extract-dwo
Trích xuất nội dung của tất cả các phần DWARF .dwo. Xem --strip-dwo tùy chọn để biết thêm
thông tin.

--tệp-căn chỉnh num
Chỉ định căn chỉnh tệp. Các phần trong tệp sẽ luôn bắt đầu ở độ lệch tệp
là bội số của số này. Giá trị này mặc định là 512. [Tùy chọn này cụ thể
đối với mục tiêu PE.]

--heap dự trữ
--heap dự trữ,cam kết
Chỉ định số byte bộ nhớ để dự trữ (và tùy chọn cam kết) được sử dụng làm
đống cho chương trình này. [Tùy chọn này dành riêng cho các mục tiêu PE.]

- cơ sở hình ảnh giá trị
Sử dụng giá trị làm địa chỉ cơ sở của chương trình hoặc dll của bạn. Đây là bộ nhớ thấp nhất
vị trí sẽ được sử dụng khi chương trình hoặc dll của bạn được tải. Để giảm nhu cầu
chuyển vị trí và cải thiện hiệu suất của các viên nén của bạn, mỗi viên phải có một địa chỉ cơ sở duy nhất
và không trùng lặp với bất kỳ hình nền nào khác. Mặc định là 0x400000 cho tệp thực thi và
0x10000000 cho dlls. [Tùy chọn này dành riêng cho các mục tiêu PE.]

--section-alignment num
Đặt căn chỉnh phần. Các phần trong bộ nhớ sẽ luôn bắt đầu tại các địa chỉ mà
là bội số của số này. Mặc định là 0x1000. [Tùy chọn này dành riêng cho PE
mục tiêu.]

--cây rơm dự trữ
--cây rơm dự trữ,cam kết
Chỉ định số byte bộ nhớ để dự trữ (và tùy chọn cam kết) được sử dụng làm
ngăn xếp cho chương trình này. [Tùy chọn này dành riêng cho các mục tiêu PE.]

- hệ thống phụ cái nào
- hệ thống phụ cái nào:chính
- hệ thống phụ cái nào:chính.nhỏ
Chỉ định hệ thống con mà chương trình của bạn sẽ thực thi. Các giá trị pháp lý cho
cái nào là "native", "windows", "console", "posix", "efi-app", "efi-bsd", "efi-rtd",
"sal-rtd" và "xbox". Bạn cũng có thể tùy chọn đặt phiên bản hệ thống con. Số
giá trị cũng được chấp nhận cho cái nào. [Tùy chọn này dành riêng cho các mục tiêu PE.]

- ký hiệu rút gọn
Giữ cờ và ký hiệu phần của tệp nhưng xóa tất cả dữ liệu phần. Đặc biệt,
tùy chọn:

*
*
*

Tùy chọn này được sử dụng để xây dựng một .sym tệp cho nhân VxWorks. Nó cũng có thể là một
cách hữu ích để giảm kích thước của một - ký hiệu chỉ tệp đầu vào trình liên kết.

--compress-debug-section
Nén các phần gỡ lỗi DWARF bằng cách sử dụng zlib với SHF_COMPRESSED từ ELF ABI. Ghi chú -
nếu nén thực sự sẽ tạo ra một phần lớn hơn, sau đó nó không được nén.

--compress-debug-section = none
--compress-debug-section = zlib
--compress-debug-section = zlib-gnu
--compress-debug-section = zlib-gabi
Đối với tệp ELF, các tùy chọn này kiểm soát cách nén các phần gỡ lỗi DWARF.
--compress-debug-section = none tương đương với --decompress-debug-section.
--compress-debug-section = zlib--compress-debug-section = zlib-gabi tương đương nhau
đến --compress-debug-section. --compress-debug-section = zlib-gnu nén DWARF
gỡ lỗi các phần bằng cách sử dụng zlib. Các phần gỡ lỗi được đổi tên để bắt đầu bằng .zdebug
thay vì .debug. Lưu ý - nếu nén thực sự sẽ tạo ra một phần lớn hơn, Sau đó
nó không được nén cũng như không được đổi tên.

--decompress-debug-section
Giải nén các phần gỡ lỗi DWARF bằng cách sử dụng zlib. Tên phần ban đầu của
các phần đã nén được khôi phục.

-V
--phiên bản
Hiển thị số phiên bản của sự phản đối.

-v
--verbose
Đầu ra chi tiết: liệt kê tất cả các tệp đối tượng được sửa đổi. Trong trường hợp lưu trữ, sự phản đối -V
liệt kê tất cả các thành viên của kho lưu trữ.

--Cứu giúp
Hiển thị tóm tắt các tùy chọn để sự phản đối.

--thông tin
Hiển thị danh sách hiển thị tất cả các kiến ​​trúc và định dạng đối tượng có sẵn.

@hồ sơ
Đọc các tùy chọn dòng lệnh từ hồ sơ. Các tùy chọn đã đọc được chèn vào vị trí của
nguyên bản @hồ sơ Lựa chọn. Nếu như hồ sơ không tồn tại, hoặc không thể đọc được, thì tùy chọn
sẽ được xử lý theo nghĩa đen, và không bị xóa.

Tùy chọn trong hồ sơ được phân tách bằng khoảng trắng. Một ký tự khoảng trắng có thể được bao gồm
trong một tùy chọn bằng cách đặt toàn bộ tùy chọn trong dấu ngoặc kép hoặc đơn. Không tí nào
ký tự (bao gồm cả dấu gạch chéo ngược) có thể được thêm vào bằng cách thêm tiền tố vào ký tự là
bao gồm một dấu gạch chéo ngược. Các hồ sơ bản thân nó có thể chứa @ bổ sunghồ sơ tùy chọn; không tí nào
các tùy chọn như vậy sẽ được xử lý một cách đệ quy.

Sử dụng mips-linux-gnu-objcopy trực tuyến bằng các dịch vụ onworks.net


Ad


Ad

Các chương trình trực tuyến Linux & Windows mới nhất