OSDN Git Service
Elliott Hughes [Wed, 2 Jul 2014 00:17:46 +0000 (17:17 -0700)]
Build all bionic test files -Werror and fix our one warning.
Change-Id: I62bb0528fd1bcb9aa4c61e44c78158a592690fc7
Dmitriy Ivanov [Tue, 1 Jul 2014 22:59:07 +0000 (22:59 +0000)]
Merge "Native tests are now multilib=both by default"
Dmitriy Ivanov [Tue, 1 Jul 2014 22:38:22 +0000 (15:38 -0700)]
Native tests are now multilib=both by default
Change-Id: I788ac0b871703c137727a65e017c4466127c0190
Dmitriy Ivanov [Tue, 1 Jul 2014 21:57:16 +0000 (21:57 +0000)]
Merge "Write message to stderr on __libc_fatal()"
Dmitriy Ivanov [Tue, 1 Jul 2014 21:24:45 +0000 (14:24 -0700)]
Write message to stderr on __libc_fatal()
Change-Id: Ia8d6e256768fa51786d0139d3f3b6e9e4bebe027
Dmitriy Ivanov [Tue, 1 Jul 2014 21:22:51 +0000 (21:22 +0000)]
Merge "Add support for protected local symbol lookup."
Dmitriy Ivanov [Sun, 29 Jun 2014 19:28:37 +0000 (12:28 -0700)]
Add support for protected local symbol lookup.
Bug: http://code.google.com/p/android/issues/detail?id=66048
Change-Id: Ib334223df27adad9477fb241ab099c5e26df4a7d
Elliott Hughes [Tue, 1 Jul 2014 18:59:46 +0000 (18:59 +0000)]
Merge "Fix a warning in if_indextoname.c."
Elliott Hughes [Tue, 1 Jul 2014 18:13:25 +0000 (11:13 -0700)]
Fix a warning in if_indextoname.c.
Change-Id: Ib6afe2a5452022f5c98ec28fd110d6b910dccdad
Dan Albert [Tue, 1 Jul 2014 22:41:13 +0000 (22:41 +0000)]
Merge "Revert "Revert "Prevent symbols from libgcc from being reexported."""
Christopher Ferris [Tue, 1 Jul 2014 02:41:30 +0000 (02:41 +0000)]
Merge "Add optimized stpcpy."
Nick Kralevich [Mon, 30 Jun 2014 23:10:35 +0000 (23:10 +0000)]
Merge "add CLOEXEC to various DNS related code"
Elliott Hughes [Mon, 30 Jun 2014 23:03:21 +0000 (23:03 +0000)]
Merge "Restore <nsswitch.h> which is BSD API, not private."
Elliott Hughes [Mon, 30 Jun 2014 21:15:34 +0000 (14:15 -0700)]
Restore <nsswitch.h> which is BSD API, not private.
Also make nsdispatch non-hidden. Firefox uses it.
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=
1030899
Change-Id: Iaccc1ec813d196ec91ac475fcc4ae9dca756861d
Christopher Ferris [Fri, 27 Jun 2014 22:26:15 +0000 (15:26 -0700)]
Add optimized stpcpy.
Change-Id: Ifed38f92a54fef4488fd0ed26a1569059a054574
Christopher Ferris [Mon, 30 Jun 2014 19:56:01 +0000 (19:56 +0000)]
Merge "Add extra strchr testing."
Christopher Ferris [Fri, 27 Jun 2014 19:33:22 +0000 (12:33 -0700)]
Add extra strchr testing.
Change-Id: Idd0a779eb3388e402cfcb4e0df40872320f8e155
Elliott Hughes [Mon, 30 Jun 2014 19:28:10 +0000 (19:28 +0000)]
Merge "Switch to upstream NetBSD nsap_addr.c."
Elliott Hughes [Mon, 30 Jun 2014 19:03:43 +0000 (12:03 -0700)]
Switch to upstream NetBSD nsap_addr.c.
These symbols should be public (and Firefox uses them), and we'd also probably
rather have the upstream thread-safe implementation.
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=
1030899
Change-Id: I2a5888fbb3198546848398f576fd2195ff3fe00c
Nick Kralevich [Mon, 30 Jun 2014 03:46:17 +0000 (20:46 -0700)]
add CLOEXEC to various DNS related code
Occasionally file descriptors seem to be leaking across execs
from DNS related calls. Set close-on-execute for the various
sockets / file to prevent file descriptor leakage.
Change-Id: I4724b47bc7236f40c29518a6075598a9bba48b0a
Elliott Hughes [Tue, 1 Jul 2014 18:07:58 +0000 (18:07 +0000)]
Merge "Silence time64.c build warnings."
Elliott Hughes [Tue, 1 Jul 2014 17:48:23 +0000 (10:48 -0700)]
Silence time64.c build warnings.
Change-Id: Ibc5672480ee5e72eedf2bc29e420315b5346b0df
Colin Cross [Sat, 28 Jun 2014 00:39:33 +0000 (00:39 +0000)]
Merge "Revert "HACK: linker: check for handle==0xffffffff on LP64""
Dmitriy Ivanov [Mon, 30 Jun 2014 17:53:49 +0000 (17:53 +0000)]
Merge "Disallow dlopen("egl/blah.so") on LP64"
Dmitriy Ivanov [Sun, 29 Jun 2014 20:00:23 +0000 (13:00 -0700)]
Disallow dlopen("egl/blah.so") on LP64
Bug:
7465467
Change-Id: Ibd3a4f1a6095f4397bde4f656e3c11b67f7edd47
Elliott Hughes [Mon, 30 Jun 2014 21:55:34 +0000 (21:55 +0000)]
Merge "Reinstate the x86 dynamic linker warning for text relocations."
Elliott Hughes [Mon, 30 Jun 2014 21:46:53 +0000 (14:46 -0700)]
Reinstate the x86 dynamic linker warning for text relocations.
Bug:
11358761
Change-Id: I4fc56ce7d76c9703a307ddd4d371d5e98bc6f51d
Christopher Ferris [Fri, 27 Jun 2014 22:25:05 +0000 (22:25 +0000)]
Merge "Add optimized 64 bit strcpy."
Christopher Ferris [Thu, 26 Jun 2014 22:27:08 +0000 (15:27 -0700)]
Add optimized 64 bit strcpy.
Change-Id: I4ac12735a53c3ae9336b148ce694fe6c63613139
Elliott Hughes [Fri, 27 Jun 2014 21:15:07 +0000 (21:15 +0000)]
Merge "asm/sigcontext.h is required to build unwind-dw2.c in gcc-4.9."
Christopher Ferris [Fri, 27 Jun 2014 19:39:08 +0000 (19:39 +0000)]
Merge "Add optimized neon strchr implementation based on newlib"
Bernhard Rosenkränzer [Fri, 27 Jun 2014 11:21:42 +0000 (13:21 +0200)]
Add optimized neon strchr implementation based on newlib
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Change-Id: I276ff0f879e733a1115456247e1342b9c5a09015
Raghu Gandham [Thu, 26 Jun 2014 00:58:48 +0000 (17:58 -0700)]
asm/sigcontext.h is required to build unwind-dw2.c in gcc-4.9.
Change-Id: Ie36b68d1260a656056f66a67750232a7da78c61f
Signed-off-by: Steve Ellcey <steve.ellcey@imgtec.com>
Elliott Hughes [Wed, 25 Jun 2014 20:54:14 +0000 (20:54 +0000)]
Merge "Add a new pthread_key_delete test."
Elliott Hughes [Wed, 25 Jun 2014 20:46:46 +0000 (13:46 -0700)]
Add a new pthread_key_delete test.
Bug: https://code.google.com/p/android/issues/detail?id=66813
Change-Id: Ida87bc1fb15a73a08c223a7099456d9f049cd3c5
Elliott Hughes [Wed, 25 Jun 2014 19:19:44 +0000 (19:19 +0000)]
Merge "Change the LP64 off_t/loff_t/off64_t definitions to reduce warnings."
Elliott Hughes [Wed, 25 Jun 2014 19:09:11 +0000 (12:09 -0700)]
Change the LP64 off_t/loff_t/off64_t definitions to reduce warnings.
Code written for glibc can be sloppy about these types on LP64 and
get away with it. It's probably better for our users if these types
are identical rather than just being the same size.
Change-Id: I3dd116d80569d2d101342a552c55f4a18884025b
Elliott Hughes [Wed, 25 Jun 2014 02:04:10 +0000 (02:04 +0000)]
Merge "Add splice, tee, and vmsplice."
Elliott Hughes [Tue, 24 Jun 2014 23:32:01 +0000 (16:32 -0700)]
Add splice, tee, and vmsplice.
Change-Id: I5f43380b88d776a8bb607b47dbbc5db5a2fe6163
Elliott Hughes [Tue, 24 Jun 2014 21:24:55 +0000 (21:24 +0000)]
Merge "Sync to current upstream arc4random."
Elliott Hughes [Sat, 21 Jun 2014 05:49:20 +0000 (22:49 -0700)]
Sync to current upstream arc4random.
This is actually revision 1.33, which is no longer the latest, but it's
as close to head as we can currently reasonably get. I've also switched
to the OpenBSD getentropy_linux.c implementation of getentropy, lightly
modified to try to report an error on failure.
Bug:
14499627
Change-Id: Ia7c561184b1f366c9bf66f248aa60f0d53535fcb
Elliott Hughes [Tue, 24 Jun 2014 16:36:31 +0000 (16:36 +0000)]
Merge "Fix getpid caching across a clone."
Calin Juravle [Tue, 24 Jun 2014 10:54:53 +0000 (10:54 +0000)]
Merge "Prefix cmsg_nxthdr with "__"."
Calin Juravle [Thu, 19 Jun 2014 17:16:17 +0000 (18:16 +0100)]
Prefix cmsg_nxthdr with "__".
This brings us on par with glibc.
To avoid breaking clients, temporary keep cmsg_nxthdr until the next NDK
refresh.
Bug:
15822452
Change-Id: I24c24e68c31f4f2b8f3d2df7acd575cb75174173
Dan Albert [Tue, 24 Jun 2014 04:31:08 +0000 (04:31 +0000)]
Revert "Revert "Prevent symbols from libgcc from being reexported.""
This reverts commit
4e4e1a5d78ff6dd9394b9b116c012046da409e99.
Change-Id: I8e78c3a59598e052e02965dd37b3fba8f567eed9
Elliott Hughes [Tue, 24 Jun 2014 00:49:45 +0000 (17:49 -0700)]
Fix getpid caching across a clone.
If you make clone, fork, or vfork system calls directly, you're still
on your own, but we now do the right thing for the clone wrapper.
With this implementation, children lose the getpid caching, but we've
no reason to think that that covers any significant use cases.
Bug:
15387103
Change-Id: Icfab6b63c708fea830960742ec92aeba8ce7680d
Dan Albert [Mon, 23 Jun 2014 20:12:05 +0000 (20:12 +0000)]
Revert "Prevent symbols from libgcc from being reexported."
This reverts commit
65e80cf62200085f72c1c081aea2d6e9b800cde2.
Change-Id: I5f94b123f73db8d0b03cd71a5cffa0662776a017
Dan Albert [Mon, 23 Jun 2014 21:11:50 +0000 (21:11 +0000)]
Merge "Revert "Prevent symbols from libgcc from being reexported.""
Dan Albert [Thu, 19 Jun 2014 00:18:33 +0000 (17:18 -0700)]
Prevent symbols from libgcc from being reexported.
Since this was not done earlier, there are binary compatibility concerns
that prevent us from being able to apply this to LP32.
Bug:
11156955
Change-Id: Ie717c3ae4b81c749548a45a993c834e109700b27
Dan Albert [Sat, 21 Jun 2014 07:59:57 +0000 (07:59 +0000)]
Merge "Prevent symbols from libgcc from being reexported."
Dan Albert [Sat, 21 Jun 2014 04:43:24 +0000 (04:43 +0000)]
Merge "Remove SHA1 from LP64 in favor of libcrypto."
Christopher Ferris [Sat, 21 Jun 2014 00:58:04 +0000 (00:58 +0000)]
Merge "[MIPS64] Regenerate mips kernel headers with fixed tool"
Duane Sand [Thu, 19 Jun 2014 22:39:29 +0000 (15:39 -0700)]
[MIPS64] Regenerate mips kernel headers with fixed tool
Change-Id: I530891123cba78edbea4aa8af88390213711ab16
Duane Sand [Thu, 19 Jun 2014 21:38:07 +0000 (14:38 -0700)]
[MIPS64] Adjust kernel/tools for mips32,mips64 headers
Define CONFIG_32BIT as _ABIO32 rather than as 1;
it needs to be undefined for calls from mips64.
We need defined(CONFIG_32BIT) == !defined(CONFIG_64BIT),
and get that via defined(_ABIO32) == !defined(__LP64__).
Define CONFIG_CPU_LITTLE_ENDIAN to get correctly-placed
struct msqid64_ds fillers on ipc calls from mips32.
Without this, big-endian fillers were erroneously used.
This bug exists in prior mips32 Android releases.
Define __SANE_USERSPACE_TYPES__ to use int_ll64.h
rather than int_ll64.h on mips64.
This depends on external/kernel-headers patch
https://android-review.googlesource.com/#/c/98915/
http://patchwork.linux-mips.org/patch/6890/
Change-Id: If65fa80746533723cdf46eebe95733bea7ce24ba
Christopher Ferris [Sat, 21 Jun 2014 00:57:51 +0000 (00:57 +0000)]
Merge "[MIPS64] Adjust kernel/tools for mips32,mips64 headers"
Dan Albert [Mon, 23 Jun 2014 17:02:40 +0000 (17:02 +0000)]
Merge "Use __builtin_*_chk for bcopy/bzero."
Dan Albert [Sun, 22 Jun 2014 01:04:54 +0000 (18:04 -0700)]
Use __builtin_*_chk for bcopy/bzero.
Replacing memmove/memset with their builtin check equivalents fixes an
implicit definition warning when only including strings.h.
Change-Id: I74f03b9506ea37f5c2f9c11498e379a70998b430
Elliott Hughes [Fri, 20 Jun 2014 18:47:46 +0000 (18:47 +0000)]
Merge "Cache getpid."
Elliott Hughes [Thu, 19 Jun 2014 23:39:01 +0000 (16:39 -0700)]
Cache getpid.
In practice, with this implementation we never need to make a system call.
We get the main thread's tid (which is the same as our pid) back from
the set_tid_address system call we have to make during initialization.
A new pthread will have the same pid as its parent, and a fork child's
main (and only) thread will have a pid equal to its tid, which we get for
free from the kernel before clone returns.
The only time we'd actually have to make a getpid system call now is if
we take a signal during fork and the signal handler calls getpid. (That,
or we call getpid in the dynamic linker while it's still dealing with its
own relocations and hasn't even set up the main thread yet.)
Bug:
15387103
Change-Id: I6d4718ed0a5c912fc75b5f738c49a023dbed5189
Elliott Hughes [Thu, 19 Jun 2014 23:09:03 +0000 (23:09 +0000)]
Merge "Expose tzname, daylight, and timezone."
Elliott Hughes [Thu, 19 Jun 2014 23:08:03 +0000 (16:08 -0700)]
Expose tzname, daylight, and timezone.
These were accidentally hidden.
Bug:
11156955
Change-Id: I380f00bdafa547aea13d4634f3de9ec6f0b50a6f
Elliott Hughes [Thu, 19 Jun 2014 22:25:00 +0000 (22:25 +0000)]
Merge "Build tzcode with hidden visibility."
Elliott Hughes [Thu, 19 Jun 2014 21:49:30 +0000 (14:49 -0700)]
Build tzcode with hidden visibility.
Bug:
11156955
Change-Id: Ib98d837b56cbbdfd01687cb3054fe3103eec0da9
Elliott Hughes [Thu, 19 Jun 2014 21:20:33 +0000 (21:20 +0000)]
Merge "Fix arm64 localtime.c build."
Elliott Hughes [Thu, 19 Jun 2014 21:19:24 +0000 (14:19 -0700)]
Fix arm64 localtime.c build.
I'm sick of having so many different compilers.
Change-Id: I9088c38df2504e2b827d0ce5ba0fa551ae48f8f9
Dan Albert [Thu, 19 Jun 2014 04:03:11 +0000 (04:03 +0000)]
Merge "Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64.""
Dan Albert [Thu, 19 Jun 2014 03:57:05 +0000 (03:57 +0000)]
Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64."
This reverts commit
dd4ad5c463c9bd479e8acf81227708717aafe204.
Change-Id: If3c9771825e460ce68604082f4feb0ca783e56c6
Dan Albert [Wed, 18 Jun 2014 18:44:00 +0000 (11:44 -0700)]
Hide _tolower_tab_ and _toupper_tab_ on LP64.
We can't hide them on LP32 because they appeared in NDK headers.
Bug:
11156955
Change-Id: I22bf5a0f4d330c04b49565bc598cd0568128d4fc
Dan Albert [Wed, 18 Jun 2014 01:15:15 +0000 (01:15 +0000)]
Merge "Hide declaration of gets(3) for C11 and later."
Dan Albert [Tue, 17 Jun 2014 23:31:21 +0000 (23:31 +0000)]
Hide declaration of gets(3) for C11 and later.
gets(3) was removed from C11.
This reverts commit
1291680c2a0c23b2163198d27e00261ca206298b.
Bug:
14500800
Change-Id: I5e5146bdbb80f2be818a17f287b112bab37d1f6d
Elliott Hughes [Thu, 19 Jun 2014 21:16:37 +0000 (21:16 +0000)]
Merge "Build tzcode with -Werror."
Elliott Hughes [Thu, 19 Jun 2014 20:54:10 +0000 (13:54 -0700)]
Build tzcode with -Werror.
Parts of this are just getting us in sync with upstream, but the
'const' stuff is our own mess. We should kill the *_tz functions
and lose this difference from upstream.
Change-Id: I17d26534ed3f54667143d78147a8c53be56d7b33
Christopher Ferris [Wed, 18 Jun 2014 21:41:49 +0000 (21:41 +0000)]
Merge "Move common macros into bionic_macros.h."
Christopher Ferris [Fri, 13 Jun 2014 20:57:51 +0000 (13:57 -0700)]
Move common macros into bionic_macros.h.
Bug:
15590152
Change-Id: I730636613ef3653f68c5ab1d43b53beaf8e0dc25
Dan Albert [Wed, 18 Jun 2014 20:51:26 +0000 (20:51 +0000)]
Merge "Hide _tolower_tab_ and _toupper_tab_ on LP64."
Elliott Hughes [Thu, 19 Jun 2014 18:03:40 +0000 (18:03 +0000)]
Merge "Update localtime.c."
Elliott Hughes [Thu, 19 Jun 2014 02:46:25 +0000 (19:46 -0700)]
Update localtime.c.
This brings us closer to upstream's ToT localtime.c; our main interest
being their alternative fix for the stack usage we addressed in commit
8a8b0c9bfcd80c67154ed2aca1e60d815c822acb.
Bug:
14468519
Change-Id: Ic28600115afda7f3158d91255edf422678bac082
Dan Albert [Wed, 18 Jun 2014 20:20:26 +0000 (20:20 +0000)]
Merge "Hide __atexit and remove __atexit_invalid."
Dan Albert [Wed, 18 Jun 2014 16:41:33 +0000 (09:41 -0700)]
Hide __atexit and remove __atexit_invalid.
Bug:
11156955
Change-Id: I8c72edee8ecb92b75a282384277253bae19f7455
Christopher Ferris [Thu, 19 Jun 2014 17:59:03 +0000 (17:59 +0000)]
Merge "add 64-bit bionic implementation for denver arch"
Nick Kralevich [Thu, 19 Jun 2014 17:04:12 +0000 (17:04 +0000)]
Merge "Reenable support for non-PIE executables"
Nick Kralevich [Thu, 19 Jun 2014 15:08:12 +0000 (08:08 -0700)]
Reenable support for non-PIE executables
On Nakasi builds, /system/bin/tf_daemon is a pre-compiled
vendor supplied binary. When support for non-PIE executables
was removed, that daemon failed to start, which induced
a number of bugs.
* keystore is broken
* CTS runs will hang after a certain period of time
Temporarily reenable non-PIE support for 32-bit platforms
until Nakasi is fixed.
This rolls back the following commits:
Cleanup: updated comments
*
6275f2083415d22a6ce0de55645079cd47e0cc80
Cleanup: remove AARCH/ARM_COPY relocation support
*
b906e13c55c9fe9b4157ba548534a0230434882b
And restricts the following patch to 64 bit only:
Remove support for non-PIE executables
*
2aebf5429bb1241a3298b5b642d38f73124c2026
Bug:
14566672
Bug:
15086752
Bug:
15732002
Change-Id: Ia2501aa14bd30feb4a6ce66bdb7c9f066dba0b5f
Dmitriy Ivanov [Wed, 18 Jun 2014 15:16:31 +0000 (15:16 +0000)]
Merge "Fix weak function lookups"
Dmitriy Ivanov [Tue, 17 Jun 2014 22:56:38 +0000 (15:56 -0700)]
Fix weak function lookups
* Linker now correctly resolves function defined
with __attribute__((weak)).
Bug: https://code.google.com/p/android/issues/detail?id=70206
Change-Id: I82efb905676c25fefb1b11a13f5fecb0f1384657
Dmitriy Ivanov [Tue, 17 Jun 2014 23:17:20 +0000 (23:17 +0000)]
Merge "Move libraries for unit-tests to separate folder"
Dmitriy Ivanov [Mon, 2 Jun 2014 23:29:00 +0000 (16:29 -0700)]
Move libraries for unit-tests to separate folder
Change-Id: I1653f3f2fd63ba25525369bc725c8f7438ecf021
Dan Albert [Tue, 17 Jun 2014 23:28:54 +0000 (23:28 +0000)]
Merge "Revert "Hide declaration of gets(3) for C11 and later.""
Dan Albert [Tue, 17 Jun 2014 23:23:59 +0000 (23:23 +0000)]
Revert "Hide declaration of gets(3) for C11 and later."
Breaks stlport. checkbuild lied to me?
This reverts commit
c0ce5908277a9bf18628946629dba4277e9a2281.
Change-Id: I72fb21aba7eaea96a7c3208236fd03411527fa5e
Dan Albert [Tue, 17 Jun 2014 22:33:31 +0000 (15:33 -0700)]
Hide declaration of gets(3) for C11 and later.
gets(3) was removed from C11.
Change-Id: I4040a8a6c6d5d2a86878e8a80ca67964fbbb82a8
Elliott Hughes [Tue, 17 Jun 2014 22:25:09 +0000 (22:25 +0000)]
Merge "Add a flag control that PRIVATE libm can be chosen"
Elliott Hughes [Tue, 17 Jun 2014 21:43:57 +0000 (21:43 +0000)]
Merge "Add <linux/tty.h> to libc/include/sys/ioctl.h"
Dan Albert [Tue, 17 Jun 2014 23:19:10 +0000 (23:19 +0000)]
Merge "Hide declaration of gets(3) for C11 and later."
Christopher Ferris [Tue, 17 Jun 2014 18:21:30 +0000 (18:21 +0000)]
Merge "Use a separate config.h for config like defines."
Christopher Ferris [Tue, 17 Jun 2014 06:35:53 +0000 (23:35 -0700)]
Use a separate config.h for config like defines.
This allows an easier way to share config parameters between unit tests
and the bionic code.
It also fixes a problem where the 32 bit bionic tests based on glibc, or
the cts list executable did not have the pvalloc,valloc tests.
Change-Id: Ib47942cb8a278252faa7498a6ef23e9578db544f
Dan Albert [Mon, 16 Jun 2014 23:52:27 +0000 (16:52 -0700)]
Remove SHA1 from LP64 in favor of libcrypto.
Keep the symbols around on LP32 for binary compatibility.
Bug:
11156955
Change-Id: I379a7e0fa3092e9a70daeafcbcb2aacfc314031a
Colin Cross [Mon, 16 Jun 2014 22:44:20 +0000 (15:44 -0700)]
Revert "HACK: linker: check for handle==0xffffffff on LP64"
This reverts commit
346fea0805b8c2a20171c9b4ab1aac5f66ede5de.
Change-Id: Id3fd79451e4218e68e39ce22f21408cbf93255ee
Christopher Ferris [Tue, 17 Jun 2014 00:49:49 +0000 (00:49 +0000)]
Merge "Move jemalloc due to whole_static_library bug."
Christopher Ferris [Tue, 17 Jun 2014 00:13:09 +0000 (17:13 -0700)]
Move jemalloc due to whole_static_library bug.
Rename jemalloc.cpp to jemalloc_wrapper.cpp to avoid problems with
the libc library having two jemalloc.o files that clobber each other.
Change-Id: I9a2d966dbf414b1367ee0ef1f0d73fca6f25b518
Dan Albert [Mon, 16 Jun 2014 20:15:41 +0000 (20:15 +0000)]
Merge "libc: Fix 'index' symbol export."
David 'Digit' Turner [Fri, 13 Jun 2014 10:28:11 +0000 (12:28 +0200)]
libc: Fix 'index' symbol export.
The C library didn't export the 'index' symbol, but its C++ name-mangling
instead, which broke the ABI and prevented some applications from loading
properly.
The main reason was that the implementation under bionic/index.cpp relied
on the declaration to specify that the function has C linkage.
However, the declaration for index() was removed from both <string.h>
and <strings.h> in a recent patch, which made the compiler think it was
ok to compile the function with C++ linkage instead!
This patch does the following:
- Move index() definition to bionic/ndk_cruft.cpp and ensure it uses
C linkage.
Note that this removes index() from the 64-bit library entirely, this
is intentional and will break source compatibility. Simply replacing
an index() call with the equivalent strchr() should be enough to fix
this in third-party code.
- Remove bionic/index.cpp from the tree and build files.
- Remove x86 assembly implementation from arch-x86/ to avoid conflict
with the one in ndk_cruft.cpp
BUG=
15606653
Change-Id: I816b589f69c8f8a6511f6be6195d20cf1c4e8123