2016-12-20 1 views
0

소스의 GNU ABI 시스템에서 System V ABI 시스템 용 공유 libc.so를 빌드해야합니다. 중요하다면 glibc 2.16을 빌드하려고합니다.GNU ABI에서 System V ABI 용 libc.so 빌드하기

내 gcc 컴파일러는 --hash-style 옵션이 "sysv"로 설정된 상태로 작성되었습니다. 이를 사용하여 빌드 된 모든 응용 프로그램에는 System V ABI가 있습니다. 모든 것이지만 libc는 아닙니다.

C * FLAGS -Wl, - hash-style = sysv를 추가하려고했으나 작동하지 않았습니다. 구성이 완료되었지만 오류로 인해 중단되었습니다.

glibc cannot be compiled without optimization 

gcc 옵션 순서 때문입니다. 그래서 나는 필요한 옵션을 스스로 결정하기로 결정했다. 발견 - hash-style = Makeconfig 및 configure.in에서 모두. 그것을 sysv로 변경했습니다. 모든 libs (ld.so 및 기타)는 결국 System V에 적절하게 구축되었습니다. libc.so을 제외한 모두.

정확하게 libc.so를 빌드하는 방법을 알고 계십니까? 감사!

답변

0

구성 옵션의 여러 조합을 한 후에 답변을 얻었습니다. 오른쪽 구성 명령 : x64 시스템의 경우

../configure --prefix=... --enable-kernel=2.4.0 --with-cpu=i686 --build=i686-unknown-linux-gnu CC="gcc -i686" CXX="g++ -i686" 

:

X32 시스템의

../configure --prefix=... --enable-kernel=2.4.0 --with-cpu=i686 --build=i686-unknown-linux-gnu CC="gcc -m32" CXX="g++ -m32" 

그리고 당신은 다음 값으로 CFLAGS를 내 보내야합니다 :

export CFLAGS="-mtune=native -O2 -pipe" 
관련 문제