이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 sh4-linux-gnu-objcopy 명령입니다.
프로그램:
이름
objcopy - 객체 파일 복사 및 번역
개요
객체 복사 [-F bfd 이름|--대상=bfd 이름]
[-I bfd 이름|--입력 대상=bfd 이름]
[-O bfd 이름|--출력 대상=bfd 이름]
[-B bfdarch|--바이너리 아키텍처=bfdarch]
[-S|-모든 스트립]
[-g|--스트립-디버그]
[-K 기호 이름|--keep-symbol =기호 이름]
[-N 기호 이름|--스트립 기호=기호 이름]
[--strip-불필요한-기호=기호 이름]
[-G 기호 이름|--유지-전역-기호=기호 이름]
[--현지화-숨김]
[-L 기호 이름|--localize-기호=기호 이름]
[--글로벌화-기호=기호 이름]
[-W 기호 이름|--weak-symbol=기호 이름]
[-w|-와일드 카드]
[-x|--모두 삭제]
[-X|--discard-locals]
[-b 바이트|--바이트=바이트]
[-i [폭]|--인터리브[=폭]]
[--인터리브 너비=폭]
[-j 단면패턴|--only-섹션=단면패턴]
[-R 단면패턴|--제거 섹션=단면패턴]
[-p|--보존 날짜]
[-D|--결정적 아카이브 활성화]
[-U|--disable-결정론적 아카이브]
[--디버깅]
[--갭 채우기=파]
[--패드로=주소]
[--세트-시작=파]
[--조정 시작=증가]
[--변경 주소=증가]
[--섹션 주소 변경 단면패턴{=,+,-}파]
[--변경-섹션-lma 단면패턴{=,+,-}파]
[--변경-섹션-vma 단면패턴{=,+,-}파]
[--변경 경고] [--변경 불가 경고]
[--섹션 플래그 설정 단면패턴=플래그]
[--섹션 추가 섹션 이름=파일 이름]
[--덤프 섹션 섹션 이름=파일 이름]
[--업데이트 섹션 섹션 이름=파일 이름]
[--이름 바꾸기-섹션 옛 이름=새 이름[,플래그]]
[--긴 섹션 이름 {활성화, 비활성화, 유지}]
[--변경 선두 문자] [-- 선행 문자 제거]
[--역바이트=NUM]
[--srec-len=ival] [--srec-forceS3]
[--재정의-sym 낡은= ]
[--재정의-syms=파일 이름]
[--묽게 하다]
[--기호 유지=파일 이름]
[--스트립 기호=파일 이름]
[--스트립-불필요한-기호=파일 이름]
[--전역-기호 유지=파일 이름]
[--localize-기호=파일 이름]
[--글로벌화-기호=파일 이름]
[--weak-symbols=파일 이름]
[--추가 기호 name=[섹션에 있어야 합니다.:]가치[,플래그]
[--alt-머신 코드=색인]
[--접두사 기호=현]
[--접두사 섹션=현]
[--접두사-할당-섹션=현]
[--추가-gnu-디버그링크=파일 경로]
[--파일 기호 유지]
[--만-유지-디버그]
[--strip-dwo]
[--추출-dwo]
[--추출-기호]
[--쓰기 가능한 텍스트]
[--readonly-텍스트]
[--순수한]
[--더러운]
[--파일 정렬=NUM]
[--힙=크기]
[--이미지 기반=주소]
[--섹션 정렬=NUM]
[--스택=크기]
[--하위 시스템=어느:주요한.미성년자]
[--압축-디버그-섹션]
[--decompress-debug-섹션]
[--왜성 깊이=n]
[-- 왜소한 시작 =n]
[-v|--말 수가 많은]
[-V|--번역]
[--도움] [--정보]
인파일 [아웃파일]
기술
GNU 객체 복사 유틸리티는 목적 파일의 내용을 다른 것으로 복사합니다. 객체 복사 사용
개체 파일을 읽고 쓰기 위한 GNU BFD 라이브러리. 목적지를 쓸 수 있다
원본 개체 파일과 다른 형식의 개체 파일입니다. 정확한 행동
of 객체 복사 명령줄 옵션으로 제어됩니다. 참고 객체 복사 할 수 있어야한다
두 형식 간에 완전히 연결된 파일을 복사합니다. 그러나 재배치 가능한 개체를 복사하면
두 형식 사이의 파일이 예상대로 작동하지 않을 수 있습니다.
객체 복사 번역을 수행하기 위해 임시 파일을 만들고 나중에 삭제합니다.
객체 복사 BFD를 사용하여 모든 번역 작업을 수행합니다. 모든 형식에 액세스할 수 있습니다.
BFD에 설명되어 있으므로 명시적으로 알려주지 않고도 대부분의 형식을 인식할 수 있습니다.
객체 복사 출력 대상을 사용하여 S-레코드를 생성하는 데 사용할 수 있습니다. 기록 (예: 사용 -O
기록).
객체 복사 출력 대상을 사용하여 원시 바이너리 파일을 생성하는 데 사용할 수 있습니다. 진
(예: 사용 -O 진). 언제 객체 복사 원시 바이너리 파일을 생성하면 기본적으로
입력 목적 파일의 내용에 대한 메모리 덤프를 생성합니다. 모든 기호 및
재배치 정보는 삭제됩니다. 메모리 덤프는 로드 주소에서 시작됩니다.
출력 파일에 복사된 가장 낮은 섹션의
S-레코드 또는 원시 바이너리 파일을 생성할 때 다음을 사용하는 것이 도움이 될 수 있습니다. -S 제거
디버깅 정보가 포함된 섹션. 일부 경우에 -R 제거하는 데 유용합니다
바이너리 파일에 필요하지 않은 정보를 포함하는 섹션.
메모---객체 복사 입력 파일의 엔디안을 변경할 수 없습니다. 입력하면
형식에는 엔디안이 있습니다(일부 형식에는 없음). 객체 복사 파일에 입력만 복사할 수 있음
동일한 엔디안을 가지거나 엔디안이 없는 형식(예: 기록). (하지만,
~을 보아라. --역바이트 선택권.)
옵션
인파일
아웃파일
각각 입력 및 출력 파일입니다. 지정하지 않으면 아웃파일, 객체 복사
임시 파일을 만들고 결과 이름을 인파일.
-I bfd 이름
--입력 대상=bfd 이름
소스 파일의 개체 형식을 다음과 같이 고려하십시오. bfd 이름, 시도하기 보다는
그것을 추론하십시오.
-O bfd 이름
--출력 대상=bfd 이름
개체 형식을 사용하여 출력 파일 작성 bfd 이름.
-F bfd 이름
--대상=bfd 이름
bfd 이름 입력 및 출력 파일 모두에 대한 개체 형식으로; 즉, 단순히
번역 없이 소스에서 목적지로 데이터를 전송합니다.
-B bfdarch
--바이너리 아키텍처=bfdarch
아키텍처가 없는 입력 파일을 오브젝트 파일로 변환할 때 유용합니다. 이에
출력 아키텍처를 다음으로 설정할 수 있는 경우 bfdarch. 이 옵션은 다음과 같은 경우 무시됩니다.
입력 파일에 알려진 bfdarch. 프로그램 내에서 이 바이너리 데이터에 액세스할 수 있습니다.
변환 프로세스에 의해 생성된 특수 기호를 참조하여 이것들
기호는 _binary_라고 합니다.개체 파일_시작, _바이너리_개체 파일_끝과
_바이너리_개체 파일_크기. 예를 들어 그림 파일을 개체 파일로 변환하고
그런 다음 이러한 기호를 사용하여 코드에서 액세스합니다.
-j 단면패턴
--only-섹션=단면패턴
표시된 섹션만 입력 파일에서 출력 파일로 복사합니다. 이 옵션
한 번 이상 주어질 수 있습니다. 이 옵션을 부적절하게 사용하면
출력 파일을 사용할 수 없습니다. 와일드카드 문자는 다음에서 허용됩니다. 단면패턴.
-R 단면패턴
--제거 섹션=단면패턴
일치하는 모든 섹션 제거 단면패턴 출력 파일에서. 이 옵션은
한 번 이상 주어집니다. 이 옵션을 부적절하게 사용하면 출력이
파일을 사용할 수 없습니다. 와일드카드 문자는 다음에서 허용됩니다. 단면패턴. 두 가지를 모두 사용하여 -j
및 -R 옵션을 함께 사용하면 정의되지 않은 동작이 발생합니다.
-S
-모든 스트립
소스 파일에서 재배치 및 기호 정보를 복사하지 마십시오.
-g
--스트립-디버그
소스 파일에서 디버깅 기호나 섹션을 복사하지 마십시오.
--스트립-불필요
재배치 처리에 필요하지 않은 모든 기호를 제거합니다.
-K 기호 이름
--keep-symbol =기호 이름
기호를 제거할 때 기호를 유지 기호 이름 그것이 일반적으로 벗겨질지라도.
이 옵션은 두 번 이상 주어질 수 있습니다.
-N 기호 이름
--스트립 기호=기호 이름
기호를 복사하지 마십시오 기호 이름 소스 파일에서. 이 옵션은 더 많이 주어질 수 있습니다
한 번 이상
--strip-불필요한-기호=기호 이름
기호를 복사하지 마십시오 기호 이름 필요하지 않는 한 소스 파일에서
재배치. 이 옵션은 두 번 이상 주어질 수 있습니다.
-G 기호 이름
--유지-전역-기호=기호 이름
기호만 유지 기호 이름 글로벌. 다른 모든 기호를 파일에 로컬로 지정하여
그들은 외부에서 볼 수 없습니다. 이 옵션은 두 번 이상 주어질 수 있습니다.
--현지화-숨김
ELF 개체에서 숨겨진 또는 내부 가시성이 있는 모든 기호를 로컬로 표시합니다.
이 옵션은 다음과 같은 기호별 현지화 옵션 위에 적용됩니다. -L.
-L 기호 이름
--localize-기호=기호 이름
기호 만들기 기호 이름 외부에서 볼 수 없도록 파일에 로컬입니다. 이것
옵션은 두 번 이상 주어질 수 있습니다.
-W 기호 이름
--weak-symbol=기호 이름
기호 만들기 기호 이름 약한. 이 옵션은 두 번 이상 주어질 수 있습니다.
--글로벌화-기호=기호 이름
기호 제공 기호 이름 파일 외부에서 볼 수 있도록 전역 범위 지정
정의되어 있습니다. 이 옵션은 두 번 이상 주어질 수 있습니다.
-w
-와일드 카드
정규 표현식 허용 기호 이름다른 명령줄 옵션에서 사용됩니다. NS
물음표(?), 별표(*), 백슬래시(\) 및 대괄호([]) 연산자는
기호 이름의 아무 곳에서나 사용할 수 있습니다. 기호 이름의 첫 번째 문자가
느낌표(!)를 누르면 해당 기호에 대한 스위치의 의미가 바뀝니다. 을위한
예:
-w -W !foo -W 포*
objcopy는 기호를 제외하고 "fo"로 시작하는 모든 기호를 약화시킵니다.
"후".
-x
--모두 삭제
소스 파일에서 비전역 기호를 복사하지 마십시오.
-X
--discard-locals
컴파일러 생성 로컬 기호를 복사하지 마십시오. (보통 다음으로 시작합니다. L or ..)
-b 바이트
--바이트=바이트
인터리빙이 다음을 통해 활성화된 경우 --인터리브 옵션을 선택한 다음 범위를 시작합니다.
에 유지할 바이트 바이트세 번째 바이트. 바이트 0에서 범위에 있을 수 있습니다. 폭-1, 여기서
폭 에 의해 주어진 값이다. --인터리브 옵션을 선택합니다.
-i [폭]
--인터리브[=폭]
다음 범위만 복사 폭 바이트. (헤더 데이터는 영향을 받지 않습니다). 선택하다
범위의 어느 바이트가 다음으로 복사를 시작하는지 --바이트 옵션. 너비 선택
범위 --인터리브 너비 옵션을 선택합니다.
이 옵션은 프로그램 ROM에 파일을 생성하는 데 유용합니다. 일반적으로 다음과 함께 사용됩니다.
"srec" 출력 대상. 참고 객체 복사 지정하지 않으면 불평할 것입니다.
--바이트 옵션도 있습니다.
기본 인터리브 너비는 4이므로 --바이트 0으로 설정, 객체 복사 복사할 것이다
입력에서 출력까지 매 XNUMX바이트 중 첫 번째 바이트.
--인터리브 너비=폭
와 함께 사용할 때 --인터리브 옵션, 복사 폭 한 번에 바이트. 의 시작
복사할 바이트 범위는 --바이트 옵션 및 범위의 범위
로 설정됩니다 --인터리브 옵션을 선택합니다.
이 옵션의 기본값은 1입니다. 폭 플러스 바이트 에 의해 설정된 값
전에, --바이트 옵션은 다음에서 설정한 인터리브 너비를 초과해서는 안 됩니다. --인터리브
옵션을 선택합니다.
이 옵션을 사용하여 두 개의 16비트 플래시에 대한 이미지를 만들 수 있습니다.
통과하여 32비트 버스 -b 0 -i 4 --인터리브 너비=2 및 -b 2 -i 4
--인터리브 너비=2 이에 객체 복사 명령. 입력이 '12345678'이면
출력은 각각 '1256' 및 '3478'입니다.
-p
--보존 날짜
출력 파일의 액세스 및 수정 날짜를 다음과 동일하게 설정합니다.
입력 파일.
-D
--결정적 아카이브 활성화
운영 결정 론적 인 방법. 아카이브 멤버 복사 및 아카이브 쓰기 시
인덱스, UID, GID, 타임스탬프에 XNUMX 사용, 모든 항목에 일관된 파일 모드 사용
파일.
If binutils 로 구성되었습니다 --결정적 아카이브 활성화, 이 모드가 켜져 있습니다.
기본적으로. 로 비활성화할 수 있습니다. -U 옵션, 아래.
-U
--disable-결정론적 아카이브
Do 지원 작동 결정 론적 인 방법. 이것은 역의 -D 옵션, 위:
아카이브 멤버를 복사하고 아카이브 인덱스를 작성할 때 실제 UID, GID,
타임스탬프 및 파일 모드 값.
다음이 아니면 기본값입니다. binutils 로 구성되었습니다
--결정적 아카이브 활성화.
--디버깅
가능하면 디버깅 정보를 변환합니다. 이것은 기본값이 아닙니다.
특정 디버깅 형식이 지원되며 변환 프로세스는 시간이 걸릴 수 있습니다.
태워 버리는.
--갭 채우기 파
섹션 사이의 간격 채우기 파. 이 작업은 다음 항목에 적용됩니다. 하중 주소 (LMA)
섹션의. 아래쪽으로 섹션의 크기를 늘려서 수행됩니다.
주소를 입력하고 다음으로 생성된 추가 공간을 채우십시오. 파.
--패드로 주소
로드 주소까지 출력 파일을 채웁니다. 주소. 이것은 증가하여 수행됩니다
마지막 섹션의 크기. 추가 공간은 다음에서 지정한 값으로 채워집니다.
--갭 채우기 (기본값 XNUMX).
--설정-시작 파
새 파일의 시작 주소를 다음으로 설정하십시오. 파. 모든 개체 파일 형식이 지원되는 것은 아닙니다.
시작 주소를 설정합니다.
--변경 시작 증가
--조정 시작 증가
다음을 추가하여 시작 주소를 변경하십시오. 증가. 모든 개체 파일 형식이 설정을 지원하는 것은 아닙니다.
시작 주소.
--주소 변경 증가
--adjust-vma 증가
시작 주소뿐만 아니라 모든 섹션의 VMA 및 LMA 주소를 다음과 같이 변경합니다.
첨가 증가. 일부 개체 파일 형식은 섹션 주소 변경을 허용하지 않습니다.
임의로. 이것은 섹션을 재배치하지 않습니다. 프로그램이 예상하는 경우
특정 주소에 로드할 섹션을 지정하고 이 옵션을 사용하여
섹션이 다른 주소에 로드되도록 하면 프로그램이 실패할 수 있습니다.
--섹션 주소 변경 단면패턴{=,+,-}파
--조정 섹션-vma 단면패턴{=,+,-}파
일치하는 섹션의 VMA 주소와 LMA 주소를 모두 설정하거나 변경합니다.
단면패턴. 면 = 사용되는 경우 섹션 주소가 다음으로 설정됩니다. 파. 그렇지 않으면, 파 is
섹션 주소에 더하거나 뺍니다. 아래의 댓글 참조
--주소 변경, 위에. 만약에 단면패턴 입력의 섹션과 일치하지 않습니다.
파일이 없으면 경고가 발행됩니다. --변경 불가 경고 사용.
--변경-섹션-lma 단면패턴{=,+,-}파
일치하는 섹션의 LMA 주소 설정 또는 변경 단면패턴. LMA
address는 프로그램 로드 시 섹션이 메모리에 로드될 주소입니다.
시각. 일반적으로 이것은 VMA 주소와 동일합니다.
섹션이 프로그램 실행 시간에 있지만 일부 시스템에서는 특히 프로그램이 실행되는 시스템에서
ROM에 저장되어 있으면 둘은 다를 수 있습니다. 만약에 = 사용되는 경우 섹션 주소가 다음으로 설정됩니다.
파. 그렇지 않으면, 파 섹션 주소에 더하거나 뺍니다. 참조
아래의 댓글 --주소 변경, 위에. 만약에 단면패턴 일치하지 않습니다
입력 파일에 섹션이 없으면 경고가 발행됩니다. --변경 불가 경고 is
익숙한.
--변경-섹션-vma 단면패턴{=,+,-}파
일치하는 섹션의 VMA 주소 설정 또는 변경 단면패턴. VMA 주소
프로그램이 시작된 후 섹션이 위치할 주소입니다.
실행 중. 일반적으로 이 주소는 LMA 주소와 동일합니다.
섹션은 메모리에 로드되지만 일부 시스템에서는 특히
프로그램이 ROM에 저장되어 있으면 둘은 다를 수 있습니다. 만약에 = 섹션 주소가 사용됩니다.
가 파. 그렇지 않으면, 파 섹션 주소에 더하거나 뺍니다.
아래의 댓글 참조 --주소 변경, 위에. 만약에 단면패턴 일치하지 않는다
입력 파일의 모든 섹션에서 다음을 제외하고 경고가 발행됩니다. --변경 불가 경고
사용.
--변경 경고
--adjust-경고
If --섹션 주소 변경 or --변경-섹션-lma or --변경-섹션-vma 사용,
섹션 패턴이 섹션과 일치하지 않으면 경고를 발행합니다. 이것이
태만.
--변경 불가 경고
--조정 없음 경고
다음과 같은 경우 경고를 발행하지 마십시오. --섹션 주소 변경 or --조정 섹션-lma or
--조정 섹션-vma 섹션 패턴이 섹션과 일치하지 않는 경우에도 사용됩니다.
--섹션 플래그 설정 단면패턴=플래그
일치하는 모든 섹션에 대한 플래그 설정 단면패턴. 그만큼 플래그 인수는 쉼표입니다.
플래그 이름의 분리된 문자열입니다. 인식된 이름은 할당, 내용, 하중,
무부하, 읽기 전용, 암호, 데이터, 롬, 몫및 디버그. 당신은 설정할 수 있습니다 내용 플래그
내용이 없지만 클리어 의미가 없는 부분에 대해서는
내용 내용이 있는 섹션의 플래그 -- 대신 섹션을 제거하십시오.
모든 플래그가 모든 개체 파일 형식에 의미가 있는 것은 아닙니다.
--섹션 추가 섹션 이름=파일 이름
이름이 새 섹션 추가 섹션 이름 파일을 복사하는 동안. 신작의 내용
섹션은 파일에서 가져옵니다. 파일 이름. 섹션의 크기는
파일. 이 옵션은 다음이 포함된 섹션을 지원할 수 있는 파일 형식에서만 작동합니다.
임의의 이름. 참고 - 다음을 사용해야 할 수도 있습니다. --섹션 플래그 설정 ~에 대한 옵션
새로 생성된 섹션의 속성을 설정합니다.
--덤프 섹션 섹션 이름=파일 이름
이름이 지정된 섹션의 내용을 배치합니다. 섹션 이름 파일에 파일 이름, 덮어쓰기
이전에 있었을 수 있는 모든 콘텐츠. 이 옵션은
--섹션 추가. 이 옵션은 다음과 유사합니다. --only-섹션 그것을 제외하고는 옵션
형식화된 파일을 생성하지 않고 내용을 원시 바이너리 데이터로 덤프합니다.
재배치를 적용하지 않고. 옵션은 두 번 이상 지정할 수 있습니다.
--업데이트 섹션 섹션 이름=파일 이름
이름이 지정된 섹션의 기존 내용 바꾸기 섹션 이름 파일 내용으로
파일 이름. 섹션의 크기는 파일 크기에 맞게 조정됩니다. NS
섹션 플래그 섹션 이름 변경되지 않습니다. ELF 형식 파일의 경우 섹션
세그먼트 매핑도 변경되지 않은 상태로 유지됩니다.
--제거 섹션 다음 --섹션 추가. 옵션은 다음보다 더 많이 지정할 수 있습니다.
일단.
참고 - 사용 가능 --이름 바꾸기-섹션 및 --업데이트 섹션 업데이트 및
하나의 명령줄에서 섹션 이름을 바꿉니다. 이 경우 원래 섹션 이름을 전달하십시오.
에 --업데이트 섹션, 원본 및 새 섹션 이름 --이름 바꾸기-섹션.
--추가 기호 name=[섹션에 있어야 합니다.:]가치[,플래그]
이름이 새 기호 추가 name 파일을 복사하는 동안. 이 옵션을 지정할 수 있습니다
여러 번. 만약 섹션에 있어야 합니다. 가 주어지면 기호는 다음과 연관됩니다.
그렇지 않으면 ABS 기호가 됩니다. 정의되지 않은 지정
섹션에 치명적인 오류가 발생합니다. 값에 대한 확인이 없습니다.
지정된 대로 취합니다. 기호 플래그를 지정할 수 있으며 모든 플래그가 지정되지는 않습니다.
모든 목적 파일 형식에 의미가 있습니다. 기본적으로 기호는 전역입니다. NS
특수 플래그 '이전=다른 심' 지정된 앞에 새 기호를 삽입합니다.
다른 심, 그렇지 않으면 기호가 의 기호 테이블 끝에 추가됩니다.
그들이 나타나는 순서.
--이름 바꾸기-섹션 옛 이름=새 이름[,플래그]
섹션 이름 바꾸기 옛 이름 에 새 이름, 선택적으로 섹션의 플래그를 다음으로 변경
플래그 진행중. 이것은 링커 스크립트를 사용하여 수행하는 것보다 이점이 있습니다.
출력이 개체 파일로 유지되고 링크되지 않는다는 점에서 이름을 바꿉니다.
실행 파일.
이 옵션은 입력 형식이 바이너리일 때 특히 유용합니다.
항상 .data라는 섹션을 만드십시오. 예를 들어
다음 명령줄을 사용할 수 있는 바이너리 데이터를 포함하는 .rodata 섹션
그것을 달성하기 위해:
objcopy -I 바이너리 -O -NS \
--rename-section .data=.rodata, 할당, 로드, 읽기 전용, 데이터, 내용 \
--긴 섹션 이름 {활성화, 비활성화, 유지}
"COFF" 및 "PE-COFF" 처리 시 긴 섹션 이름 처리를 제어합니다.
개체 형식. 기본 동작, 유지, 긴 섹션 이름을 유지하는 것입니다.
입력 파일에 있습니다. NS 가능 및 비활성화 옵션을 강제로 활성화하거나
출력 개체에서 긴 섹션 이름 사용을 비활성화합니다. 언제 비활성화 시행되고 있으며,
입력 개체의 긴 섹션 이름은 잘립니다. NS 가능 옵션은
입력에 있는 경우에만 긴 섹션 이름을 내보냅니다. 이것은 대부분 동일합니다
as 유지, 그러나 가능 옵션이 강제로 생성될 수 있음
출력 파일의 빈 문자열 테이블
--변경 선두 문자
일부 목적 파일 형식은 기호 시작 부분에 특수 문자를 사용합니다. 제일
일반적으로 이러한 문자는 밑줄이며 컴파일러는 모든 기호 앞에 종종 추가합니다.
이 옵션은 객체 복사 모든 기호의 선행 문자를 변경하려면
개체 파일 형식 간에 변환합니다. 목적 파일 형식이 동일한 선행을 사용하는 경우
캐릭터, 이 옵션은 효과가 없습니다. 그렇지 않으면 문자를 추가하거나 제거합니다.
캐릭터를 변경하거나 적절하게 캐릭터를 변경합니다.
-- 선행 문자 제거
전역 기호의 첫 번째 문자가 특수 기호 선행 문자인 경우 사용
개체 파일 형식으로 문자를 제거합니다. 가장 일반적인 기호 선행
문자는 밑줄입니다. 이 옵션은 모든 전역에서 선행 밑줄을 제거합니다.
기호. 이것은 다른 파일의 객체를 함께 연결하려는 경우에 유용할 수 있습니다.
기호 이름에 대해 다른 규칙을 사용하는 형식. 이것은 다른
--변경 선두 문자 적절한 경우 항상 기호 이름을 변경하기 때문에
출력 파일의 목적 파일 형식에 관계없이.
--역바이트=NUM
출력 내용이 있는 섹션의 바이트를 뒤집습니다. 단면 길이는 균일해야 합니다.
스왑이 발생할 수 있도록 주어진 값으로 나눌 수 있습니다. 반전
인터리빙이 수행되기 전에 발생합니다.
이 옵션은 일반적으로 문제가 있는 대상 시스템에 대한 ROM 이미지를 생성하는 데 사용됩니다.
예를 들어, 일부 대상 보드에서는 32비트 ROM에서 가져온 8비트 워드가 다시
CPU 바이트 순서에 관계없이 리틀 엔디안 바이트 순서로 어셈블됩니다. 에 따라
프로그래밍 모델에서 ROM의 엔디안을 수정해야 할 수도 있습니다.
12345678바이트 XNUMX을 포함하는 섹션이 있는 간단한 파일을 고려하십시오.
사용 --역바이트=2 위의 예에서 출력 파일의 바이트는
21436587을 주문했습니다.
사용 --역바이트=4 위의 예에서 출력 파일의 바이트는
43218765을 주문했습니다.
사용하여 --역바이트=2 위의 예에 대해 --역바이트=4 를 시청하여 이에 대해 더 많은 정보를 얻을 수 있습니다.
출력 파일에서 두 번째 출력 파일의 바이트는 34127856으로 정렬됩니다.
--srec-len=ival
srec 출력에만 의미가 있습니다. Srecords의 최대 길이를 설정합니다.
생산 ival. 이 길이는 주소, 데이터 및 crc 필드를 모두 포함합니다.
--srec-forceS3
srec 출력에만 의미가 있습니다. S1/S2 레코드 생성 방지, S3 전용 생성
기록 형식.
--재정의-sym 낡은=
기호 이름 변경 낡은에 . 이것은 링크를 시도할 때 유용할 수 있습니다.
출처가없고 이름 충돌이있는 두 가지.
--재정의-syms=파일 이름
신청 --재정의-sym 각 기호 쌍에 "낡은 " 파일에 나열된 파일 이름.
파일 이름 한 줄에 하나의 기호 쌍이 있는 단순한 플랫 파일입니다. 줄 주석은 다음과 같습니다.
해시 문자에 의해 도입되었습니다. 이 옵션은 두 번 이상 주어질 수 있습니다.
--묽게 하다
파일의 모든 전역 기호를 약하게 변경합니다. 빌드할 때 유용할 수 있습니다.
를 사용하여 다른 객체와 연결될 객체 -R 링커에 대한 옵션입니다.
이 옵션은 약한 파일 형식을 지원하는 개체 파일 형식을 사용할 때만 유효합니다.
기호.
--기호 유지=파일 이름
신청 --기호 유지 파일에 나열된 각 기호에 대한 옵션 파일 이름. 파일 이름 is
한 줄에 하나의 기호 이름이 있는 단순한 플랫 파일입니다. 줄 주석은 다음과 같이 소개될 수 있습니다.
해시 문자. 이 옵션은 두 번 이상 주어질 수 있습니다.
--스트립 기호=파일 이름
신청 --스트립 기호 파일에 나열된 각 기호에 대한 옵션 파일 이름. 파일 이름 is
한 줄에 하나의 기호 이름이 있는 단순한 플랫 파일입니다. 줄 주석은 다음과 같이 소개될 수 있습니다.
해시 문자. 이 옵션은 두 번 이상 주어질 수 있습니다.
--스트립-불필요한-기호=파일 이름
신청 --strip-불필요한-기호 파일에 나열된 각 기호에 대한 옵션 파일 이름.
파일 이름 한 줄에 하나의 기호 이름이 있는 단순한 플랫 파일입니다. 줄 주석은 다음과 같습니다.
해시 문자에 의해 도입되었습니다. 이 옵션은 두 번 이상 주어질 수 있습니다.
--전역-기호 유지=파일 이름
신청 --전역 기호 유지 파일에 나열된 각 기호에 대한 옵션 파일 이름.
파일 이름 한 줄에 하나의 기호 이름이 있는 단순한 플랫 파일입니다. 줄 주석은 다음과 같습니다.
해시 문자에 의해 도입되었습니다. 이 옵션은 두 번 이상 주어질 수 있습니다.
--localize-기호=파일 이름
신청 --localize-기호 파일에 나열된 각 기호에 대한 옵션 파일 이름. 파일 이름
한 줄에 하나의 기호 이름이 있는 단순한 플랫 파일입니다. 라인 주석이 도입될 수 있음
해시 문자로. 이 옵션은 두 번 이상 주어질 수 있습니다.
--글로벌화-기호=파일 이름
신청 --글로벌화-기호 파일에 나열된 각 기호에 대한 옵션 파일 이름. 파일 이름
한 줄에 하나의 기호 이름이 있는 단순한 플랫 파일입니다. 라인 주석이 도입될 수 있음
해시 문자로. 이 옵션은 두 번 이상 주어질 수 있습니다.
--weak-symbols=파일 이름
신청 --weak-심볼 파일에 나열된 각 기호에 대한 옵션 파일 이름. 파일 이름 is
한 줄에 하나의 기호 이름이 있는 단순한 플랫 파일입니다. 줄 주석은 다음과 같이 소개될 수 있습니다.
해시 문자. 이 옵션은 두 번 이상 주어질 수 있습니다.
--alt-머신 코드=색인
출력 아키텍처에 대체 기계어 코드가 있는 경우 다음을 사용하십시오. 색인대신 th 코드
기본 것의. 이것은 기계에 공식 코드가 할당되어 있고
도구 체인은 새 코드를 채택하지만 다른 응용 프로그램은 여전히
원래 코드를 사용 중입니다. ELF 기반 아키텍처의 경우 색인 대안은
존재하지 않는 경우 값은 절대 숫자로 처리되어 저장됩니다.
ELF 헤더의 e_machine 필드.
--쓰기 가능한 텍스트
출력 텍스트를 쓰기 가능으로 표시합니다. 이 옵션은 모든 개체 파일에 대해 의미가 없습니다.
형식.
--readonly-텍스트
출력 텍스트를 쓰기 방지로 만듭니다. 이 옵션은 모든 개체에 의미가 없습니다.
파일 형식을 지원합니다.
--순수한
출력 파일을 요청 페이징으로 표시합니다. 이 옵션은 모든 개체에 의미가 없습니다.
파일 형식을 지원합니다.
--더러운
출력 파일을 불순한 것으로 표시하십시오. 이 옵션은 모든 개체 파일에 대해 의미가 없습니다.
형식.
--접두사 기호=현
출력 파일의 모든 기호에 접두사를 붙입니다. 현.
--접두사 섹션=현
출력 파일의 모든 섹션 이름에 접두사를 붙입니다. 현.
--접두사-할당-섹션=현
출력 파일에 할당된 모든 섹션의 모든 이름에 접두사를 붙입니다. 현.
--추가-gnu-디버그링크=파일 경로
에 대한 참조가 포함된 .gnu_debuglink 섹션을 만듭니다. 파일 경로 그리고 추가
출력 파일로 가져옵니다. 참고: 파일 파일 경로 존재해야 합니다. 일부
.gnu_debuglink 섹션을 추가하는 프로세스에는
디버그 정보 파일의 내용을 섹션에 넣습니다.
디버그 정보 파일이 한 위치에 빌드되었지만 다음 위치에 설치될 경우
나중에 다른 위치로 이동한 다음 설치된 경로를 사용하지 마십시오.
위치. NS --add-gnu-debuglink 설치된 파일이 실행되지 않기 때문에 옵션이 실패합니다.
아직 존재하지 않습니다. 대신 현재 디렉토리에 디버그 정보 파일을 넣고 다음을 사용하십시오.
--add-gnu-debuglink 다음과 같이 디렉토리 구성 요소가 없는 옵션:
objcopy --add-gnu-debuglink=foo.debug
디버그 시간에 디버거는 별도의 디버그 정보 파일을 찾으려고 시도합니다.
알려진 위치의 집합입니다. 이러한 위치의 정확한 집합은 다음에 따라 다릅니다.
배포가 사용되지만 일반적으로 다음이 포함됩니다.
"* 실행 파일과 같은 디렉토리."
"* 실행 파일이 포함된 디렉토리의 하위 디렉토리"
.debug라고 함
"* /usr/lib/debug와 같은 전역 디버그 디렉토리."
디버그 정보 파일이 이전에 이러한 위치 중 하나에 설치되어 있는 한
디버거가 실행되면 모든 것이 올바르게 작동해야 합니다.
--파일 기호 유지
파일을 제거할 때 아마도 --스트립-디버그 or --스트립-불필요, 유지
소스 파일 이름을 지정하는 기호. 그렇지 않으면 제거됩니다.
--만-유지-디버그
파일을 제거하여 제거되지 않을 섹션의 내용을 제거합니다.
--스트립-디버그 디버깅 섹션을 그대로 두십시오. ELF 파일에서 이것은
출력의 모든 노트 섹션.
참고 - 제거된 섹션의 섹션 헤더는 다음을 포함하여 유지됩니다.
크기이지만 섹션의 내용은 삭제됩니다. 섹션 헤더는
다른 도구가 debuginfo 파일을 실제 파일과 일치시킬 수 있도록 보존
실행 파일이 다른 주소 공간으로 재배치된 경우에도 실행 가능합니다.
의도는 이 옵션이 다음과 함께 사용된다는 것입니다. --add-gnu-debuglink
두 부분으로 된 실행 파일을 만듭니다. 더 적은 공간을 차지할 하나의 제거된 바이너리
RAM과 배포판, 두 번째는 디버깅 정보 파일에만 있습니다.
디버깅 기능이 필요한 경우 필요합니다. 이를 생성하기 위해 제안된 절차
파일은 다음과 같습니다.
1.
"후" 그럼...
1.
디버깅 정보가 포함된 파일을 만듭니다.
1.
제거된 실행 파일.
1.
제거된 실행 파일에 디버깅 정보에 대한 링크를 추가합니다.
참고 --- 디버그 정보 파일의 확장자로 ".dbg"를 선택하는 것은 임의적입니다.
또한 "--only-keep-debug" 단계는 선택 사항입니다. 대신 다음과 같이 할 수 있습니다.
1.
1.
1.
1.
즉, 다음이 가리키는 파일 --add-gnu-debuglink 전체 실행 파일이 될 수 있습니다. 그것
에 의해 생성된 파일일 필요는 없습니다. --만-유지-디버그 스위치.
참고---이 스위치는 완전히 연결된 파일에만 사용하기 위한 것입니다. 그것은 만들지 않는다
디버깅 정보가 불완전할 수 있는 개체 파일에서 사용하는 것이 좋습니다.
gnu_debuglink 기능 외에도 현재 하나의 파일 이름만 지원합니다.
개체당 하나의 파일에 여러 파일 이름이 아닌 디버깅 정보 포함
기초.
--strip-dwo
모든 DWARF .dwo 섹션의 내용을 제거하고 나머지 디버깅은 남겨둡니다.
섹션 및 모든 기호가 손상되지 않았습니다. 이 옵션은 컴파일러에서 다음과 같이 사용하기 위한 것입니다.
의 일부 -gsplit-dwarf .o 파일 간에 디버그 정보를 분할하는 옵션
및 별도의 .dwo 파일. 컴파일러는 같은 위치에서 모든 디버그 정보를 생성합니다.
파일을 사용한 다음 --추출-dwo .dwo 섹션을 .dwo 파일로 복사하는 옵션,
그 다음에 --strip-dwo 원본 .o 파일에서 해당 섹션을 제거하는 옵션입니다.
--추출-dwo
모든 DWARF .dwo 섹션의 내용을 추출합니다. 참조 --strip-dwo 더 많은 옵션
정보.
--파일 정렬 NUM
파일 정렬을 지정합니다. 파일의 섹션은 항상 파일 오프셋에서 시작됩니다.
이 숫자의 배수입니다. 기본값은 512입니다. [이 옵션은 특정
PE 타겟에.]
--더미 비축
--더미 비축,범하다
다음으로 사용할 예약(및 선택적으로 커밋)할 메모리의 바이트 수를 지정합니다.
이 프로그램의 힙. [이 옵션은 PE 대상에만 해당됩니다.]
--이미지 기반 가치
가치 프로그램 또는 dll의 기본 주소로 사용합니다. 이것은 가장 낮은 메모리입니다.
프로그램이나 dll이 로드될 때 사용될 위치입니다. 필요를 줄이기 위해
dll을 재배치하고 성능을 향상시키려면 각각 고유한 기본 주소가 있어야 합니다.
다른 dll과 겹치지 않아야 합니다. 기본값은 실행 파일의 경우 0x400000이며,
DLL의 경우 0x10000000입니다. [이 옵션은 PE 대상에만 해당됩니다.]
--섹션 정렬 NUM
단면 정렬을 설정합니다. 메모리의 섹션은 항상 다음 주소에서 시작됩니다.
이 숫자의 배수입니다. 기본값은 0x1000입니다. [이 옵션은 PE에만 해당됩니다.
대상.]
--스택 비축
--스택 비축,범하다
다음으로 사용할 예약(및 선택적으로 커밋)할 메모리의 바이트 수를 지정합니다.
이 프로그램의 스택. [이 옵션은 PE 대상에만 해당됩니다.]
--하위 시스템 어느
--하위 시스템 어느:주요한
--하위 시스템 어느:주요한.미성년자
프로그램이 실행될 하위 시스템을 지정합니다. 에 대한 법적 가치
어느 "네이티브", "windows", "console", "posix", "efi-app", "efi-bsd", "efi-rtd",
"sal-rtd" 및 "xbox". 선택적으로 하위 시스템 버전도 설정할 수 있습니다. 숫자
값도 허용됩니다. 어느. [이 옵션은 PE 대상에만 해당됩니다.]
--추출-기호
파일의 섹션 플래그와 기호는 유지하되 모든 섹션 데이터는 제거합니다. 구체적으로 특별히,
옵션:
*
*
*
이 옵션은 빌드하는 데 사용됩니다. .sym VxWorks 커널용 파일입니다. 그것은 또한 될 수 있습니다
크기를 줄이는 유용한 방법 --그냥 기호 링커 입력 파일.
--압축-디버그-섹션
ELF ABI에서 SHF_COMPRESSED와 함께 zlib를 사용하여 DWARF 디버그 섹션을 압축합니다. 메모 -
압축이 실제로 섹션을 만드는 경우 큰, 압축되지 않습니다.
--compress-debug-sections=없음
--압축-디버그-섹션=zlib
--압축-디버그-섹션=zlib-gnu
--압축-디버그-섹션=zlib-gabi
ELF 파일의 경우 이러한 옵션은 DWARF 디버그 섹션이 압축되는 방식을 제어합니다.
--compress-debug-sections=없음 에 해당하는 --decompress-debug-섹션.
--압축-디버그-섹션=zlib 및 --압축-디버그-섹션=zlib-gabi 동등하다
에 --압축-디버그-섹션. --압축-디버그-섹션=zlib-gnu 압축 DWARF
zlib를 사용하여 섹션을 디버그하십시오. 디버그 섹션은 다음으로 시작하도록 이름이 변경되었습니다. .z디버그
대신 .디버그. 참고 - 압축이 실제로 섹션을 만드는 경우 큰다음,
압축되거나 이름이 바뀌지 않습니다.
--decompress-debug-섹션
zlib를 사용하여 DWARF 디버그 섹션의 압축을 풉니다. 의 원래 섹션 이름
압축된 섹션이 복원됩니다.
-V
--번역
버전 번호 표시 객체 복사.
-v
--말 수가 많은
자세한 출력: 수정된 모든 개체 파일을 나열합니다. 아카이브의 경우, 객체 복사 -V
아카이브의 모든 구성원을 나열합니다.
--도움
옵션 요약 표시 객체 복사.
--정보
사용 가능한 모든 아키텍처 및 개체 형식을 보여주는 목록을 표시합니다.
@파일
다음에서 명령줄 옵션 읽기 파일. 읽은 옵션은 다음 위치에 삽입됩니다.
원래의 @파일 옵션. 만약에 파일 존재하지 않거나 읽을 수 없는 경우 옵션
문자 그대로 처리되며 제거되지 않습니다.
옵션 파일 공백으로 구분됩니다. 공백 문자가 포함될 수 있습니다.
옵션에서 전체 옵션을 작은따옴표나 큰따옴표로 묶습니다. 어느
문자(백슬래시 포함)는
백슬래시와 함께 포함됩니다. NS 파일 자체에 추가 @가 포함될 수 있습니다.파일 옵션; 어느
이러한 옵션은 재귀적으로 처리됩니다.
onworks.net 서비스를 사용하여 sh4-linux-gnu-objcopy 온라인 사용