summaryrefslogtreecommitdiffstats
path: root/libc
Commit message (Collapse)AuthorAgeFilesLines
* am 73a6566d: Merge "Remove expired dns cache entries before removing oldest"Elliott Hughes2012-05-071-1/+25
|\ | | | | | | | | * commit '73a6566da337db50cfc73c369d774ac1905a30c2': Remove expired dns cache entries before removing oldest
| * Merge "Remove expired dns cache entries before removing oldest"Elliott Hughes2012-05-071-1/+25
| |\
| | * Remove expired dns cache entries before removing oldestAnders Fredlund2011-05-201-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | A suggestion how to make a smarter delete function when the cache is full. First look through the entire cache and remove all entries which have expired. If none use the old solution and just remove the last entry in the MRU list. Change-Id: I5f997ab35290a55dc6e1ddf37d725759edf83d36
* | | am 8657eafc: Merge "Adjust memcpy for ARM Cortex A9 cache line size"Elliott Hughes2012-05-072-4/+37
|\ \ \ | |/ / | | | | | | | | | * commit '8657eafc3552f36c176667c1591beab255308da6': Adjust memcpy for ARM Cortex A9 cache line size
| * | Adjust memcpy for ARM Cortex A9 cache line sizeHenrik Smiding2012-05-072-4/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ARM Cortex A8 use 64 bytes and ARM Cortex A9 use 32 bytes cache line size. The following patch: Adds code to adjust memcpy cache line size to match A9 cache line size. Adds a flag to select between 32 bytes and 64 bytes cache line size. Copyright (C) ST-Ericsson SA 2010 Modified neon implementation to fit Cortex A9 cache line size Author: Henrik Smiding henrik.smiding@stericsson.com for ST-Ericsson. Change-Id: I8a55946bfb074e6ec0a14805ed65f73fcd0984a3 Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
| * | Add the posix_memalign(3) function to bionicKen Sumrall2012-04-272-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The posix_memalign(3) function is very similar to the traditional memalign(3) function, but with better error reporting and a guarantee that the memory it allocates can be freed. In bionic, memalign(3) allocated memory can be freed, so posix_memalign(3) is just a wrapper around memalign(3). Change-Id: I62ee908aa5ba6b887d8446a00d8298d080a6a299
* | | am efcf8893: Merge "Update f_accessory.h kernel header" into jb-devMike Lockwood2012-04-261-2/+10
|\ \ \ | | | | | | | | | | | | | | | | * commit 'efcf8893a97df2eb2ecb7aab305998878771d2f2': Update f_accessory.h kernel header
| * \ \ Merge "Update f_accessory.h kernel header" into jb-devMike Lockwood2012-04-261-2/+10
| |\ \ \
| | * | | Update f_accessory.h kernel headerMike Lockwood2012-04-251-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I29ec4aa4843b9308cbfa412df88e026e8475b715 Signed-off-by: Mike Lockwood <lockwood@google.com>
* | | | | am b091dd9b: libc: continue to use Android\'s custom linker scriptNick Kralevich2012-04-261-0/+6
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * commit 'b091dd9bf27a9132c4ac9da55f2f4a87ffe3b59f': libc: continue to use Android's custom linker script
| * | | | libc: continue to use Android's custom linker scriptNick Kralevich2012-04-261-0/+6
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, Android no longer compiles code using it's custom linker script /build/core/armelf.xsc. However, this causes problems for libc. Certain programs linked using older versions of GOLD expect libc.so to export __exidx_start and __exidx_end. Removing the custom linker script causes libc.so not to export those symbols. For now, continue using the old linker script, until we can figure out a better solution. Change-Id: Iaf002afd63a58b848818da24e5a4525620dc4d74
* | | | Merge from AOSPJean-Baptiste Queru2012-04-251-6/+7
|\ \ \ \ | |/ / / |/| / / | |/ / Change-Id: If2e8e4305d10df738cc4ebcf226077f273a48cbf
| * | [MIPS] Fix the warning originating from the kernel header signal.h.Raghu Gandham2012-04-231-6/+7
| | | | | | | | | | | | | | | This is a clean header generated from the corresponding change in external/kernel-headers repository. (CL 35760)
* | | add linux/sw_sync.hErik Gilling2012-04-181-0/+34
| | | | | | | | | | | | | | | Change-Id: I79de18d04b950c21b985d5ebc01cd3306a43d318 Signed-off-by: Erik Gilling <konkers@android.com>
* | | add linux/sync.hErik Gilling2012-04-181-0/+52
| | | | | | | | | | | | | | | Change-Id: I38bb9498e18cb2b2e84a97487d4ad1e15fabd9d4 Signed-off-by: Erik Gilling <konkers@android.com>
* | | Fix segv when unwinding stack past __libc_init.Evgeniy Stepanov2012-04-181-1/+3
| | | | | | | | | | | | | | | | | | This change mirrors cd15bac for statically-linked binaries. Change-Id: Id870832a50b37f0ef3e79e1ed03ed31390bfc9ef
* | | resolved conflicts for merge of ef987656 to masterElliott Hughes2012-04-162-3/+9
|\ \ \ | |/ / | | | | | | Change-Id: I3854de8f4cddaf344444efa6f9da027642a237d9
| * | Merge "Bionic: Fix wrong prototype of system call clock_nanosleep"Elliott Hughes2012-04-163-4/+10
| |\ \
| | * | Bionic: Fix wrong prototype of system call clock_nanosleepJack Ren2012-04-163-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In bionic/libc/SYSCALLS.TXT, the prototype of system call clock_nanosleep is incorrect. According to man page: int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *request, struct timespec *remain); Change-Id: Ic44c6db3d632293aa17998035554eacd664c2d57 Signed-off-by: Jin Wei <wei.a.jin@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
* | | | resolved conflicts for merge of 6b8fd054 to masterElliott Hughes2012-04-163-2/+20
|\ \ \ \ | |/ / / | | | | | | | | Change-Id: Ifc5a10d9c2f7764ad80d64cc552aad81d5fbf5eb
| * | | Merge "bionic: Fix wrong prototype of system call getresuid/getresgid"Elliott Hughes2012-04-164-4/+22
| |\ \ \
| | * | | bionic: Fix wrong prototype of system call getresuid/getresgidJack Ren2012-04-164-4/+22
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In bionic/libc/SYSCALLS.TXT, the prototypes of system call getresuid/getresgid are incorrect. According to man page, they should be: int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); Change-Id: I676098868bb05a9e1fe45419b234cf397626fdad Signed-off-by: Jin Wei <wei.a.jin@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
* | | | am ff219e57: am 6435d27f: Merge "bionic: fix NULL parameter failure in getcwd()"Elliott Hughes2012-04-161-0/+5
|\ \ \ \ | |/ / / | | | | | | | | | | | | * commit 'ff219e57c0ffe5ac2816f79677ce4f1afa677277': bionic: fix NULL parameter failure in getcwd()
| * | | bionic: fix NULL parameter failure in getcwd()Jack Ren2012-04-161-0/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LTP: getcwd01 failed in LTP Need to check getcwd parameters, otherwise it will lead to posix test case to fail. Change-Id: Ieb673b6dd4ca6481da81c5339dbf7ec0a463f263 Signed-off-by: Jin Wei <wei.a.jin@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
* | | Merge changes I427a1881,I959b6428Kenny Root2012-04-138-1/+123
|\ \ \ | | | | | | | | | | | | | | | | | | | | * changes: Add faccessat to syscall list Update unistd.h for new syscalls
| * | | Add faccessat to syscall listKenny Root2012-04-137-0/+52
| | | | | | | | | | | | | | | | Change-Id: I427a18811089cb280769ac8da3ed8adc00a65a10
| * | | Update unistd.h for new syscallsKenny Root2012-04-131-1/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | gensyscalls.py run from external/kernel-headers at commit efab8f3e49f7f36ef0354b0996ecd5f3fa031e52 Change-Id: I959b64280e184655ef8c713aa79f9e23cb1f7df4
* | | | am 0613dce0: regenerate linux/fb.hTravis Geiselbrecht2012-04-121-30/+33
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * commit '0613dce0a7b806d48758cabfb2d638d0ba4dd2bc': regenerate linux/fb.h
| * | | | regenerate linux/fb.hTravis Geiselbrecht2012-04-121-30/+33
| | | | | | | | | | | | | | | | | | | | Change-Id: Icd8c0f53306a48ffd513378abdf387af21e886a3
* | | | | Initialize TLS before any application code is run.Evgeniy Stepanov2012-04-135-10/+40
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since e19d702b8e33, dlsym and friends use recursive mutexes that require the current thread id, which is not available before the libc constructor. This prevents us from using dlsym() in .preinit_array. This change moves TLS initialization from libc constructor to the earliest possible point - immediately after linker itself is relocated. As a result, pthread_internal_t for the initial thread is available from the start. As a bonus, values stored in TLS in .preinit_array are not lost when libc is initialized. Change-Id: Iee5a710ee000173bff63e924adeb4a4c600c1e2d
* | | | Merge "Fix segv when unwinding stack past __libc_init."Elliott Hughes2012-04-121-1/+3
|\ \ \ \
| * | | | Fix segv when unwinding stack past __libc_init.Evgeniy Stepanov2012-04-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes a segmentation fault in the libc unwinder when it goes past __libc_init. Unwind instructions for __libc_init direct it to grab the return address from the stack frame. Without this change, the unwinder gets a wild address and looks up further unwind instructions for the routine at that address. If it's unlucky enough to hit an existing function, it will try to unwind it. Bad things happen then. With this change, the return address always points to the _start function, which does not have unwind instructions associated with it. This stop the unwind process. __libc_init never returns, so this does not affect program execution, other than adding 4 bytes on the main thread stack. Change-Id: Id58612172e8825c8729cccd081541a13bff96bd0
* | | | | Move end of __on_dlclose upKenny Root2012-04-111-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The END macro was put too far down which made the linker complain about it. Move up to the end of the code. Change-Id: Ica71a9c6083b437d2213c7cefe34b0083c78f16b
* | | | | __on_dlclose should be alignedKenny Root2012-04-102-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Marking segments read-only was pushing the alignment of __on_dlclose by 2 bytes making it unaligned. This change makes sure the ARM code is aligned to the 4 byte boundary. Bug: 6313309 Change-Id: Ic2bf475e120dd61225ec19e5d8a9a8b1d0b7f081
* | | | | Merge "Update linux/input.h to version 3.4."Jeff Brown2012-04-091-122/+128
|\ \ \ \ \
| * | | | | Update linux/input.h to version 3.4.Jeff Brown2012-04-061-122/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 6292993 Change-Id: Ic7628068df6c8de9cb3711a4540d51365b96ebdb
* | | | | | libc/kernel: update cleaned v4l2 headerDima Zavin2012-04-061-178/+814
|/ / / / / | | | | | | | | | | | | | | | | | | | | Change-Id: Ib3747b45eb1e4095cca3de6d7692387953e8c4a7 Signed-off-by: Dima Zavin <dima@android.com>
* | | | | libc/kernel-headers: Auto generated files for netfilter/xt_IDLETIMERAshish Sharma2012-04-052-25/+55
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | From Change I526b5fce: Add NETLINK_IDLETIMER msg type and include the corresponding header file. Change-Id: I24bffc11394c8664e4d7d7f439b0600545f07536 Signed-off-by: Ashish Sharma <ashishsharma@google.com>
* | | | am fdb11929: am b88f810d: Merge "Update to tzdata2012c."Elliott Hughes2012-04-023-1/+1
|\ \ \ \ | | |/ / | |/| | | | | | | | | | * commit 'fdb119297ac421e2fc2ec096a6d5370b81938de8': Update to tzdata2012c.
| * | | Update to tzdata2012c.Elliott Hughes2012-04-024-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the release notes: africa Summer time changes for Morocco (to start late April 2012) asia Changes for 2012 for Gaza & the West Bank (Hebron) and Syria northamerica Haiti following US/Canada rules for 2012 (and we're assuming, for now anyway, for the future). Also include a change made internally to the 'generate' script as part of the tzdata2011m update that apparently never made it to AOSP; the original checkin comment for which was: Update to tzdata2011m. Fixes for Europe/Tiraspol (Moldova) and all four Ukrainian zones. Also show the MD5 of the downloaded data, for comparison against the MD5 given in the announcement mails. (There's a plan to move to proper signing, but that's not implemented on their end yet.) (I'm repeating the tzdata change for the convenience of anyone grepping the log, since the 2012 tzdata releases also contain the 2011m changes; 2011m is the only missing release I noticed.) Change-Id: I9a2e530b3a8ea88e3375334a12376e3d8526f267
* | | | am cd834618: am 63b14755: Merge "libc/x86: ensure the stack 16-byte aligned ↵Elliott Hughes2012-03-303-5/+14
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | when tasks created" * commit 'cd834618c4752b61d54ff4005a8baa8219b822e4': libc/x86: ensure the stack 16-byte aligned when tasks created
| * | | Merge "libc/x86: ensure the stack 16-byte aligned when tasks created"Elliott Hughes2012-03-303-5/+14
| |\ \ \
| | * | | libc/x86: ensure the stack 16-byte aligned when tasks createdJack Ren2012-03-233-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently Renderscript sample code RsBalls crashed on x86 when SSE2 enabled. The root cause is that the stack was not 16-byte aligned from the beginning when the processes/threads were created, so the RsBalls crashed when SSE2 instructions tried to access the variables on the stack. - For the thread created by fork(): Its stack alignment is determined by crtbegin_{dynamic, static}.S - For the thread created by pthread_create(): Its stack alignment is determined by clone.S. __thread_entry( ) is a standard C function. In order to have its stack be aligned with 16 byte properly, __thread_entry() needs the stack with following layout when it is called: layout #1 (correct) -------------- | | -------------- <--ESP (ECX - 20) | ret EIP | -------------- <--ECX - 16 | arg0 | -------------- <--ECX - 12 | arg1 | -------------- <--ECX - 8 | arg2 | -------------- <--ECX - 4 | unused | -------------- <--ECX (16-byte boundary) But it has following layout for now: layout #2: (incorrect) -------------- | | -------------- <--ESP (ECX - 16) | unused | -------------- <--ECX - 12 | arg0 | -------------- <--ECX - 8 | arg1 | -------------- <--ECX - 4 | arg2 | -------------- <--ECX (16-byte boundary) Fixed in this patch. Change-Id: Ibe01f64db14be14033c505d854c73033556ddaa8 Signed-off-by: Michael Liao <michael.liao@intel.com> Signed-off-by: H.J. Lu <hongjiu.lu@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
* | | | | Revert "libc/kernel: Add rules to autogenerate device specific kernel headers"Dima Zavin2012-03-301-82/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 884147c7d0b1b6571256feb11e12d893432625b2. Change-Id: I09723858ac961f3e1155791aa5c54d5d3abfbd36 Signed-off-by: Dima Zavin <dima@android.com>
* | | | | am ea76f414: am d509f9cc: am 09ce7749: Merge "[MIPS] Clean Kernel headers ↵Elliott Hughes2012-03-27160-5/+18664
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture." * commit 'ea76f4147825cc39d9aa91230cd863ed29f28e27': [MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.
| * | | | am 09ce7749: Merge "[MIPS] Clean Kernel headers are generated by running ↵Elliott Hughes2012-03-27160-5/+18664
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture." * commit '09ce7749d74733b28d4fa7a1d36457cb366cc5da': [MIPS] Clean Kernel headers are generated by running libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture.
| | * | | | [MIPS] Clean Kernel headers are generated by runningRaghu Gandham2012-03-27160-5/+18664
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libc/kernel/tools/update_all.py script. This patch ignores any changes to libc/kernel directory not related to MIPS architecture. Change-Id: I2c9e461dccb7c33eb4420be2db1a562f45137c8d Signed-off-by: Raghu Gandham <raghu@mips.com> Signed-off-by: Chris Dearman <chris@mips.com>
| * | | | | am 56731351: Merge "bionic: fix atfork hanlder_mutex deadlock"Jean-Baptiste Queru2012-03-261-1/+4
| |\ \ \ \ \ | | |/ / / / | | | | | | | | | | | | | | | | | | * commit '56731351de7230180fc99a1a4b0afd12f881b0f7': bionic: fix atfork hanlder_mutex deadlock
| | * | | | bionic: fix atfork hanlder_mutex deadlockJack Ren2012-03-171-1/+4
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After applying the kernel_id fix, the system refused to boot up and we got following crash log: I/DEBUG ( 113): pid: 618, tid: 618 >>> org.simalliance.openmobileapi.service:remote <<< I/DEBUG ( 113): signal 16 (SIGSTKFLT), code -6 (?), fault addr -------- I/DEBUG ( 113): eax fffffe00 ebx b77de994 ecx 00000080 edx 00724002 I/DEBUG ( 113): esi 00000000 edi 00004000 I/DEBUG ( 113): xcs 00000073 xds 0000007b xes 0000007b xfs 00000000 xss 0000007b I/DEBUG ( 113): eip b7761351 ebp bfdf3de8 esp bfdf3dc4 flags 00000202 I/DEBUG ( 113): #00 eip: 00015351 /system/lib/libc.so I/DEBUG ( 113): #01 eip: 0000d13c /system/lib/libc.so (pthread_mutex_lock) I/DEBUG ( 113): #02 eip: 00077b48 /system/lib/libc.so (__bionic_atfork_run_prepare) I/DEBUG ( 113): #03 eip: 00052cdb /system/lib/libc.so (fork) I/DEBUG ( 113): #04 eip: 0009ae91 /system/lib/libdvm.so (_Z18dvmOptimizeDexFileillPKcjjb) I/DEBUG ( 113): #05 eip: 000819d6 /system/lib/libdvm.so (_Z14dvmJarFileOpenPKcS0_PP7JarFileb) I/DEBUG ( 113): #06 eip: 000b175e /system/lib/libdvm.so (_ZL40Dalvik_dalvik_system_DexFile_openDexFilePKjP6JValue) I/DEBUG ( 113): #07 eip: 0011fb94 /system/lib/libdvm.so Root cause: The atfork uses the mutex handler_mutex to protect the atfork_head. The parent will call __bionic_atfork_run_prepare() to lock the handler_mutex, and need both the parent and child to unlock their own copy of handler_mutex after fork. At that time, the owner of hanlder_mutex is set as the parent. If we apply the kernel_id fix, then the child's kernel_id will be set as child's tid. The handler_mutex is a recursive lock, and pthread_mutex_unlock(&hander_mutex) will fail because the mutex owner is the parent, while the current tid (__get_thread()->kernel_id) is child, not matched with the mutex owner. At that time, the handler_mutex is left in lock state.If the child wants to fork other process after than, then it will try to lock handler_mutex, and then be deadlocked. Fix: Since the child has its own copy of vm space from the the parent, the child space's handler_mutex should be reset to the initialized state. Change-Id: I3907dd9a153418fb78862f2aa6d0302c375d9e27 Signed-off-by: Jack Ren <jack.ren@intel.com> Signed-off-by: Chenyang Du <chenyang.du@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
* | | | | Merge "Add auto-generated headers for USB FunctionFS"Benoit Goby2012-03-262-0/+585
|\ \ \ \ \