History log of /bionic/linker/Android.mk
Revision Date Author Comments
be4348e7c73841766208f4eb771dde1455b26449 15-Aug-2014 Dmitriy Ivanov <dimitry@google.com> Keep symbols for linker

Bug: 17011146

(cherry picked from commit ad5e8b50737144833233d47fe04deb3fa0284df2)

Change-Id: Ib1d3f8d6d38af98586658e01ed1ec79d2c5b4d42
9d98ee17feb63d8bba2c115a0e3228c2558166d4 13-Jun-2014 Chris Dearman <chris.dearman@imgtec.com> [MIPS64] linker64 requires startup code

Change-Id: Iff2cd7d4dc40a67978bd9fc585b86e5a87afdbdd
d286796fce1e6fff407b719a53eb2afbeb96c327 04-Jun-2014 Elliott Hughes <enh@google.com> Turn on -Wunused and fix the mistakes it uncovers.

Change-Id: I023d2d8b547fbc21d4124bb7510d42b06a0dc501
d597d263bc32422402d4810ce4ec070f0227c2f7 06-May-2014 Dmitriy Ivanov <dimitry@google.com> Refactor linker allocator

Makes it reusable for different fixed sized and not very
big structures (<PAGE_SIZE).

Change-Id: Id5ec13fc6541b1935ef7fe3671c22b98685abbae
88b44feb7dd792348f2755c30cc7356509929917 01-Apr-2014 Elliott Hughes <enh@google.com> Remove duplicate line in linker/Android.mk.

Change-Id: I7b4d5fcdfacc840bbda4ffd965e5315c4651cfe5
406a75d371361388fe179950a3de459ae7e16f33 27-Mar-2014 Colin Cross <ccross@android.com> linker: use LOCAL_MULTILIB := both style to build linker64

Use LOCAL_MODULE_STEM_32 and LOCAL_MODULE_STEM_64 to build
linker and linker64. Set LOCAL_MULTILIB := both for consistency
with other rules of this type, although LOCAL_MULTILIB := both is
only consumed by executable.mk which is skipped by
linker_executable.mk. Duplicate the necessary new parts of
executable.mk.

Change-Id: I888e87cf125cfbcfdee6a55b6377d8bc5ce402ea
36ee4ab243427ce20549914fef85b5ca2ac75cda 13-Feb-2014 Colin Cross <ccross@android.com> build linker and linker64 on 64-bit architectures

Change-Id: I400bbaf5a779fc427de4c3d86c66548b0179b10d
7ff07ad3213f3342678d2d03047b2e51d8b81748 13-Jan-2014 Elliott Hughes <enh@google.com> Add -Bsymbolic to the ld flags when linking the dynamic linker.

We don't need this on architectures other than aarch64, and
we're still investigating why we need it on aarch64, but it
doesn't seem unreasonable to have this flag set when linking
the dynamic linker anyway; it's clearly the intended behavior.

Change-Id: I4fa1b4ae543a818979934bf818eabac03bb9154f
e365f9d6543bc6607864ef61257505239dde15d1 10-Oct-2013 Marcus Oakland <marcus.oakland@arm.com> AArch64: Linker64 support for AArch64

Addition of support for AArch64 in the linker64 target.

Change-Id: I8dfd9711278f6706063e91f626b6007ea7a3dd6e
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
4eeb1f12a8b63afc0d0ad4d466b16fbffb21cd5a 26-Oct-2013 Elliott Hughes <enh@google.com> Clean up linker architecture macros.

We don't need our own architecture macros; the standard ones will do.

This patch also fixes some __x86_64__ tests to be USE_RELA tests instead,
because they're not actually x86_64-specific.

I've cleaned up architecture-specific code slightly so where possible
all the code corresponding to a particular architecture is together.

This patch also fixes a bug in LP64 DT_PLTGOT handling, which should be
an error rather than falling through into DT_DEBUG! There was another #ifdef
bug where we'd only report unexpected DT_ entries on MIPS.

Change-Id: Id1d04e372611f641c1aa278a18e379f28af9eaf5
60d5b06eceeef9a21168f1c9f5264e4fc8ed0566 25-Oct-2013 Elliott Hughes <enh@google.com> Simplify defining the linker architecture macro.

Like the new TODO says, though, do we need this at all? Wouldn't we be better
off just using the regular architecture-specific macros? This is a dynamic
linker, so there's never a possibility of cross-linking.

Change-Id: I7be6b8663f5e585c4024a49aae383430c86a3c1b
2258347f3bb770641a7d8fe311911ace8f69cb20 17-Oct-2013 Elliott Hughes <enh@google.com> Build the linker with the same -std flags as the rest of bionic.

Change-Id: I5bdb28ecfdf78a90f6b072077a1c5ffd63f5d2ae
d7398f146dad064dece704db9e13912f65da0acc 08-Oct-2013 Elliott Hughes <enh@google.com> Use linker64 for the 64-bit linker.

Change-Id: I13fc7f93274f99e4cf99b077afdf5293e7233f39
c00f2cb587630d5e954c7f548749f1e3170b3cb1 05-Oct-2013 Elliott Hughes <enh@google.com> x86_64 linker.

Based on I8dc3e2cb596f75dc58ae82e4dc58f8c177dd3323 by
Pavel Chupin <pavel.v.chupin@intel.com>.

Change-Id: Icd582d277cbe273477b450f2848343d72c86ec9f
91a9925998f2b878f0245ce03aab22cc412a4d8b 13-Feb-2013 Elliott Hughes <enh@google.com> Everyone has a TLS register.

Change-Id: Id7cdf67087aa7d5074c9c59b7e595bc391d9f146
1e980b6bc8315d00a07312b25486531247abd98c 18-Jan-2013 Elliott Hughes <enh@google.com> Fix the duplication in the debugging code.

We had two copies of the backtrace code, and two copies of the
libcorkscrew /proc/pid/maps code. This patch gets us down to one.

We also had hacks so we could log in the malloc debugging code.
This patch pulls the non-allocating "printf" code out of the
dynamic linker so everyone can share.

This patch also makes the leak diagnostics easier to read, and
makes it possible to paste them directly into the 'stack' tool (by
using relative PCs).

This patch also fixes the stdio standard stream leak that was
causing a leak warning every time tf_daemon ran.

Bug: 7291287
Change-Id: I66e4083ac2c5606c8d2737cb45c8ac8a32c7cfe8
d89ce40d8e6b4a6a8074a6fddca9570abbfa4b9d 17-Jan-2013 Nick Kralevich <nnk@google.com> linker: add -Wl,--exclude-libs,ALL to LDFLAGS

The linker is essentially a shared library, and incorporates
it's own copy of libc. Even though it's unnecessary, currently
/system/bin/linker is exporting various libc symbols (only to
apps which explicitly dlopen /system/bin/linker)

Add --exclude-libs,ALL, which tells the static linker to mark
all of the imported libc symbols as hidden. This reduces the
size of /system/bin/linker from 92K to 67K with no obvious
loss in functionality.

$ adb shell ls -l /system/bin/linker
-rwxrwxrwx root root 92260 2013-01-16 16:52 linker

$ adb shell ls -l /system/bin/linker
-rwxrwxrwx root root 67660 2013-01-16 16:49 linker

Documentation on exclude-libs can be found at
http://sourceware.org/binutils/docs-2.21/ld/Options.html

Change-Id: I4508287770e4b7a845def2e6b4af969f9c866c6a
e66190d2a97a713ae4b4786e60ca3d67ab8aa192 19-Dec-2012 Elliott Hughes <enh@google.com> Check for unknown flags passed to dlopen(3).

Change-Id: I56f4aab0e5a1487bc32d2c4d231e8bd15c4ac8da
20c4a3a8eee5ca8c87ae377732f541baffce1fda 28-Nov-2012 Pavel Chupin <pavel.v.chupin@intel.com> Replace .S version of x86 crtfiles with .c version

This patch replaces .S versions of x86 crtfiles with .c which are much
easier to support. Some of the files are matching .c version of Arm
crtfiles. x86 files required some cleanup anyway and this cleanup actually
led to matching Arm files.

I didn't change anything to share the same crt*.c between x86 and Arm. I
prefer to keep them separate for a while in case any change is required
for one of the arch, but it's good thing to do in the following patches.

Change-Id: Ibcf033f8d15aa5b10c05c879fd4b79a64dfc70f3
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
61a9ccb41eba8c35cae6e21318aca7160a402c5b 02-Nov-2012 Elliott Hughes <enh@google.com> Make dynamic linker debugging always available.

If you need to build your own linker to get debugging, the debugging
is never available when you need it.

Change-Id: I5ff7e55753459d49a2990f25d9aa155e0b8602e0
18a206c81d9743481e364384affd43306911283d 30-Oct-2012 Elliott Hughes <enh@google.com> More dynamic linker cleanup.

I still want to break linker_format out into its own library so we can reuse
it for malloc debugging and so forth. (There are many similar pieces of code
in bionic, but the linker's one seems to be the most complete/functional.)

Change-Id: If3721853d28937c8e821ca1d23cf200e228a409a
3b297c40794b23d50cb5240f9b03f6ef25fd98db 12-Oct-2012 Elliott Hughes <enh@google.com> Fix dlerror(3).

Add unit tests for dlerror(3) in various situations. I think We're at least
as good as glibc now.

Also factor out the ScopedPthreadMutexLock and use it here too.

Bug: http://code.google.com/p/android/issues/detail?id=38398
Change-Id: I040938b4366ab836e3df46d1d8055b92f4ea6ed8
2c287e9510ec1d379b3cd779651b595dafb6a2ff 26-Sep-2012 Ying Wang <wangying@google.com> Set up the private variables.

Now we use private variables in transform-o-to-executable to support
build executables against the NDK.
Cherry-picked from master.

Bug: 7170098
Change-Id: Ic8f1d36a116fce24f3ea6a3ff5e9bfab6cafee99
b04598a63c3f0df597f6186beea3adafc665ef56 26-Sep-2012 Ying Wang <wangying@google.com> Set up the private variables.

Now we use private variables in transform-o-to-executable to support
build executables against the NDK.

Bug: 7170098
Change-Id: I6e505b33001b76f4b11fcbbb1d35392c4ddf4c70
f680b0f4049b4864f7d5d0e1a59aec2ce8d9de74 26-Sep-2012 Ying Wang <wangying@google.com> Set up the private variables.

Now we use private variables in transform-o-to-executable to support
build executables against the NDK.

Bug: 7170098
Change-Id: I6e505b33001b76f4b11fcbbb1d35392c4ddf4c70
ae5c64413bf72bc18d7fc81e1f5761824bc01f49 13-Aug-2012 Elliott Hughes <enh@google.com> Add dependencies on all the makefiles.

This should help prevent broken builds next time I'm messing with
assembler/compiler/linker flags...

Change-Id: I30f15a3ce3c3f3c60cad7bc59aaba9f42d792224
c97c5fc7880267fd835d22946a920bf370461cf2 11-Aug-2012 Ying Wang <wangying@google.com> Split out LOCAL_ASFLAGS.

Bug: 6967574
Change-Id: I5be50d582c1cb8075039b06292cf0745a996c3c4
4688279db5dcc4004941e7f133c4a1c3617d842c 04-Aug-2012 Elliott Hughes <enh@google.com> Clean up the linker a bit, remove prelinking support.

Also make the errors more readable, since none of us seemed to know
what they actually meant. The new style is still as verbose as the
old, but that's probably necessary in the absence of chained exceptions
in C. Here's what you'd see if you try to boot after removing
libsurfaceflinger.so:

32267 32267 E AndroidRuntime: java.lang.UnsatisfiedLinkError: Cannot load library: (linker.c:1629, pid 32259) soinfo_link_image: could not load library "libsystem_server.so" needed by "libandroid_servers.so"; caused by (linker.c:1629, pid 32259) soinfo_link_image: could not load library "libsurfaceflinger.so" needed by "libsystem_server.so"; caused by (linker.c:709, pid 32259) load_library: library "libsurfaceflinger.so" not found

This patch also fixes almost all of the compiler warnings.

Change-Id: I64bb59aed6d4e039c15ea45be2367f319ef879f8
d7daacb46372132ae3f0121647074936c304b572 31-Jul-2012 Raghu Gandham <raghu@mips.com> MIPS support to the linker

Change-Id: I37ec2d6c51d82bb9e9dbfef4b38c85366bead255
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Raghu Gandham <raghu@mips.com>
Signed-off-by: Bhanu Chetlapalli <bhanu@mips.com>
856512ea9c933c5fe0fff14ee123496730df6b19 16-Jul-2012 Elliott Hughes <enh@google.com> Use std=gnu99 for the dynamic linker as well as libc.

Change-Id: I76dd78576c5af6eb6282555f069647b6260edc31
c1bd559d5b0fdcc25db2b6ae2705914103b24699 19-Jun-2012 David 'Digit' Turner <digit@google.com> linker: New sources to manage the ELF program header table.

This patch introduces two new source files containing a set of functions
to manage the program header table in an ELF binary, including the ability
to load PT_LOAD segments, and apply PT_GNU_RELRO protection.

Note: the files are not used currently, this will appear in a series
of future patches that will gradually modify linker.c to use
the phdr_table_xxx functions properly.

Change-Id: Ia3d4c1ff5fc3e265d8258b64b492f4e643f51bdc
6973e3da873c5694d0011734c7c6841a46150cb1 20-Jun-2012 Andrew Hsieh <andrewhsieh@google.com> Define __stack_chk_fail_local.S

With -fstack-protector, x86 -m32 needs __stack_chk_fail_local
defined in crtbegin_*.o.

Include __stack_chk_fail_local.S in begin.S otherwise linker
(which is built w/o crt*) may not link.

Change-Id: Id242fcf3eff157264afe3b04f27288ab7991220a
dcbc3787bfb9a272a010f13ac149d546b4b741d8 12-Nov-2011 Nick Kralevich <nnk@google.com> Make the linker relocatable.

Previously, the linker always loaded itself into the same
location in memory, which inhibited the effectiveness of Android's
ASLR implementation. Modify the linker code so it can be relocatable
and link itself at runtime.

Change-Id: Ia80273d7a00ff648b4da545f4b69debee6343968
e742c1f5649d3298cd98d8cc8e62d0cd10be0e82 04-Nov-2011 Nick Kralevich <nnk@google.com> linker: set LOCAL_NO_CRT := true

Use LOCAL_NO_CRT to prevent linking against crtbegin.o, rather than
messing with build rules. This also prevents linking against crtend.o,
which isn't needed for the linker.

Change-Id: I0c5b9999be7e8676560fe145c1c033ffce8db4d1
3a7ea52f17b68f62fa088d57f96ff24a76f50ea2 04-Apr-2012 Nick Kralevich <nnk@google.com> linker: enable -fvisibility=hidden

Compile the linker with -fvisibility=hidden. This reduces the number
of symbols that show up in the .dynsym section of the linker.
These symbols are never exported to other applications.

In particular, this fixes a problem with setting -DLINKER_DEBUG=1
introduced in 468319ce4f3f7383d788b76c09cda2a405311f36.
Because the symbols "debug_verbosity" and "format_log" have not been
resolved before the linker links itself, any attempt to call
PRINT / INFO / TRACE / WARN / ERROR will result in a segfault.
This change allows the static linker to produce a relative reference
to these symbols rather than relying on relocation.

This also has a nice side effect of making the linker slightly smaller
and slightly more optimized.

The following symbols no longer in the .dynsym section of the linker
after this change:

-addr_to_name
-call_constructors_recursi
-calloc
-debugger_init
-debugger_signal_handler
-debug_verbosity
-dladdr
-dlclose
-dlerror
-dl_lock
-dlopen
-dlsym
-dl_unwind_find_exidx
-find_containing_library
-find_containing_symbol
-find_library
-format_buffer
-free
-libdl_info
-linker_env_get
-linker_env_init
-linker_env_secure
-linker_env_unset
-linker_get_error
-__linker_init
-lookup
-lookup_in_library
-malloc
-notify_gdb_of_libraries
-notify_gdb_of_load
-notify_gdb_of_unload
-realloc
-rtld_db_dlactivity
-unload_library
-vsnprintf

Bug: 5827809
Change-Id: I5e8cd7dcf48c1d6831a970a67f63f24916c5e437
9ec0f03a0d0b17bbb94ac0b9fef6add28a133c3a 28-Feb-2012 Nick Kralevich <nnk@google.com> Add relro support

Add support for PT_GNU_RELRO. This allows the static linker to
indicate that certain regions of memory should be marked as
"read-only" after dynamic linking is complete.

See:
* http://www.akkadia.org/drepper/nonselsec.pdf (section 6)
* http://tk-blog.blogspot.com/2009/02/relro-not-so-well-known-memory.html

Note that this change has no effect on Android right now, because
we don't compile our code with relro enabled.

Change-Id: I6541f8775367e8558b4388f7d105b1ae6e8f046b
70b1668a76d3b719ae690903ea790fda964a5458 30-Jan-2012 David 'Digit' Turner <digit@google.com> remove obsolete SuperH support

We don't have a toolchain anymore, we don't have working original
kernel headers, and nobody is maintaining this so there is really
no point in keeping this here. Details of the patch:

- removed code paths from Android.mk files related to the SuperH
architecture ("sh")

- removed libc/arch-sh, linker/arch-sh, libc/kernel/arch-sh

- simplified libc/SYSCALLS.TXT

- simplified the scripts in libc/tools/ and libc/kernel/tools

Change-Id: I26b0e1422bdc347489e4573e2fbec0e402f75560

Signed-off-by: David 'Digit' Turner <digit@android.com>
468319ce4f3f7383d788b76c09cda2a405311f36 12-Nov-2011 Nick Kralevich <nnk@google.com> Make the linker relocatable.

Previously, the linker always loaded itself into the same
location in memory, which inhibited the effectiveness of Android's
ASLR implementation. Modify the linker code so it can be relocatable
and link itself at runtime.

Change-Id: Ia80273d7a00ff648b4da545f4b69debee6343968
7939908c8310342c8e1b717c4599273a782b3c2b 04-Nov-2011 Nick Kralevich <nnk@google.com> linker: set LOCAL_NO_CRT := true

Use LOCAL_NO_CRT to prevent linking against crtbegin.o, rather than
messing with build rules. This also prevents linking against crtend.o,
which isn't needed for the linker.

Change-Id: I0c5b9999be7e8676560fe145c1c033ffce8db4d1
8e8a7b1f0fb9daf8d4434e18a9fff5c28f849cb8 03-Nov-2011 Nick Kralevich <nnk@google.com> Revert "Make the linker relocatable."

This reverts commit 994e9a5ed1c4e9f23a8bed79caea684eaa270027.

Broke x86 build.
994e9a5ed1c4e9f23a8bed79caea684eaa270027 01-Nov-2011 Nick Kralevich <nnk@google.com> Make the linker relocatable.

Previously, the linker always loaded itself into the same
location in memory, which inhibited the effectiveness of Android's
ASLR implementation. Modify the linker code so it can be relocatable
and link itself at runtime.

Change-Id: I90d064743abdd29450ac0482ed28752b2196286c
48527c3f740a80b45acb5a6efc217f771ae50143 17-Jul-2011 Shih-wei Liao <sliao@google.com> Revert "Revert "linker: get rid of the buddy allocator""

This reverts commit f9a9cda23a6afc1c2dfdfd624cde23b61941eb5e.
This revert is promised once b/5039224, b/5036755, b/5036610 are resolved.
f9a9cda23a6afc1c2dfdfd624cde23b61941eb5e 16-Jul-2011 Nick Kralevich <nnk@google.com> Revert "linker: get rid of the buddy allocator"

This reverts commit 7059b1f02ea9197728c851edd9ae0dd7688fa700.
Bug: 5036610
7059b1f02ea9197728c851edd9ae0dd7688fa700 14-Jul-2011 Nick Kralevich <nnk@google.com> linker: get rid of the buddy allocator

Currently, the Android linker is placing shared libraries into
a well-known spot in memory. This is interfering with the kernel's
ASLR support.

This change stops forcing non-prelinked libraries into a particular
address space.

Also, get rid of FLAG_PRELINKED. As best I can tell, this flag
is never used.

Change-Id: I527af12fb54f821c2b5ca7693dbf63d022f8f4ae
a0aec0bd3083280dcba0c3aaba39602425228e2a 04-May-2011 Bruce Beare <bruce.j.beare@intel.com> x86: Enable -fstack-protector

Change-Id: Iff9e3a3ba0e2d0faa7c6d98154aa5be0cc8a6c50
Orig-Change-Id: Ib69514c3afcb4c1f5e5f3f8cd91acfd145a0866c
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
a903811819c06e4d6e9e27fcc9db3ab5459009bc 07-Jun-2011 Martijn Coenen <maco@google.com> Revert "x86: Enable -fstack-protector"

This reverts commit e0b4844a20ffd022a568abb4203b3f7c759c7ff5,
causes netd to crash.
e0b4844a20ffd022a568abb4203b3f7c759c7ff5 04-May-2011 Bruce Beare <bruce.j.beare@intel.com> x86: Enable -fstack-protector

Change-Id: Ib69514c3afcb4c1f5e5f3f8cd91acfd145a0866c
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
368070454b1349d1fcf29a5d1eb51c869fb538f6 14-Mar-2011 Iliyan Malchev <malchev@google.com> bionic: remove LOCAL_PRELINK_MODULE

Change-Id: Iad65ae18446b20d2aace7b8fe19b1a032b616e9c
Signed-off-by: Iliyan Malchev <malchev@google.com>
be5755969d70668bbab0e0c0ed75ebd867189723 16-Dec-2010 David 'Digit' Turner <digit@google.com> linker: Remove unsecure env. variable for setuid programs.

This removes several unsecure environment variables from the
environment block when the program being loaded is setuid. The
list of env. variables is the same than what GLibc uses at this
point.

Change-Id: I456d3ea0880fe0d4de0d3c5dd51871dd36e87fd6
8bff9a31aa13ff83ccaedd54ebda96770e6cf910 11-Jun-2010 David 'Digit' Turner <digit@google.com> linker: remove libcutils dependency by re-implementing simpler socket_local_client.

Change-Id: I87f29fd59454d713b9ddfb13e6cf114822f52efd
5c734644eebf8d01be1e86cbe20a111a5c5a2738 20-Jan-2010 David 'Digit' Turner <digit@google.com> Fix debug output in the dynamic linker.

This provides a mini-printf implementation that reduces the
size of the dynamic linker by 25 KB, by preventing the drag of
formatting-related routines from the C library.

Also allow traces to be sent to the log, instead of stdout.

NOTE: You now need to modify Android.mk to enable/disable debug
output.
90f82e5868de5a30d4842951b80be0c8a9cedc6d 25-Jan-2010 Doug Kwan <dougkwan@google.com> Fix typo in a comment.
1a2917ca954f575cc9698c99e54bd93087793c8f 25-Jan-2010 Doug Kwan <dougkwan@google.com> Align TEXT section to 4K boundary so that we can use both ld and gold.
278d157f437c0357b7c6d1fb1cbffbc0a72bb788 30-Sep-2009 Gary King <gking@nvidia.com> Use correct TLS codepath for linker

Replicate ARM libc build's HAVE_ARM_TLS_REGISTER preprocessor definition
logic, to ensure that the runtime linker uses the correct codepath for
accessing the TLS address
ad13c57298e57d33c130fb03a2c6494da573408c 06-Nov-2009 Shin-ichiro KAWASAKI <shinichiro.kawasaki.mg@hitachi.com> added and modified linker to support SuperH architecture
2e85579c34047c305caf15fb0ebe02bf3d001d0e 21-May-2009 Dima Zavin <dima@android.com> linker: Make the errors reported by dlopen/dlsym be more useful.

Changed it so that when the linker generates error messages, they are
scribbled away into a buffer that dlfcn and friends can read from.

Since the error messages are generetad with snprintf, and snprintf
MAY call malloc during some code paths, we now link against a version
of libc that does not contain malloc/free/realloc/calloc. We then define
malloc and friends in the dynamic loader, and make them abort() if they
are ever called.

Signed-off-by: Dima Zavin <dima@android.com>
1dc9e472e19acfe6dc7f41e429236e7eef7ceda1 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
1767f908af327fa388b1c66883760ad851267013 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
a799b53f10e5a6fd51fef4436cfb7ec99836a516 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
fe5745033a4f397c62a4e00efd9257ac9f83755c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
e5cc1f386b167b9f7bfdebc7219e89aa9b71e4b2 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution