Commit Graph

136 Commits

Author SHA1 Message Date
Mathias Agopian
ca07064c9e am 5f53a182: Revert "Add qsort_r() implementation to the C library."
Merge commit '5f53a18204ec991f5a77872806eeaa185936aa8c' into eclair-mr2

* commit '5f53a18204ec991f5a77872806eeaa185936aa8c':
  Revert "Add qsort_r() implementation to the C library."
2009-12-03 17:10:14 -08:00
Mathias Agopian
5f53a18204 Revert "Add qsort_r() implementation to the C library."
This reverts commit 754c178ae5.

Turns out we don't need it afterall (needed a stable sort anyways).
So, we'll make that change in the dev branch instead.
2009-12-03 16:14:40 -08:00
David 'Digit' Turner
20b3097d4c am 754c178a: Add qsort_r() implementation to the C library.
Merge commit '754c178ae551aedcbbfd3bfd1c1c3b710d9ad989' into eclair-mr2

* commit '754c178ae551aedcbbfd3bfd1c1c3b710d9ad989':
  Add qsort_r() implementation to the C library.
2009-12-03 16:00:48 -08:00
David 'Digit' Turner
754c178ae5 Add qsort_r() implementation to the C library.
NOTE: This replaces qsort.c with the FreeBSD version. While
      the patch changes the source, it should not alter the
      implementation that should use the exact same algorithm.
2009-12-03 11:40:15 -08:00
Dima Zavin
df55c64203 am e1e68492: Merge change Ifa58a406 into eclair
Merge commit 'e1e684920f3bea04f7cccee9f2d7ecd8b9a1ba47' into eclair-mr2

* commit 'e1e684920f3bea04f7cccee9f2d7ecd8b9a1ba47':
  libc: kernel: Update msm_kgsl.h header
2009-12-03 02:14:56 -08:00
Dima Zavin
7b12b4a349 libc: kernel: Update msm_kgsl.h header
Change-Id: Ifa58a406c9419c5ad73a1f9456add6dd54bfb2ba
Signed-off-by: Dima Zavin <dima@android.com>
2009-12-02 05:09:56 -08:00
Eric Fischer
07401a681f am cd5df2d9: Rebuild the time zone data files in 32-bit format instead of 64-bit.
Merge commit 'cd5df2d92c3adeac41e27aab5ba0f999c753c4c4' into eclair-mr2

* commit 'cd5df2d92c3adeac41e27aab5ba0f999c753c4c4':
  Rebuild the time zone data files in 32-bit format instead of 64-bit.
2009-11-24 14:02:30 -08:00
Eric Fischer
cd5df2d92c Rebuild the time zone data files in 32-bit format instead of 64-bit.
The 64-bit data is not currently being used and more than doubles the size.
2009-11-24 13:52:05 -08:00
Eric Fischer
8d7c695337 am 7e617899: Correct the raw offsets in the time zone index for a few zones.
Merge commit '7e6178998507f993eedf6bec726b0c28881f0485' into eclair-mr2

* commit '7e6178998507f993eedf6bec726b0c28881f0485':
  Correct the raw offsets in the time zone index for a few zones.
2009-11-23 17:04:18 -08:00
Eric Fischer
7e61789985 Correct the raw offsets in the time zone index for a few zones.
ZoneCompactor was using the system time zone database to get the offsets
instead of using the data it was compiling, so for newly added or recently
changed zones the index could be inconsistent with the data.

Affected zones: San_Luis, Casey, Davis, Mawson, Kathmandu, Novokuznetsk
2009-11-23 16:28:11 -08:00
Fred Fettinger
b5239ed16a libc: allow usage of time64.h from cpp code
Wrapped declarations in time64.h with __BEGIN_DECLS/__END_DECLS so that
the prototypes are correctly identified as extern C.

Change-Id: I253453307831c929a6c7174b28b48bceef946fed
Signed-off-by: Fred Fettinger <fred.fettinger@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-11-23 16:25:32 -05:00
Eric Fischer
25a3a3ea8c am a6083b77: Update zoneinfo time zone data to version 2009s
Merge commit 'a6083b7768a2d1efc52805ff7ce049866186c744' into eclair-mr2

* commit 'a6083b7768a2d1efc52805ff7ce049866186c744':
  Update zoneinfo time zone data to version 2009s
2009-11-20 15:42:11 -08:00
Eric Fischer
a6083b7768 Update zoneinfo time zone data to version 2009s
http://b/issue?id=2272477
2009-11-20 14:39:55 -08:00
Vladimir Chtchetkine
b74ceb25aa Split libc_debug.so into two .so modules loaded on demand from libc.so
This change is intended to eliminate need to replace libc.so with libc_debug.so in order to enablememory allocation debugging.
This is also the first step towards implementing extended memoryallocation debugging using emulator's capabilities in monitoring memory access.
2009-11-18 10:36:25 -08:00
Dima Zavin
110044b131 libc: kernel: Update msm_kgsl.h header
Change-Id: I8b22bcb4816fca5e0b92fee4b2ccb0ef135be5a9
Signed-off-by: Dima Zavin <dima@android.com>
2009-11-13 02:29:17 -08:00
Mathias Agopian
199f9d9238 Improve memcpy performance from 290 MiB/s to 340 MiB/s (17% improvment)
use 64 bytes cache lines, reduce the main loop to 64-bytes instead of
128 bytes and adjust the prefetch distance to the optimal value.
2009-10-28 03:17:02 -07:00
Andy McFadden
96bbbe2177 Wrap ARM abort() to improve stack trace.
The code generated for Thumb and Thumb2 targets has different handling
for abort().  Because abort() is "noreturn", it doesn't need to preserve
the callee-save registers.  The Thumb2 version trashes LR and makes it
impossible to figure out who called abort().

This inserts a trivial stub function; net effect is stack traces are
reasonable after an abort().

For bug 2191452.

Eclair branch Dr. No approved by: hiroshi
2009-10-21 10:41:12 -07:00
Mathias Agopian
7e7d6c48a0 use local symbols in memset so it doesn't screw up profiling 2009-10-19 16:34:38 -07:00
Dima Zavin
5c32826841 libc: kernel: add linux/msm_q6venc.h kernel include for qsd8k h/w video encode
Change-Id: I58c6eb0d417d5a30fa245f693304a147631fd07f
Signed-off-by: Dima Zavin <dima@android.com>
2009-10-13 20:57:16 -07:00
Iliyan Malchev
0e24d2c944 update msm_camera.h
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-10-13 20:28:29 -07:00
Dima Zavin
9a96aaa8ef libc: kernel: Update linux/msm_kgsl.h to latest
Change-Id: I530cea1110fc6e6ccf150e6b176e708030ce8a94
Signed-off-by: Dima Zavin <dima@android.com>
2009-10-07 20:19:16 -07:00
Mathias Agopian
e36502673d fix [2170898] abort() doesn't print a stack tarce
the issue here is that abort() can be called from anywhere, in particular
from malloc or free. When we try to use the debug_log functions, these
can end up calling into some code (like malloc/free) that called abort()
in the first place and end up in an infinite recursion loop.
2009-10-06 16:02:12 -07:00
David 'Digit' Turner
fdc5c1f56f Re-enable ARMv7 memcpy implementation.
Do not submit this patch before the one that modifies the Android emulator to
work-around a weird ARMv7 emulation issue. This is done to temporarily re-allow
the -user builds needed for QA.
2009-10-05 14:25:10 -07:00
David 'Digit' Turner
1e40783d9a Fix armv7-user builds by disabling the ARMv7-optimized memcpy.
This is required to work-around some corny bugs in ARMv7 emulation.

The emulation itself is required to run the dex pre-optimization pass
for -user builds.
2009-10-02 19:13:27 -07:00
Android (Google) Code Review
7a9e06fa7e Merge change I2a7ad975 into eclair
* changes:
  Fix ABI breakage in libc.so and libm.so between 1.6 and Eclair.
2009-09-29 18:04:51 -04:00
David 'Digit' Turner
2a7ad97539 Fix ABI breakage in libc.so and libm.so between 1.6 and Eclair.
For a detailed description of the problem and why this fix is
needed, plrease read the comments in libgcc_compat.c
2009-09-29 14:43:38 -07:00
Mathias Agopian
ee223d02d9 NEON optimized memcpy.
372 MB/s for large transfers, 440 MB/s for smaller ones down to 1KB. 130 MB/s for very small transfers ( < 32 bytes )
Performance is similar with non-congruent buffers.
2009-09-28 19:08:18 -07:00
David 'Digit' Turner
f355096a64 Remove NEON optimizations for memcpy 2009-09-27 07:08:46 -07:00
David 'Digit' Turner
bc10cd2900 Fix a typo that resulted in a crash in the boot sequence 2009-09-23 15:56:50 -07:00
Android (Google) Code Review
d154954f02 Merge change 26419 into eclair
* changes:
  Add pthread_mutex_lock_timeout_np
2009-09-23 15:10:02 -04:00
David 'Digit' Turner
3f56b7f65a Add pthread_mutex_lock_timeout_np
This is used to perform a mutex lock for a given amount of
milliseconds before giving up. Using the _np prefix since this
is absolutely not portable.

Also remove a compiler warning in pthread_attr_getstackaddr
2009-09-22 15:17:50 -07:00
David 'Digit' Turner
4a05d12cf5 Fix TLS access for ARMv6 and beyond.
For performance reasons, we don't call the kernel helper. Instead, we directly
access the TLS register on ARMv6 and higher. For ARMv5TE, keep using the hard-coded
address populated by the kernel on each task switch.

NOTE: Since we don't call the kernel helper, this must precisely match your
      kernel configuration. This is controlled by setting the ARCH_ARM_HAVE_TLS_REGISTER
      variable to 'true' in your board configuration file.
2009-09-22 10:03:59 -07:00
Dima Zavin
916edf2a3f libc: kernel-headers: update msm_mdp.h to include premultiplied alpha
Change-Id: I653d638353d9246287bcf568bbffd0f5dbc64019
Signed-off-by: Dima Zavin <dima@android.com>
2009-09-20 19:11:18 -07:00
Ben Cheng
bd192b470b Add stack unwinding directives to assembly leaf functions.
So that the real culprit of native crashes can surface in the stack trace.
2009-09-15 13:41:14 -07:00
Iliyan Malchev
824201294b bionic: update processed msm_camera.h
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-09-11 00:29:59 -07:00
Android (Google) Code Review
4e57cf3f8c Merge change 24463 into eclair
* changes:
  Fix an infinite loop in time2sub.
2009-09-09 20:53:15 -04:00
David 'Digit' Turner
2093d350be Fix an infinite loop in time2sub.
The problem is that time_t is signed, and the original code relied on the
fact that (X + c < X) in case of overflow for c >= 0. Unfortunately, this
condition is only guaranteed by the standard for unsigned arithmetic, and
the gcc 4.4.0 optimizer did completely remove the corresponding test from
the code. This resulted in a missing boundary check, and an infinite loop.

The problem is solved by testing explicitely for TIME_T_MIN and TIME_T_MAX
in the loop that uses this.

Also fix increment_overflow and long_increment_overflow which were buggy
for exactly the same reasons.

Note: a similar fix is needed for system/core/libcutils
2009-09-09 17:45:00 -07:00
Erik Gilling
9e74f697e0 libc: add void to clock() function prototype
Signed-off-by: Erik Gilling <konkers@android.com>
2009-09-09 14:58:19 -07:00
Android (Google) Code Review
b4423ff7df Merge change 22848 into eclair
* changes:
  Neon-optimized versions of memcpy.
2009-09-02 15:06:32 -07:00
David 'Digit' Turner
1bbc56cd22 Neon-optimized versions of memcpy.
This optimization come from the external 0xdroid repository.
Original patch can be found here:

ebafe41c2c
2009-09-02 23:21:52 +02:00
Dima Zavin
2e5bd8f8aa libc: kernel-headers: Add qdsp6 vdec header
Change-Id: Ib6cd13e86cea84c1cc0901dee3e9ef05eb8279cd
Signed-off-by: Dima Zavin <dima@android.com>
2009-08-30 19:17:26 -07:00
Iliyan Malchev
898cc98f3d bionic: add sanitized lightsensor kernel header
Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-08-20 16:31:28 -07:00
Dima Zavin
fcb10796ec Update pmem/hw3d/mdp headers
Signed-off-by: Dima Zavin <dima@android.com>
2009-08-19 18:48:57 -07:00
Android (Google) Code Review
ac68b70ed9 Merge change 9642
* changes:
  Don't request IPv6 addresses if AI_ADDRCONFIG is specified and the system has no IPv6 connectivity.
2009-08-08 09:46:30 -07:00
Jean-Baptiste Queru
44ac5d5d93 merge from open-source master 2009-08-07 17:04:35 -07:00
Android Code Review
bb08537104 Merge change 10057
* changes:
  Add mspace_merge_objects
2009-08-07 16:43:33 -07:00
Dima Zavin
81fa6d5f94 libc: add linux/msm_kgsl.h kernel include
Signed-off-by: Dima Zavin <dima@android.com>
2009-08-05 17:56:56 -07:00
Dima Zavin
4c4a9632bd libc: kernel: let clean_header tool take path to kernel originals as argument
Signed-off-by: Dima Zavin <dima@android.com>
2009-08-05 17:56:55 -07:00
Lorenzo Colitti
3d8f4ada56 Don't request IPv6 addresses if AI_ADDRCONFIG is specified and the system has no IPv6 connectivity. 2009-08-04 13:17:03 -07:00
Eric Fischer
d5f72afd49 Fix strftime to use localized month names.
It was using the default locale (capital L) instead of the
current locale (lowercase l).

Bug 2030864
2009-08-03 15:43:18 -07:00