ELF 시스템에서의 aout 프로그램 개발

고객지원 지식기반 (kfr_29)
어떤 상황에서는 ELF 시스템 상에서 구 버전의 aout 포맷을 사용해야 될 필요가 있습니다. 예를 들어 구 버전 aout 포맷으로만 구할 수 있는 라이브러리들이 필요할 경우를 들 수 있 습니다.

gcc 2.7.2는 디폴트로 새로운 ELF 포맷으로 컴파일해 줍니다. 그리고 라이브러리들이 구 버전 aout 포맷으로 링크되어 있으면 이것이 삭제되지 않습니다.

이 경우 모든 옵젝트 파일들이 aout 포맷으로 변환되어야 합니다. 이렇게 해 주기 위해서는 다음 컴파일러 스위치를 설정해 줍니다.

컴파일시

        -b i486-linuxaout
링크시
        -mi386linux
gcc에 대한 링크가 콜된 다음에는 다음을 입력해 줍니다.
        -b i486-linuxaout
이제 aout 라이브러리 libsql.a가 링크가 되고 prog_elf 대신에 prog_aout가 동작하게 됩니다. all: prog_aout prog_elf prog_elf: yardtest.c Makefile gcc -c -I/usr/lib/YARD/include yardtest.c -o yardtest.o gcc -L/lib yardtest.o /usr/lib/YARD/lib/libsql.a \ /usr/lib/YARD/lib/libbasic.a /usr/lib/YARD/lib/sqlnetd.a -o $@ file $@ ldd $@ prog_aout: yardtest.c Makefile gcc -b i486-linuxaout -c -I/usr/lib/YARD/include yardtest.c \ -o yardtest.o gcc -b i486-linuxaout -L/lib yardtest.o /usr/lib/YARD/lib/libsql.a \ /usr/lib/YARD/lib/libbasic.a \ /usr/lib/YARD/lib/sqlnetd.a -o $@ file $@ ldd $@
키워드: GCC, LINK, AOUT, ELF, LINUXAOUT, COMPILE

SDB-kfr_29, Copyright SuSE Linux AG, Nrnberg, Germany - 버전: 02. Mr 2001
SuSE Linux AG - 최근에 만들어진 : 07. Mr 2001 에 의해 kmyoo (sdb_gen 1.40.0)