Merge "Fixed a bunch of stuff in the prelink mappings file:" into froyo
diff --git a/core/prelink-linux-arm.map b/core/prelink-linux-arm.map
index 5ae1a78..cb4535e 100644
--- a/core/prelink-linux-arm.map
+++ b/core/prelink-linux-arm.map
@@ -1,4 +1,3 @@
-
# 0xC0000000 - 0xFFFFFFFF Kernel
# 0xB0100000 - 0xBFFFFFFF Thread 0 Stack
# 0xB0000000 - 0xB00FFFFF Linker
@@ -9,159 +8,199 @@
# 0x10000000 - 0x3FFFFFFF Thread Stacks
# 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
-libdl.so 0xAFF00000
-libc.so 0xAFE00000
-libstdc++.so 0xAFD00000
-libm.so 0xAFC00000
-liblog.so 0xAFBC0000
-libcutils.so 0xAFB00000
-libthread_db.so 0xAFA00000
-libz.so 0xAF900000
-libevent.so 0xAF800000
-libssl.so 0xAF700000
-libcrypto.so 0xAF500000
-libsysutils.so 0xAF400000
+libdl.so 0xAFF00000 # [<64K]
+libc.so 0xAFD00000 # [~2M]
+libstdc++.so 0xAFC00000 # [<64K]
+libm.so 0xAFB00000 # [~1M]
+liblog.so 0xAFA00000 # [<64K]
+libcutils.so 0xAF900000 # [~1M]
+libthread_db.so 0xAF800000 # [<64K]
+libz.so 0xAF700000 # [~1M]
+libevent.so 0xAF600000 # [???]
+libssl.so 0xAF400000 # [~2M]
+libcrypto.so 0xAF000000 # [~5M]
+libsysutils.so 0xAEF00000 # [~1M]
# bluetooth
-liba2dp.so 0xAEE00000
-audio.so 0xAED00000
-input.so 0xAEC00000
-libbluetoothd.so 0xAEB00000
-libbluedroid.so 0xAEA00000
-libbluetooth.so 0xAE900000
-libdbus.so 0xAE800000
+liba2dp.so 0xAEE00000 # [~1M]
+audio.so 0xAED00000 # [~1M]
+input.so 0xAEC00000 # [~1M]
+libbluetoothd.so 0xAEA00000 # [~2M]
+libbluedroid.so 0xAE900000 # [<64K]
+libbluetooth.so 0xAE800000 # [~1M]
+libdbus.so 0xAE700000 # [~1M]
# extended system libraries
-libril.so 0xAE400000
-libreference-ril.so 0xAE000000
-libwpa_client.so 0xADC00000
-libnetutils.so 0xADB00000
+libril.so 0xAE600000 # [~1M]
+libreference-ril.so 0xAE500000 # [~1M]
+libwpa_client.so 0xAE400000 # [<64K]
+libnetutils.so 0xAE300000 # [~1M]
# core dalvik runtime support
-libandroid_servers.so 0xAD900000
-#libicudata.so 0xAD600000
-libicuuc.so 0xAD500000
-libicui18n.so 0xAD400000
-libandroid_runtime.so 0xAD300000
-libnativehelper.so 0xAD200000
-libdvm-ARM.so 0xAD100000
-libdvm.so 0xAD000000
+libandroid_servers.so 0xAE200000 # [~1M]
+libicuuc.so 0xADE00000 # [~4M]
+libicui18n.so 0xAD900000 # [~5M]
+libandroid_runtime.so 0xAD300000 # [~6M]
+libnativehelper.so 0xAD100000 # [~2M]
+libdvm-ARM.so 0xAD000000 # [???]
+libdvm.so 0xACA00000 # [~6M]
+# Note: libicudata.so intentionally omitted
# graphics
-libpixelflinger.so 0xACF00000
+libpixelflinger.so 0xAC900000 # [~1M]
# libcorecg is for backward-compatibility with donut
-libcorecg.so 0xACE00000
-libsurfaceflinger_client.so 0xACD80000
-libsurfaceflinger.so 0xACD00000
-libGLES_android.so 0xACC80000
-libagl.so 0xACC00000
+libcorecg.so 0xAC800000 # [???]
+libsurfaceflinger_client.so 0xAC700000 # [~1M]
+libsurfaceflinger.so 0xAC500000 # [~2M]
+libGLES_android.so 0xAC400000 # [~1M]
+libagl.so 0xAC300000 # [???]
-libGLESv1_CM.so 0xACB00000
-libGLESv2.so 0xACA00000
-libOpenVG_CM.so 0xAC900000
-libOpenVGU_CM.so 0xAC800000
-libEGL.so 0xAC700000
-libETC1.so 0xAC680000
+libGLESv1_CM.so 0xAC200000 # [~1M]
+libGLESv2.so 0xAC100000 # [~1M]
+libOpenVG_CM.so 0xAC000000 # [???]
+libOpenVGU_CM.so 0xABF00000 # [???]
+libEGL.so 0xABE00000 # [~1M]
+libETC1.so 0xABD00000 # [<64K]
-libacc.so 0xAC600000
+libacc.so 0xABC00000 # [~1M]
-libexif.so 0xAC500000
-libcamera_client.so 0xAC480000
-libui.so 0xAC400000
+libexif.so 0xABB00000 # [~1M]
+libcamera_client.so 0xABA80000 # [~1M]
+libui.so 0xAB900000 # [~1M]
# libsgl is for backward-compatibility with donut
-libsgl.so 0xAC200000
-libskia.so 0xAC000000
-librs_jni.so 0xABF00000
-libRS.so 0xAB900000
-
+libsgl.so 0xAB800000 # [???]
+libskia.so 0xAB100000 # [~7M]
+librs_jni.so 0xAB000000 # [~1M]
+libRS.so 0xA9E00000 # [~2M]
+libjnigraphics.so 0xA9D00000 # [<64K]
+libskiagl.so 0xA9C00000 # [~1M]
# audio
-libFLAC.so 0xAB8A0000
-libaudiopolicy.so 0xAB880000
-libaudiopolicygeneric.so 0xAB800000
-libsoundpool.so 0xAB780000
-libaudio.so 0xAB700000
-libspeech.so 0xAB600000
-libsonivox.so 0xAB500000
-libvorbisidec.so 0xAB400000
-libmedia_jni.so 0xAB300000
-libmediaplayerservice.so 0xAB280000
-libmedia.so 0xAB200000
-libFFTEm.so 0xAB100000
-libaudioflinger.so 0xAB000000
+libFLAC.so 0xA9B00000 # [???]
+libaudiopolicy.so 0xA9A00000 # [~1M]
+libaudiopolicygeneric.so 0xA9900000 # [???]
+libsoundpool.so 0xA9800000 # [~1M]
+libaudio.so 0xA9700000 # [~1M]
+libspeech.so 0xA9600000 # [~1M]
+libsonivox.so 0xA9500000 # [~1M]
+libvorbisidec.so 0xA9400000 # [~1M]
+libmedia_jni.so 0xA9300000 # [~1M]
+libmediaplayerservice.so 0xA9200000 # [~1M]
+libmedia.so 0xA9000000 # [~2M]
+libFFTEm.so 0xA8F00000 # [~1M]
+libSR_AudioIn.so 0xA8E00000 # [<64K]
+libaudioflinger.so 0xA8D00000 # [~1M]
# assorted system libraries
-libsqlite.so 0xAAC00000
-libexpat.so 0xAAB00000
-libwebcore.so 0xAA000000
-libbinder.so 0xA9D80000
-libutils.so 0xA9D00000
-libcameraservice.so 0xA9C80000
-libhardware.so 0xA9C70000
-libhardware_legacy.so 0xA9C00000
-libapp_process.so 0xA9B00000
-libsystem_server.so 0xA9A00000
-libime.so 0xA9800000
-libgps.so 0xA9700000
-libcamera.so 0xA9680000
-liboemcamera.so 0xA9400000
+libsqlite.so 0xA8B00000 # [~2M]
+libexpat.so 0xA8A00000 # [~1M]
+libwebcore.so 0xA8400000 # [~6M]
+libbinder.so 0xA8300000 # [~1M]
+libutils.so 0xA8200000 # [~1M]
+libcameraservice.so 0xA8100000 # [~1M]
+libhardware.so 0xA8000000 # [<64K]
+libhardware_legacy.so 0xA7F00000 # [~1M]
+libapp_process.so 0xA7E00000 # [???]
+libsystem_server.so 0xA7D00000 # [~1M]
+libime.so 0xA7C00000 # [???]
+libgps.so 0xA7B00000 # [~1M]
+libcamera.so 0xA7A00000 # [~1M]
+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
-libpvasf.so 0xA7C26000
-libpvasfreg.so 0xA7C00000
-libomx_sharedlibrary.so 0xA7BA0000
-libopencore_download.so 0xA7B40000
-libopencore_downloadreg.so 0xA7B00000
-libopencore_net_support.so 0xA7A00000
-libopencore_rtsp.so 0xA7900000
-libopencore_rtspreg.so 0xA7890000
-libopencore_author.so 0xA7800000
-libomx_aacdec_sharedlibrary.so 0xA7700000
-libomx_amrdec_sharedlibrary.so 0xA76A0000
-libomx_amrenc_sharedlibrary.so 0xA7680000
-libomx_avcdec_sharedlibrary.so 0xA7660000
-libomx_avcenc_sharedlibrary.so 0xA7610000
-libomx_m4vdec_sharedlibrary.so 0xA75C0000
-libomx_m4venc_sharedlibrary.so 0xA7590000
-libomx_mp3dec_sharedlibrary.so 0xA7450000
-libopencore_mp4local.so 0xA7400000
-libopencore_mp4localreg.so 0xA7300000
-libopencore_player.so 0xA7000000
+libpvasf.so 0xA7000000 # [???]
+libpvasfreg.so 0xA6F00000 # [???]
+libomx_sharedlibrary.so 0xA6E00000 # [~1M]
+libopencore_download.so 0xA6D00000 # [~1M]
+libopencore_downloadreg.so 0xA6C00000 # [~1M]
+libopencore_net_support.so 0xA6900000 # [~3M]
+libopencore_rtsp.so 0xA6300000 # [~6M]
+libopencore_rtspreg.so 0xA6200000 # [~1M]
+libopencore_author.so 0xA5E00000 # [~4M]
+libomx_aacdec_sharedlibrary.so 0xA5C00000 # [~2M]
+libomx_amrdec_sharedlibrary.so 0xA5B00000 # [~1M]
+libomx_amrenc_sharedlibrary.so 0xA5A00000 # [~1M]
+libomx_avcdec_sharedlibrary.so 0xA5900000 # [~1M]
+libomx_avcenc_sharedlibrary.so 0xA5800000 # [???]
+libomx_m4vdec_sharedlibrary.so 0xA5700000 # [~1M]
+libomx_m4venc_sharedlibrary.so 0xA5600000 # [???]
+libomx_mp3dec_sharedlibrary.so 0xA5500000 # [~1M]
+libopencore_mp4local.so 0xA5300000 # [~2M]
+libopencore_mp4localreg.so 0xA5200000 # [~1M]
+libopencore_player.so 0xA4900000 # [~9M]
# opencore hardware support
-libmm-adspsvc.so 0xA6FFD000
-libOmxCore.so 0xA6FF0000
-libOmxMpeg4Dec.so 0xA6FC0000
-libOmxH264Dec.so 0xA6F90000
-libOmxVidEnc.so 0xA6F60000
-libopencorehw.so 0xA6F50000
+libmm-adspsvc.so 0xA4800000 # [???]
+libOmxCore.so 0xA4700000 # [<64K]
+libOmxMpeg4Dec.so 0xA4600000 # [???]
+libOmxH264Dec.so 0xA4500000 # [???]
+libOmxVidEnc.so 0xA4400000 # [~1M]
+libopencorehw.so 0xA4300000 # [~1M]
+libOmxVdec.so 0xA4200000 # [~1M]
+libmm-omxcore.so 0xA4100000 # [<64K]
# pv libraries
-libopencore_common.so 0xA6000000
-libqcomm_omx.so 0xA5A00000
+libopencore_common.so 0xA3A00000 # [~7M]
+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
-libcam_ipl.so 0x9F000000
-libwbxml.so 0x9E800000
-libwbxml_jni.so 0x9E400000
-libxml2wbxml.so 0x9E000000
-libdrm1.so 0x9D800000
-libdrm1_jni.so 0x9D400000
-libwapcore.so 0x9D000000
-libstreetview.so 0x9CC00000
-libwapbrowsertest.so 0x9C800000
-libminiglobe.so 0x9C400000
-libearth.so 0x9C000000
-libembunit.so 0x9BC00000
-libneon.so 0x9B800000
-libjni_example.so 0x9B400000
-libjni_load_test.so 0x9B000000
-libjni_lib_test.so 0x9AC00000
-librunperf.so 0x9A800000
-libctest.so 0x9A700000
-libUAPI_jni.so 0x9A500000
-librpc.so 0x9A400000
-libtrace_test.so 0x9A300000
-libsrec_jni.so 0x9A200000
-libjpeg.so 0x9A000000
+libcam_ipl.so 0x9F000000 # [???]
+libwbxml.so 0x9EF00000 # [???]
+libwbxml_jni.so 0x9EE00000 # [~1M]
+libxml2wbxml.so 0x9EB00000 # [~1M]
+libdrm1.so 0x9EA00000 # [~1M]
+libdrm1_jni.so 0x9E900000 # [<64K]
+libwapcore.so 0x9E800000 # [???]
+libstreetview.so 0x9E700000 # [???]
+libwapbrowsertest.so 0x9E600000 # [???]
+libminiglobe.so 0x9E500000 # [???]
+libearth.so 0x9E400000 # [???]
+libembunit.so 0x9E300000 # [<64K]
+libneon.so 0x9E200000 # [???]
+libjni_example.so 0x9E100000 # [???]
+libjni_load_test.so 0x9E000000 # [???]
+libjni_lib_test.so 0x9DF00000 # [???]
+librunperf.so 0x9DE00000 # [???]
+libctest.so 0x9DD00000 # [<64K]
+libUAPI_jni.so 0x9DC00000 # [???]
+librpc.so 0x9DB00000 # [~1M]
+libtrace_test.so 0x9DA00000 # [???]
+libsrec_jni.so 0x9D800000 # [~2M]
+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