1.1.1. ABI for the ARM Architecture 규격 준수

ABI for the ARM Architecture는 소스 프로그램을 개체 파일로 변환하는 프로세서 관련 기능을 설명하는 사양 계열입니다. ABI의 관련 기능을 준수하는 도구에서 만들어진 개체 파일은 실행이 가능한 최종 이미지 또는 라이브러리를 만들도록 함께 링크될 수 있습니다. 사양에 포함된 각 문서에서는 호환성의 특정한 영역에 대해 다룹니다. 예를 들어 C Library ABI for the ARM Architecture에서는 규격을 준수하는 모든 구현에 일반적으로 사용될 C 라이브러리 부분에 대해 설명합니다.ABI 문서에는 플랫폼에 따라 다름이라고 표시된 여러 분야가 있습니다. 완전한 실행 환경을 정의하려면 이러한 플랫폼별 세부 사항을 제공해야 합니다. 따라서 여러 가지 추가 사양(예: ARM GNU/Linux ABI supplement)을 작성해야 합니다.BSABI(Base Standard ABI for the ARM Architecture)는 ARM 아키텍처용 ABI를 지원하는 다른 제작자의 ARM, Thumb, Thumb-2 개체 및 라이브러리를 사용할 수 있게 해줍니다. RVCT는 DWARF 3 디버그 테이블(DWARF 디버깅 표준 버전 3)을 포함하여 BSABI를 완벽하게 지원합니다.

기본 표준, 다른 ARM Embedded ABI(AEABI), 소프트웨어 인터페이스 및 ARM에서 지원하는 기타 표준에 대한 자세한 내용은 install_directory\Documentation\Specifications\...를 참조하십시오.

발표된 최신 버전에 대한 자세한 내용은 http://www.arm.com을 참조하십시오.

ARM C 및 C++ 라이브러리는 BSABI와 다음 AEABI에서 설명하는 표준을 따릅니다.

규칙 테스트

CLIBABI의 이식성을 높이려면 먼저 #define _AEABI_PORTABILITY_LEVEL 1을 지정한 다음 <stdlib.h>와 같은 라이브러리 헤더 파일을 포함하십시오. 명령 행에서 -D_AEABI_PORTABILITY_LEVEL=1을 사용하여 이 작업을 수행할 수도 있습니다. 이렇게 하면 CLIBABI의 다른 구현에 대한 개체 파일의 이식성은 높아지지만 일부 라이브러리 작업의 성능은 떨어집니다.

자세한 내용은 install_directory\Documentation\Specifications\...에서 CLIBABI 사양인 clibabi.pdf를 참조하십시오.

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0349AK
Non-Confidential