사용자 정의 런타임 환경 - libpthread 분할 오류

사용자 정의 런타임 환경 - libpthread 분할 오류

gcc 4.9.2(libstdc++.so.6.0.20)를 사용하여 프로젝트를 빌드했습니다. gcc 4.6.3(libstdc++.so.6.0.16)이 설치된 가상 머신에서 프로그램을 실행하려면 빌드 머신과 동일한 버전의 libstd++/libc를 제공해야 합니다. 나는 다음 단계를 따랐습니다.

  • LD_LIBRARY_PATH 내보내기(올바른 커널 버전 및 libstdc++를 사용하여 사용자 정의 glibc 빌드)
  • 다음 명령을 실행합니다: LD_DEBUG=libs LD_PRELOAD=/path_to_custom_glibc/ld-linux-x86-64.so.2 myApp

프로그램에 알리는 출력을 얻습니다.init:/path_to_custom_glibc/libpthread.so.0을 호출하세요.

무엇이 잘못될 수 있나요?

편집 1 코어 덤프는 분할 오류가 발생한 위치를 표시하지 않지만 LD_DEBUG=all은 LD_DEBUG=libs보다 더 정확한 정보를 반환합니다.

Symbol=__libc_dl_error_tsd;
file=/path_to_custom_glibc/libc.so.6[0]에서 검색 3539: 파일 /path_to_custom_glibc/libpthread.so.0[0]을 /path_to_custom_glibc/libc.so.6[0]에 바인딩: 일반 기호 ` __libc_dl_error_tsd' [GLIBC_PRIVATE] 분할 오류(코어 덤프)

관련 정보