ICS 4.0 에서 이전 버전의 안드로이드 플랫폼에서 사용해 왔던 prelink 기술이 제거되었습니다. 이와 관련된 주제에 대해서 2012년 3월 22일(목) ~ 3월 23일(금) 있을 kandroid 9회 컨퍼런스에서 다룰 예정이지만, 관련된 유용한 참조자료가 있어서 이곳에 먼저 포스팅 합니다.
Thanks a lot. ICS버젼부터 이전 버젼의 prelink기술이 (아예) 제거되었다라는 표현이
약간 오해를 일으킬수 있겠다는 생각이 듭니다.
Google 그룹스에서 얘기된 설명은 시큐리티를 위해서 prelink을 disable하는 경우에 대한
기술적 입장 설명이라고 보는게???
제 기억으론 예전의 진저브레드(2.3)에서도 디폴트 빌드는 without Prelink 이었고,
만약, prelink으로 빌드를 하고자 할때는 아래의 매크로를 통해서 true or false으로
이런 연유들로 양산시 선택적으로 사용여부를 결정하도록 지원 해왔었거던요???
LOCAL_PRELINK_MODULE := false
이에 대해 많은 히스토리, 배경, trade-off,merit/demerit가 있으나 논외로 합니다.
들풀
제거 맞습니다. apriori와 soslim이 aosp에서 아예 사라졌습니다.~
1/4 16:06
인베인
그렇네요. 매크로 잔재가 남아있을뿐, ICS부턴, 전체소스 컴파일시에 심볼 찾아서 심볼리스트를 제너레이트하기 위한 코드(apriori/soslim)랑 ./build/core/shared_library.mk 에서 매크로가 제거되었군요..
1/4 16:17
인베인
2012-01-04 16:23
이렇게 되면, 리눅스 배포판의 경우에
페도라는 페도라 9까지만 with prelink으로 배포, 페도라 10부터는 without prelink으로 배포,
우분투는 처음부터 지금의 버젼까지 with prelink 으로 배포...
하니.. prelink으로 빌드하여 배포하는 경우는 수천개의 함수가 있는 한개의 *.so 파일을 링커의 후킹에 의해 해킹이되어도 괜찮은 (네트웍 없는)임베디드 제품에서만 사용되는 역사로 남겠는데요???