Fixed a bunch of stuff in the prelink mappings file:

* Added mappings for most of the libraries that didn't already
have them (as observed from my build).

* Re-canonicalized all the offsets in the mappings file,
per the official policy of keeping things megabyte-aligned.

* Added comments on each line indicating what size the library
actually appeared to be in my build (to help with future rejiggerings).

* Added a bit of documentation about the whole deal.

Even with this change, I know there are other libraries that will
still need to be included, but I think what I have here is a good
step. Also, this change only reserves room for the new libraries, but
subsequent changes (in other subprojects) are required to actually
start prelinking the new libraries. Those changes will be forthcoming
as well.

Bug: 2651381
Change-Id: I7a06382fc2b8a14bbd3261de58df3f8a31e4108e
This commit is contained in:
Dan Bornstein 2010-05-03 15:15:57 -07:00
parent 2ea21065b6
commit 7dfcfbc0d4
1 changed files with 170 additions and 131 deletions

View File

@ -1,4 +1,3 @@
# 0xC0000000 - 0xFFFFFFFF Kernel # 0xC0000000 - 0xFFFFFFFF Kernel
# 0xB0100000 - 0xBFFFFFFF Thread 0 Stack # 0xB0100000 - 0xBFFFFFFF Thread 0 Stack
# 0xB0000000 - 0xB00FFFFF Linker # 0xB0000000 - 0xB00FFFFF Linker
@ -9,159 +8,199 @@
# 0x10000000 - 0x3FFFFFFF Thread Stacks # 0x10000000 - 0x3FFFFFFF Thread Stacks
# 0x00000000 - 0x0FFFFFFF .text / .data / heap # 0x00000000 - 0x0FFFFFFF .text / .data / heap
# Note: The general rule is that libraries should be aligned on 1MB
# boundaries. For ease of updating this file, you will find a comment
# on each line, indicating the observed size of the library, which is
# one of:
#
# [<64K] observed to be less than 64K
# [~1M] rounded up, one megabyte (similarly for other sizes)
# [???] no size observed, assumed to be one megabyte
# core system libraries # core system libraries
libdl.so 0xAFF00000 libdl.so 0xAFF00000 # [<64K]
libc.so 0xAFE00000 libc.so 0xAFD00000 # [~2M]
libstdc++.so 0xAFD00000 libstdc++.so 0xAFC00000 # [<64K]
libm.so 0xAFC00000 libm.so 0xAFB00000 # [~1M]
liblog.so 0xAFBC0000 liblog.so 0xAFA00000 # [<64K]
libcutils.so 0xAFB00000 libcutils.so 0xAF900000 # [~1M]
libthread_db.so 0xAFA00000 libthread_db.so 0xAF800000 # [<64K]
libz.so 0xAF900000 libz.so 0xAF700000 # [~1M]
libevent.so 0xAF800000 libevent.so 0xAF600000 # [???]
libssl.so 0xAF700000 libssl.so 0xAF400000 # [~2M]
libcrypto.so 0xAF500000 libcrypto.so 0xAF000000 # [~5M]
libsysutils.so 0xAF400000 libsysutils.so 0xAEF00000 # [~1M]
# bluetooth # bluetooth
liba2dp.so 0xAEE00000 liba2dp.so 0xAEE00000 # [~1M]
audio.so 0xAED00000 audio.so 0xAED00000 # [~1M]
input.so 0xAEC00000 input.so 0xAEC00000 # [~1M]
libbluetoothd.so 0xAEB00000 libbluetoothd.so 0xAEA00000 # [~2M]
libbluedroid.so 0xAEA00000 libbluedroid.so 0xAE900000 # [<64K]
libbluetooth.so 0xAE900000 libbluetooth.so 0xAE800000 # [~1M]
libdbus.so 0xAE800000 libdbus.so 0xAE700000 # [~1M]
# extended system libraries # extended system libraries
libril.so 0xAE400000 libril.so 0xAE600000 # [~1M]
libreference-ril.so 0xAE000000 libreference-ril.so 0xAE500000 # [~1M]
libwpa_client.so 0xADC00000 libwpa_client.so 0xAE400000 # [<64K]
libnetutils.so 0xADB00000 libnetutils.so 0xAE300000 # [~1M]
# core dalvik runtime support # core dalvik runtime support
libandroid_servers.so 0xAD900000 libandroid_servers.so 0xAE200000 # [~1M]
#libicudata.so 0xAD600000 libicuuc.so 0xADE00000 # [~4M]
libicuuc.so 0xAD500000 libicui18n.so 0xAD900000 # [~5M]
libicui18n.so 0xAD400000 libandroid_runtime.so 0xAD300000 # [~6M]
libandroid_runtime.so 0xAD300000 libnativehelper.so 0xAD100000 # [~2M]
libnativehelper.so 0xAD200000 libdvm-ARM.so 0xAD000000 # [???]
libdvm-ARM.so 0xAD100000 libdvm.so 0xACA00000 # [~6M]
libdvm.so 0xAD000000 # Note: libicudata.so intentionally omitted
# graphics # graphics
libpixelflinger.so 0xACF00000 libpixelflinger.so 0xAC900000 # [~1M]
# libcorecg is for backward-compatibility with donut # libcorecg is for backward-compatibility with donut
libcorecg.so 0xACE00000 libcorecg.so 0xAC800000 # [???]
libsurfaceflinger_client.so 0xACD80000 libsurfaceflinger_client.so 0xAC700000 # [~1M]
libsurfaceflinger.so 0xACD00000 libsurfaceflinger.so 0xAC500000 # [~2M]
libGLES_android.so 0xACC80000 libGLES_android.so 0xAC400000 # [~1M]
libagl.so 0xACC00000 libagl.so 0xAC300000 # [???]
libGLESv1_CM.so 0xACB00000 libGLESv1_CM.so 0xAC200000 # [~1M]
libGLESv2.so 0xACA00000 libGLESv2.so 0xAC100000 # [~1M]
libOpenVG_CM.so 0xAC900000 libOpenVG_CM.so 0xAC000000 # [???]
libOpenVGU_CM.so 0xAC800000 libOpenVGU_CM.so 0xABF00000 # [???]
libEGL.so 0xAC700000 libEGL.so 0xABE00000 # [~1M]
libETC1.so 0xAC680000 libETC1.so 0xABD00000 # [<64K]
libacc.so 0xAC600000 libacc.so 0xABC00000 # [~1M]
libexif.so 0xAC500000 libexif.so 0xABB00000 # [~1M]
libcamera_client.so 0xAC480000 libcamera_client.so 0xABA80000 # [~1M]
libui.so 0xAC400000 libui.so 0xAB900000 # [~1M]
# libsgl is for backward-compatibility with donut # libsgl is for backward-compatibility with donut
libsgl.so 0xAC200000 libsgl.so 0xAB800000 # [???]
libskia.so 0xAC000000 libskia.so 0xAB100000 # [~7M]
librs_jni.so 0xABF00000 librs_jni.so 0xAB000000 # [~1M]
libRS.so 0xAB900000 libRS.so 0xA9E00000 # [~2M]
libjnigraphics.so 0xA9D00000 # [<64K]
libskiagl.so 0xA9C00000 # [~1M]
# audio # audio
libFLAC.so 0xAB8A0000 libFLAC.so 0xA9B00000 # [???]
libaudiopolicy.so 0xAB880000 libaudiopolicy.so 0xA9A00000 # [~1M]
libaudiopolicygeneric.so 0xAB800000 libaudiopolicygeneric.so 0xA9900000 # [???]
libsoundpool.so 0xAB780000 libsoundpool.so 0xA9800000 # [~1M]
libaudio.so 0xAB700000 libaudio.so 0xA9700000 # [~1M]
libspeech.so 0xAB600000 libspeech.so 0xA9600000 # [~1M]
libsonivox.so 0xAB500000 libsonivox.so 0xA9500000 # [~1M]
libvorbisidec.so 0xAB400000 libvorbisidec.so 0xA9400000 # [~1M]
libmedia_jni.so 0xAB300000 libmedia_jni.so 0xA9300000 # [~1M]
libmediaplayerservice.so 0xAB280000 libmediaplayerservice.so 0xA9200000 # [~1M]
libmedia.so 0xAB200000 libmedia.so 0xA9000000 # [~2M]
libFFTEm.so 0xAB100000 libFFTEm.so 0xA8F00000 # [~1M]
libaudioflinger.so 0xAB000000 libSR_AudioIn.so 0xA8E00000 # [<64K]
libaudioflinger.so 0xA8D00000 # [~1M]
# assorted system libraries # assorted system libraries
libsqlite.so 0xAAC00000 libsqlite.so 0xA8B00000 # [~2M]
libexpat.so 0xAAB00000 libexpat.so 0xA8A00000 # [~1M]
libwebcore.so 0xAA000000 libwebcore.so 0xA8400000 # [~6M]
libbinder.so 0xA9D80000 libbinder.so 0xA8300000 # [~1M]
libutils.so 0xA9D00000 libutils.so 0xA8200000 # [~1M]
libcameraservice.so 0xA9C80000 libcameraservice.so 0xA8100000 # [~1M]
libhardware.so 0xA9C70000 libhardware.so 0xA8000000 # [<64K]
libhardware_legacy.so 0xA9C00000 libhardware_legacy.so 0xA7F00000 # [~1M]
libapp_process.so 0xA9B00000 libapp_process.so 0xA7E00000 # [???]
libsystem_server.so 0xA9A00000 libsystem_server.so 0xA7D00000 # [~1M]
libime.so 0xA9800000 libime.so 0xA7C00000 # [???]
libgps.so 0xA9700000 libgps.so 0xA7B00000 # [~1M]
libcamera.so 0xA9680000 libcamera.so 0xA7A00000 # [~1M]
liboemcamera.so 0xA9400000 liboemcamera.so 0xA7800000 # [~2M]
libdiskconfig.so 0xA7700000 # [<64K]
libemoji.so 0xA7600000 # [<64K]
libjni_latinime.so 0xA7500000 # [~1M]
libjni_pinyinime.so 0xA7400000 # [~1M]
libttssynthproxy.so 0xA7300000 # [~1M]
libttspico.so 0xA7100000 # [~2M]
# pv libraries # pv libraries
libpvasf.so 0xA7C26000 libpvasf.so 0xA7000000 # [???]
libpvasfreg.so 0xA7C00000 libpvasfreg.so 0xA6F00000 # [???]
libomx_sharedlibrary.so 0xA7BA0000 libomx_sharedlibrary.so 0xA6E00000 # [~1M]
libopencore_download.so 0xA7B40000 libopencore_download.so 0xA6D00000 # [~1M]
libopencore_downloadreg.so 0xA7B00000 libopencore_downloadreg.so 0xA6C00000 # [~1M]
libopencore_net_support.so 0xA7A00000 libopencore_net_support.so 0xA6900000 # [~3M]
libopencore_rtsp.so 0xA7900000 libopencore_rtsp.so 0xA6300000 # [~6M]
libopencore_rtspreg.so 0xA7890000 libopencore_rtspreg.so 0xA6200000 # [~1M]
libopencore_author.so 0xA7800000 libopencore_author.so 0xA5E00000 # [~4M]
libomx_aacdec_sharedlibrary.so 0xA7700000 libomx_aacdec_sharedlibrary.so 0xA5C00000 # [~2M]
libomx_amrdec_sharedlibrary.so 0xA76A0000 libomx_amrdec_sharedlibrary.so 0xA5B00000 # [~1M]
libomx_amrenc_sharedlibrary.so 0xA7680000 libomx_amrenc_sharedlibrary.so 0xA5A00000 # [~1M]
libomx_avcdec_sharedlibrary.so 0xA7660000 libomx_avcdec_sharedlibrary.so 0xA5900000 # [~1M]
libomx_avcenc_sharedlibrary.so 0xA7610000 libomx_avcenc_sharedlibrary.so 0xA5800000 # [???]
libomx_m4vdec_sharedlibrary.so 0xA75C0000 libomx_m4vdec_sharedlibrary.so 0xA5700000 # [~1M]
libomx_m4venc_sharedlibrary.so 0xA7590000 libomx_m4venc_sharedlibrary.so 0xA5600000 # [???]
libomx_mp3dec_sharedlibrary.so 0xA7450000 libomx_mp3dec_sharedlibrary.so 0xA5500000 # [~1M]
libopencore_mp4local.so 0xA7400000 libopencore_mp4local.so 0xA5300000 # [~2M]
libopencore_mp4localreg.so 0xA7300000 libopencore_mp4localreg.so 0xA5200000 # [~1M]
libopencore_player.so 0xA7000000 libopencore_player.so 0xA4900000 # [~9M]
# opencore hardware support # opencore hardware support
libmm-adspsvc.so 0xA6FFD000 libmm-adspsvc.so 0xA4800000 # [???]
libOmxCore.so 0xA6FF0000 libOmxCore.so 0xA4700000 # [<64K]
libOmxMpeg4Dec.so 0xA6FC0000 libOmxMpeg4Dec.so 0xA4600000 # [???]
libOmxH264Dec.so 0xA6F90000 libOmxH264Dec.so 0xA4500000 # [???]
libOmxVidEnc.so 0xA6F60000 libOmxVidEnc.so 0xA4400000 # [~1M]
libopencorehw.so 0xA6F50000 libopencorehw.so 0xA4300000 # [~1M]
libOmxVdec.so 0xA4200000 # [~1M]
libmm-omxcore.so 0xA4100000 # [<64K]
# pv libraries # pv libraries
libopencore_common.so 0xA6000000 libopencore_common.so 0xA3A00000 # [~7M]
libqcomm_omx.so 0xA5A00000 libqcomm_omx.so 0xA3900000 # [<64K]
# stagefright libraries
libstagefright_amrnb_common.so 0xA3800000 # [~1M]
libstagefright_avc_common.so 0xA3700000 # [~1M]
libstagefright_color_conversion.so 0xA3600000 # [<64K]
libstagefright_omx.so 0xA3500000 # [~1M]
libstagefrighthw.so 0xA3400000 # [~1M]
libstagefright.so 0xA3000000 # [~4M]
# libraries for specific hardware
libgsl.so 0xA2F00000 # [~1M]
libhtc_acoustic.so 0xA2E00000 # [<64K]
libhtc_ril.so 0xA2D00000 # [~1M]
liblvmxipc.so 0xA2C00000 # [~1M]
# libraries for specific apps or temporary libraries # libraries for specific apps or temporary libraries
libcam_ipl.so 0x9F000000 libcam_ipl.so 0x9F000000 # [???]
libwbxml.so 0x9E800000 libwbxml.so 0x9EF00000 # [???]
libwbxml_jni.so 0x9E400000 libwbxml_jni.so 0x9EE00000 # [~1M]
libxml2wbxml.so 0x9E000000 libxml2wbxml.so 0x9EB00000 # [~1M]
libdrm1.so 0x9D800000 libdrm1.so 0x9EA00000 # [~1M]
libdrm1_jni.so 0x9D400000 libdrm1_jni.so 0x9E900000 # [<64K]
libwapcore.so 0x9D000000 libwapcore.so 0x9E800000 # [???]
libstreetview.so 0x9CC00000 libstreetview.so 0x9E700000 # [???]
libwapbrowsertest.so 0x9C800000 libwapbrowsertest.so 0x9E600000 # [???]
libminiglobe.so 0x9C400000 libminiglobe.so 0x9E500000 # [???]
libearth.so 0x9C000000 libearth.so 0x9E400000 # [???]
libembunit.so 0x9BC00000 libembunit.so 0x9E300000 # [<64K]
libneon.so 0x9B800000 libneon.so 0x9E200000 # [???]
libjni_example.so 0x9B400000 libjni_example.so 0x9E100000 # [???]
libjni_load_test.so 0x9B000000 libjni_load_test.so 0x9E000000 # [???]
libjni_lib_test.so 0x9AC00000 libjni_lib_test.so 0x9DF00000 # [???]
librunperf.so 0x9A800000 librunperf.so 0x9DE00000 # [???]
libctest.so 0x9A700000 libctest.so 0x9DD00000 # [<64K]
libUAPI_jni.so 0x9A500000 libUAPI_jni.so 0x9DC00000 # [???]
librpc.so 0x9A400000 librpc.so 0x9DB00000 # [~1M]
libtrace_test.so 0x9A300000 libtrace_test.so 0x9DA00000 # [???]
libsrec_jni.so 0x9A200000 libsrec_jni.so 0x9D800000 # [~2M]
libjpeg.so 0x9A000000 libjpeg.so 0x9D700000 # [~1M]
libiprouteutil.so 0x9D600000 # [~1M] for external/iproute2
libnetlink.so 0x9D500000 # [<64K] for external/iproute2
libpagemap.so 0x9D400000 # [<64K] for system/extras/libpagemap
libstlport.so 0x9D100000 # [~3M] for external/stlport
libzxing.so 0x9D000000 # [<64K] for goggles
libinterstitial.so 0x9CF00000 # [<64K] for goggles
liblept.so 0x9CA00000 # [~5M] for external/leptonica