내 응용 프로그램의 한 특정 모듈이 이전 버전의 libc를 사용하도록하려면 어떻게합니까?두 버전의 libc를 동일한 응용 프로그램에 연결하는 방법은 무엇입니까?
내 응용 프로그램에 링크해야하는 두 개의 .so 파일이 있지만 그 중 하나는 이전 버전의 libc에서만 작동하고 다른 하나는 최신 버전에서만 작동합니다.
나는 소스를 가지고 있지만 오류의 원인을 추적하는 것은 실패했다. 나는 확실히 그 정확한 픽스이기 때문에, 그 수색을 멈추지 않을 것이다.
어쨌든 응용 프로그램의 일부분 만 링커가 이전 libc를 사용하게 할 수 있습니까?
정적으로 링크하고 있거나 심볼릭 링크를 설정해도 괜찮습니다.
업데이트/명확한 설명 :
나는이 코드베이스에 변경없이 일어날 수 있도록 노력하고있어. 이 매우 구체적인 .so 파일의 경우 libc 심볼은 libc의 이전 복사본을 가리 키도록 만들어야한다는 링커에게 알리는 방법을 찾고 싶습니다.
실제 버그를 찾았을 때도 이것은 흥미 롭기에 충분히 도전적인 것 같습니다.
이것도 가능합니까?
감사
재미있는 링크, 감사합니다. 분명히 버그를 찾을 수있는 올바른 해결책이지만, 그것은 문제의 핵심은 아닙니다. :) 컴파일러 플래그 수준에서 수행 할 수 있습니까? 원래 게시물을 업데이트하겠습니다. – nonot1