Go to the first, previous, next, last section, table of contents.


기계 종속적 기능(Machine Dependent Features)

ld 는 어떤 플랫폼들에서는 추가의 기능들을 가진다; 다음 섹션들은 이들을 설명한다. ld 가 추가의 기능을 갖지 않는 기계들은 리스트에 없다.

ld 그리고 H8/300(ld and the H8/300)

H8/300 의 경우 ld`--relax' 명령행 옵션을 지정할 때 이런 글로벌 최적화들을 수행할 수 있다.

relaxing address modes
ld 는 목적지가 8비트 안에 있는 모든 jsrjmp 명령어들을 찾아서 그들을 bsrbra 명령들 각각에 상대적인 8-비트 프로그램-카운터로 변경한다.
명령어 합성(synthesizing instructions)
ld 는 16-비트 절대 주소형을 사용하는 모든 mov.b 명령들을 찾아서 그들을 8-비트 주소형을 사용하도록 변경한다. (즉: 링커는 `mov.b @aa:16'를 주소 aa가 메모리의 톱 페이지에 있을 때마다 `mov.b @aa:8'로 변경한다).

ld와 인텔 960계열 칩(ld and the Intel 960 family)

여러분은 `-Aarchitecture' 명령행 옵션을 사용해서 960 계열의 멤버들을 확인하는 두-문자 이름들중의 하나를 지정할 수 있다; 옵션은 원하는 출력 타겟을 지정하고 입력 파일들에서의 비호환 명령어들을 경고한다. 이것은 또한, 특별한 각각의 아키텍쳐에 종속적인 라이브러리의 사용을 지원하기 위해서, 아카텍쳐를 지정하는 문자열을 끝에 달고 있는 검색 루프 이름들 안에 포함함으로써, 링커의 아카이브 라이브러리들에 대한 검색 전략을 변경한다.

예를 들어서 ld 명령 라인이 `-ltry'와 같이 `-ACA'를 포함한다면 링커는 그 이름들을 가진 라이브러리를 검색할 것이다(내장 검색 경로와 `-L'로 지정된 임의 경로들에서)

try
libtry.a
tryca
libtryca.a

첫번째 두 가능성들은 어떤 경우에도 고려될 것이다; 마지막 두 개는 `-ACA'의 사용 때문이다.

여러분은 명령행에서 `-A'를 의미있게 여러번 사용할 수 있다. 왜냐면 960 아키텍쳐 계열은 타겟 아키텍쳐들의 조합을 허용하기 때문이다; 각각의 사용은 `-l'가 라이브러리를 지정할 때 검색할 이름 변종들의 다른 쌍을 추가할 것이다.

ld는 i960 계열에 대해서 `--relax' 옵션을 지원한다. `--relax' 옵션을 지정하면 ld는 이것의 타겟들이 24비트 이내인 모든 balxcalx를 찾는다. 그리고 그들을 balcal 명령어들 각각에 상대적인 24-비트 프로그램 카운터로 변환한다. ld는 또한 타겟 서브루틴이 말단(leaf) 루틴일 때(즉, 타겟 서브루틴 자신이 어떤 서브루틴들도 호출하지 않을 때) cal 명령들을 bal로 변환한다.


Go to the first, previous, next, last section, table of contents.