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


MRI 호환 스크립트 파일(MRI Compatible Script Files)

사용자들이 MRI 링커로부터 GNU ld로 옮겨 가는 것을 돕기 위해서 ld는 MRI 호환 링커 스크립트를 좀 더 일반적인-목적의 링커 스크립팅 언어에 대한 대안으로써 사용할 수 있다 section 명령 언어(Command Language). MRI 호환 링커 스크립트들은 그렇지 않으면 ld에 의해서 사용되는 스크립트 언어에 비해서 더 단순한 명령 셋을 가진다. GNU ld는 가장 일반적으로 사용되는 MRI 링커 명령어들을 지원한다; 이런 명령어들은 여기서 설명될 것이다.

일반적으로 MRI 스크립트는 a.out 오브젝트 파일 포멧으로 잘 사용되지 않는다. 왜냐면 이것은 세개의 섹션들만을 가지고 MRI 스크립트는 그들을 사용하는 어떤 기능들이 없기 때문이다.

MRI-호환 스크립트를 담고 있는 파일을 `-c' 명령행 옵션을 사용해서 지정할 수 있다.

MRI-호환 스크립트에서 각 명령은 자신의 라인을 점유한다; 각 명령 라인은 그 명령을 확인하는 키워드로 시작한다(비록 빈 라인들이 또한 구두점(punctuation)을 위해서 허용되기는 하지만). MRI-호환 스크립트의 라인이 인식되지 않는 키워드로 시작하면 ld는 경고 메시지를 발생하지만 그 스크립트를 계속 처리한다.

`*'로 시작하는 라인들은 모두 주석이다.

이런 명령들을 모두 대문자들로 또는 모두 소문자들로 작성할 수 있다; 예를 들어서 `chip'`CHIP'와 동일하다. 다음 리스트는 대문자만 허용되는 명령들 리스트이다.

ABSOLUTE secname
ABSOLUTE secname, secname, ... secname
일반적으로 ld는 출력 파일안에 모든 입력 파일들로부터 모든 섹션들을 포함한다. 그러나 MRI-호환 스크립트에서 여러분은 ABSOLUTE 명령을 써서 여러분의 출력 프로그램에서 존재할 섹션들을 제한할 수 있다. ABSOLUTE 명령이 스크립트안에서 사용되면 ABSOLUTE 명령들안에서 명시적으로 이름을 기재한 섹션만이 링커 출력에 나타날 것이다. 여러분은 여전히 다른 입력 섹션들(명령 라인에서 여러분이 선택한 것이 무엇이든, 또는 LOAD를 사용하든)을 출력 파일의 주소들을 해도하는 데 사용할 수 있다.
ALIAS out-secname, in-secname
이 명령을 사용해서 입력 섹션 in-secname을 링커 출력 파일의 out-secname로 불리는 섹션에 넣는다. in-secname는 정수일 수 있다.
ALIGN secname = expression
secname라고 불리는 섹션을 expression로 할당한다. expression는 2의 멱승이어야 한다.
BASE expression
expression의 값을 출력 파일의 가장 낮은 주소(절대 주소들과 다른)로 사용한다.
CHIP expression
CHIP expression, expression
이 명령은 아무것도 하지 않는다; 이것은 단지 호환성만을 위해서 받아들여진다.
END
이 명령은 아무것도 하지 않는다; 이것은 단지 호환성을 위해서만 받아들여진다.
FORMAT output-format
좀 더 일반적인 링커 언어에서 OUTPUT_FORMAT 명령과 유사하지만 다음과 같은 출력 포멧들에 제한적이다:
  1. output-format`S'라면 S-레코드.
  2. output-format`IEEE'이라면 IEEE.
  3. output-format`COFF'라면 COFF(BFD 안의 `coff-m68k' 변종)
LIST anything...
링크 맵을 출력(표준 출력 파일에)한다. ld 명령-행 옵션 `-M'에 의해서 생성되는 것과 동일하다. 키워드 LIST는 다른 것과 동일한 라인에서 임의의 것 뒤에 올 수 있다. 그러나 아무런 영향을 미치지 않는다.
LOAD filename
LOAD filename, filename, ... filename
링크에서 하나 이상의 filename 오브젝트 파일을 포함한다; 이것은 filenameld 명령행에 직접 지정하는 것과 동일한 효과를 가진다.
NAME output-name
output-nameld에 의해서 생성된 프로그램의 이름이다; MRI-호환 명령 NAME는 명령-행 옵션 `-o'이나 일반 스크립트 언어 명령 OUTPUT과 동일하다.
ORDER secname, secname, ... secname
ORDER secname secname secname
일반적으로 ld는 입력 파일들이 나타난 순서대로 출력 파일에서 섹션들 순서를 결정한다. MRI-호환 스크립트에서 여러분은 이런 순서를 ORDER 명령으로 오버라이드할 수 있다. 여러분이 ORDER로 나열한 섹션들은 출력 파일에서 지정된 순서로 맨처음 나타날 것이다.
PUBLIC name=expression
PUBLIC name,expression
PUBLIC name expression
링커 입력 파일들에서 사용되는 외부 심벌 name에 대한 값(expression)을 제공한다.
SECT secname, expression
SECT secname=expression
SECT secname expression
SECT 명령의 이런 세가지 형태들을 secname 섹션에 대한 시작 주소(expression)를 지정하는 데 사용할 수 있다. 동일한 secname 에 대한 한 개 이상의 SECT 문장을 갖고 있다면 첫번째 것만이 시작 주소를 설정한다.


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