리눅스 : 거기에 컴파일 된 공유 라이브러리를 편집 할 수있는 방법이 있습니까?solaris elfedit : 리눅스와 비슷한 것이 있습니까? (공유 라이브러리 편집기)?
특별히 컴파일 된 이진 공유 라이브러리에 DT_SYMBOLIC flag
을 추가하는 방법을 찾고 있습니까?
- 우리 자신의 라이브러리 (정적 libXXX.a)
- 일부 제 3 자 libs가 구성되어
(진 :이을 요구하고 여기 왜
입니다 - 만 공유 도서관 libYYY.so)
지금까지 애플리케이션으로 모든 것이 잘되었습니다.
이제 우리는 static * libXXX.a 라이브러리를 공유 라이브러리 버전 (libXXX.so)으로 대체했습니다.
모든 것이 잘 컴파일되고 링크됩니다.
하지만 지금은 응용 프로그램을 실행하면 예상되는 많은 처리가 시작됩니다. 그런 다음 반쯤 어딘가에 충돌합니다. gdb 백 트레이스는 일부 타사 공유 라이브러리에서 충돌이 발생했음을 보여줍니다.
저는 SOF를 검색하여 흥미로운 기사 here을 발견했습니다. 나는 정말 나는 그것이 해볼만 한 가치는있을 것 같아요 도움이 될 것을 의심하지만
내가 말하는거다 끝은
... add the DT_SYMBOLIC flag to the dynamic section ...
입니다.
이미 컴파일/링크 된 공유 라이브러리에 DT_SYMBOLIC flag
을 어떻게 추가 할 수 있습니까?
환경 : debian lenny 64bit 및 g ++ v4.2.4 및 binutils v20.
편집 : solaris에는 elfedit
이라는 프로그램이 있습니다. 리눅스와 비슷한 것이 있습니까?
'elfsh'에 대한 * 설명서가 있습니까? 그것은 완전히 문서화되지 않은 점을 제외하고는 위대한 도구처럼 보입니다. –