summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* libm: Enable fast NEON pow() for supported targetsSteve Kondik2013-02-152-15/+7
| | | | Change-Id: Iabda43e3c8462074a9a46c8f496eac903ea17084
* Add optimized version of memcpy for Cortex A9Henrik Smiding2013-02-151-26/+188
| | | | | | | | | | | | | | | | | | Adds new code to memcpy function, optimized for Cortex A9. Adds new ARM-only loop, for operations where source and destination are aligned. Copyright (C) ST-Ericsson SA 2010 Modified neon implementation to fit Cortex A9 cache line size, for those running 32 bytes L2 cache line size. Also split the implementation in aligned and unaligned access, for those that allows unaligned memory access with Neon. For totally aligned operations, arm-only code is used. Change-Id: I95ebf6164cd6486b12a7e3e98e369db21e7e18d2 Author: Henrik Smiding henrik.smiding@stericsson.com for ST-Ericsson. Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
* Add a memmove(3) benchmark.Elliott Hughes2013-02-151-0/+16
| | | | Change-Id: I9c0ffae0b5aae29521b7e68e5ce2318b5a401cba
* Simple google3-compatible benchmarking.Elliott Hughes2013-02-154-2/+382
| | | | | | | | Based on our open-source RE2 benchmarking code. Includes benchmarks for a handful of <string.h> functions. Change-Id: I30eb70d25dbf4ad5f2ca44976a8ce3b1ff7dad01
* FORTIFY_SOURCE: optimizeNick Kralevich2013-02-152-9/+39
| | | | | | | | | | | | | | | | | | | Don't do the fortify_source checks if we can determine, at compile time, that the provided operation is safe. This avoids silliness like calling fortify source on things like: size_t len = strlen("asdf"); printf("%d\n", len); and allows the compiler to optimize this code to: printf("%d\n", 4); Defer to gcc's builtin functions instead of pointing our code to the libc implementation. Change-Id: I5e1dcb61946461c4afaaaa983e39f07c7a0df0ae
* fix strerror_r testNick Kralevich2013-02-151-1/+1
| | | | | | | | | | e6e60065ff093ff8c859ab146cf543531cb1967c modified strerror_r to treat errno as signed. However, the change to the test code modified the "strerror" test, not the "strerror_r" test. Make the same change for the strerror_r code. Change-Id: Ia236a53df5745935e229a4446a74da8bed0cfd7b
* Add stack canaries / strcpy tests.Nick Kralevich2013-02-151-0/+13
| | | | | | | | | | | Add a test to ensure that stack canaries are working correctly. Since stack canaries aren't normally generated on non-string functions, we have to enable stack-protector-all. Add a test to ensure that an out of bounds strcpy generates a runtime failure. Change-Id: Id0d3e59fc4b9602da019e4d35c5c653e1a57fae4
* glibc 2.15 treats errno as signed in strerror(3).Elliott Hughes2013-02-152-2/+2
| | | | | | | And the only reason I hadn't done that in bionic is because I wanted to behave the same as glibc. Change-Id: I2cf1bf0aac82a748cd6305a2cabbac0790058570
* Tests for string routines.Anna Tikhonova2013-02-151-0/+555
| | | | | Change-Id: I24068a228f59df1c3b758c5b2026a09720490616 Signed-off-by: Anna Tikhonova <anna.tikhonova@intel.com>
* Add optimized version of memcmp for Cortex A9Henrik Smiding2013-02-151-25/+86
| | | | | | | | | | | | Adds new code to function memcmp, optimized for Cortex A9. Copyright (C) ST-Ericsson SA 2010 Added neon optimization Change-Id: I8864d277042db40778b33232feddd90a02a27fb0 Author: Henrik Smiding henrik.smiding@stericsson.com for ST-Ericsson. Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
* Revert "memcmp: prefetch optimizing for ARM Cortex-A8/A9"Steve Kondik2013-02-151-69/+12
| | | | This reverts commit 579dba196255d3f2db7664cfba2db4cb86f59aa9.
* Add optimized version of memset for Cortex A9Henrik Smiding2013-02-151-4/+94
| | | | | | | | | | | | | Adds new code to function memset, optimized for Cortex A9. Copyright (C) ST-Ericsson SA 2010 Added neon implementation Author: Henrik Smiding henrik.smiding@stericsson.com for ST-Ericsson. Change-Id: Id3c87767953439269040e15bd30a27aba709aef6 Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
* FORTIFY_SOURCE: remove memcpy overlap checksNick Kralevich2013-02-151-7/+0
| | | | | | | | These checks haven't been as useful as I hoped, and it's causing a false positive finding. Remove the overlap compile time checks. Change-Id: I5d45dde10ae4663d728230d41fa904adf20acaea
* Merge tag 'android-4.2.2_r1' of ↵Steve Kondik2013-02-121-86/+86
|\ | | | | | | | | | | https://android.googlesource.com/platform/bionic into 1.1 Android 4.2.2 release 1
| * msm_mdp: Update header for 4 layer supportNaseer Ahmed2012-11-291-86/+86
| | | | | | | | | | | | Bug: 7626586 Change-Id: I37730470dc09b7a9d6336b1603f87efd98f45e97 Signed-off-by: Iliyan Malchev <malchev@google.com>
* | Revert "libm: Add a proper sincos() implementation"cm-10.1-M1Ricardo Cerqueira2013-01-041-129/+11
| | | | | | | | This reverts commit 1eb9e991124100dd12d3f650bbccf967ee8ec3db.
* | bionic: Add memmove_words.c for MIPS buildRocky Zhang2012-12-231-0/+3
| | | | | | | | | | | | | | memove_words.c is missed for MIPS bionic here Change-Id: If8d9edc9be5e4544e5541036c416467db4fb3ede Signed-off-by: Rocky Zhang <zhangyan.hit@gmail.com>
* | [MIPS] fix bionic libm on MIPS supportRocky Zhang2012-12-231-2/+4
| | | | | | | | | | | | | | the s_sin.c and s_cos.c are needed to be added to compile MIPS libm Change-Id: I48e2f70cb8fb5a63c6022129c3ca1c2699d058e6 Signed-off-by: Rocky Zhang <zhangyan.hit@gmail.com>
* | Bionic/libm: Add precision-correct de-serialize sin/cosLucas Crowthers2012-12-212-0/+23
| | | | | | | | | | | | | | Modify sin/cos to improve performance while retaining bit-for-bit accuracy with existing algorithm. Change-Id: Icbd6d66fb1c0ceb53f43fed6541e0c89cc6e7a63
* | Merge "timezone: data file should be 32 bit aligned" into mr1-stagingSteve Kondik2012-12-055-3/+11
|\ \
| * | timezone: data file should be 32 bit alignedTom Giordano2012-12-025-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The zoneinfo.dat file is memory mapped and then read as an int array. On some platforms this is causing alignment errors (SIGBUS) because the records are not 32 bit aligned. My changes: Fixes for 4.2 and also updates zoneinfo to the latest version Change-Id: Ieea8ef07e49ef86d139c52ebfccf4159c0ebd887
* | | x86: Add missing bionic/memmove_words.c to x86 source to list.trevd2012-12-051-0/+1
| | | | | | | | | | | | | | | | | | | | | This was causing libdvm to fail with undefined references when building for the mini_x86 target. Change-Id: I3c3af3acc87b46c660bf8f46339dfa0509c14c01
* | | FORTIFY_SOURCE: fortify strrchrNick Kralevich2012-12-042-2/+30
| | | | | | | | | | | | | | | | | | This change compliments 049e58369c37fdeacd0380a6bf1e078d9baf819f Change-Id: I27d015d70a520713c7472558a3c427f546d36ee4
* | | FORTIFY_SOURCE: fortify strchrNick Kralevich2012-12-043-2/+31
|/ / | | | | | | | | | | Detect when strchr reads off the end of a buffer. Change-Id: I0e952eedcff5c36d646a9c3bc4e1337b959224f2
* | bionic: Optimizations for gettimeofday and clock_gettime.Greg Reid2012-12-026-0/+357
| | | | | | | | | | | | | | | | | | | | Use the kernel user helper feature to calculate the results of gettimeofday and clock_gettime without actually calling into kernel space. If the user helper patches have not been applied to the kernel, the regular system calls are used as a fallback. Change-Id: I3aebc6ac19ab4743725648a1a279819e624cc5c4
* | Revert "sha1: Use bswap* to optimize byte order"Ricardo Cerqueira2012-11-292-66/+44
| | | | | | | | | | This reverts commit 259b660f6a51be7f627e7c2a6376af0b21b55fbb. This was triggering the new ssp checks and killing processes
* | linker: restore prelink supportPawit Pornkitprasan2012-11-233-19/+40
| | | | | | | | | | | | | | | | | | Prelink support is required to load old vendor binary blobs on many devices properly This commit partially reverts 4688279db5dcc4004941e7f133c4a1c3617d842c Change-Id: Ibc835095579c0bbd18aff61f37bd420de353e94d
* | Merge branch 'jb-mr1-release' of ↵Steve Kondik2012-11-18540-15859/+47385
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | https://android.googlesource.com/platform/bionic into mr1 Conflicts: libc/Android.mk libc/bionic/system_properties.c libc/kernel/common/linux/msm_mdp.h libc/tools/gensyscalls.py libm/Android.mk linker/linker.c Change-Id: I11944300d7fcf2fd9dc587d8c7a937bf5366bcc0
| * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-10-300-0/+0
| |\
| | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-10-190-0/+0
| | |\
| | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-10-100-0/+0
| | | |\
| | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-10-030-0/+0
| | | | |\
| | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-300-0/+0
| | | | | |\
| | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-250-0/+0
| | | | | | |\
| | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-220-0/+0
| | | | | | | |\
| | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-210-0/+0
| | | | | | | | |\
| | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-190-0/+0
| | | | | | | | | |\
| | | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-180-0/+0
| | | | | | | | | | |\
| | | | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-160-0/+0
| | | | | | | | | | | |\
| | | | | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-140-0/+0
| | | | | | | | | | | | |\
| | | | | | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-130-0/+0
| | | | | | | | | | | | | |\
| | | | | | | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-120-0/+0
| | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-110-0/+0
| | | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-090-0/+0
| | | | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-060-0/+0
| | | | | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-050-0/+0
| | | | | | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-09-030-0/+0
| | | | | | | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-08-300-0/+0
| | | | | | | | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | | | | | | | * merge in jb-mr1-release history after reset to jb-mr1-devThe Android Automerger2012-08-290-0/+0
| | | | | | | | | | | | | | | | | | | | | |\
| | | | | | | | | | | | | | | | | | | | | | * Revert "Update ion header"The Android Automerger2012-08-281-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit eb75db7d83a6c46578517c90f1165c61bb1fa41b.