summaryrefslogtreecommitdiffstats
path: root/libc
Commit message (Collapse)AuthorAgeFilesLines
* Sort the syscalls.mk files, give all generated files the same header.Elliott Hughes2013-10-16834-1559/+2398
| | | | | | No non-comment changes to the .S files. Change-Id: Iafcfd004c3ea92b64268f80ab16df615b97cefac
* Switch sigpending over to rt_sigpending.Elliott Hughes2013-10-1612-40/+99
| | | | Change-Id: I7b28984796b5fb343cfbcc47e0afc3a84293d417
* Remove support for the useless 'custom' option in SYSCALLS.TXT.Elliott Hughes2013-10-152-11/+2
| | | | | | | | | This cruft dates from a time when bionic would only output syscall contants for the syscalls mentioned in SYSCALLS.TXT. I fixed that a long time ago, but never followed through with the removal of what was then confusingly called "stub" and was recently renamed "custom". Change-Id: I8f3872a200b2dc8325e357cc5ee505ea4212ef95
* Fix sigsuspend to use rt_sigsuspend on all platforms.Elliott Hughes2013-10-1514-82/+36
| | | | Change-Id: I981c1a66d35480d4457a0a08a1b042dac94daa5b
* 'Avoid confusing "read prevented write" log messages' 2.Elliott Hughes2013-10-1516-16/+16
| | | | | | This time it's assembler. Change-Id: Iae6369833b8046b8eda70238bb4ed0cae64269ea
* Merge "Make pthread_create report sched_setscheduler failures on LP64."Elliott Hughes2013-10-161-2/+4
|\
| * Make pthread_create report sched_setscheduler failures on LP64.Elliott Hughes2013-10-151-2/+4
| | | | | | | | | | | | | | | | | | We couldn't fix this for 32-bit because there's too much broken code out there. (Pretty much everyone asks for real-time scheduling for all their threads, and the kernel says "don't be stupid".) Change-Id: I43c5271e6b6bb91278b9a19eec08cbf05391e3c4
* | Merge "Avoid confusing "read prevented write" log messages."Elliott Hughes2013-10-1522-232/+182
|\ \
| * | Avoid confusing "read prevented write" log messages.Elliott Hughes2013-10-1522-232/+182
| |/ | | | | | | | | | | Moving to a "function: message" style avoids ambiguity. Change-Id: If9d590e50265c61725d3673bd03796e65edd2d5e
* | Fix indentation in sched_getaffinity.Elliott Hughes2013-10-151-1/+1
|/ | | | Change-Id: I966852149a0255ca132cd7a15f135a875ce400d0
* Merge "Modify prefetch for krait memcpy."Christopher Ferris2013-10-151-1/+1
|\
| * Modify prefetch for krait memcpy.Christopher Ferris2013-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | I originally modified the krait mainloop prefetch from cacheline * 8 to * 2. This causes a perf degradation for copies bigger than will fit in the cache. Fixing this back to the original * 8. I tried other multiples, but * 8 is th sweet spot on krait. Bug: 11221806 Change-Id: I1f75fad6440f7417e664795a6e7b5616f6a29c45
* | Clean up the sigprocmask/pthread_sigmask implementation.Elliott Hughes2013-10-1511-97/+27
|/ | | | | | | | | | | Let's have both use rt_sigprocmask, like in glibc. The 64-bit ABIs can share the same code as the 32-bit ABIs. Also, let's test the return side of these calls, not just the setting. Bug: 11069919 Change-Id: I11da99f85b5b481870943c520d05ec929b15eddb
* Wrap sprintf()/snprintf() macros to prevent expansion errors.Stephen Hines2013-10-111-2/+4
| | | | | | | | | | Previously, FORTIFY_SOURCE used single macros to define these standard functions for use with clang. This can cause conflicts with other macros used to call these functions, particularly when those macros expand the number of arguments to the function. This change wraps our macro definitions, so that expansion properly takes place for programmer arguments first. Change-Id: I55929b1fd2a643b9d14a17631c4bcab3b0b712cf
* Merge "FORTIFY_SOURCE: fortify read()"Nick Kralevich2013-10-103-0/+77
|\
| * FORTIFY_SOURCE: fortify read()Nick Kralevich2013-10-093-0/+77
| | | | | | | | Change-Id: Ic7de163fe121db13e00560adb257331bc709814d
* | Clean up the cpuacct cruft.Elliott Hughes2013-10-0926-321/+80
|/ | | | Change-Id: I6ed63af8dfc2368e211420389fa8af4d5dc0908f
* Revert "FORTIFY_SOURCE: fortify read()"Nick Kralevich2013-10-093-77/+0
| | | | | | | | This change reverts * fb3f956d075676c0438f2ee2bf3a5be659dfc04b. * 65c99de2cb7a569ea17ca35e2f8f1e033421864b Change-Id: Id5774eeede41130579115cf67a72ee914f2b47d5
* Fix MIPS build.Elliott Hughes2013-10-092-3/+2
| | | | | | | | Warnings are errors for all home-grown bionic code, and the arch-specific code now counts as home-grown bionic code (it was mistakenly counted as "not ours" before). Change-Id: I9c6a881b0dc596bae7dfe112c5c189e073800a3a
* Fix build.Elliott Hughes2013-10-091-1/+1
| | | | | | 'private' is no longer on the default include path inside bionic. Change-Id: I9bfab213a496fac585787118603af3aa2a1f9951
* Merge "Fix x86_64 build, clean up intermediate libraries."Elliott Hughes2013-10-0986-200/+229
|\
| * Fix x86_64 build, clean up intermediate libraries.Elliott Hughes2013-10-0986-200/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The x86_64 build was failing because clone.S had a call to __thread_entry which was being added to a different intermediate .a on the way to making libc.so, and the linker couldn't guarantee statically that such a relocation would be possible. ld: error: out/target/product/generic_x86_64/obj/STATIC_LIBRARIES/libc_common_intermediates/libc_common.a(clone.o): requires dynamic R_X86_64_PC32 reloc against '__thread_entry' which may overflow at runtime; recompile with -fPIC This patch addresses that by ensuring that the caller and callee end up in the same intermediate .a. While I'm here, I've tried to clean up some of the mess that led to this situation too. In particular, this removes libc/private/ from the default include path (except for the DNS code), and splits out the DNS code into its own library (since it's a weird special case of upstream NetBSD code that's diverged so heavily it's unlikely ever to get back in sync). There's more cleanup of the DNS situation possible, but this is definitely a step in the right direction, and it's more than enough to get x86_64 building cleanly. Change-Id: I00425a7245b7a2573df16cc38798187d0729e7c4
* | Merge "FORTIFY_SOURCE: fortify read()"Nick Kralevich2013-10-093-0/+77
|\ \ | |/ |/|
| * FORTIFY_SOURCE: fortify read()Nick Kralevich2013-10-093-0/+77
| | | | | | | | Change-Id: I3d7b4ec86d04efb865117ce7629a2e26917f3331
* | Fix __errno for LP64 and clean up __get_tls.Elliott Hughes2013-10-0913-102/+55
|/ | | | | | | | | | | If __get_tls has the right type, a lot of confusing casting can disappear. It was probably a mistake that __get_tls was exposed as a function for mips and x86 (but not arm), so let's (a) ensure that the __get_tls function always matches the macro, (b) that we have the function for arm too, and (c) that we don't have the function for any 64-bit architecture. Change-Id: Ie9cb989b66e2006524ad7733eb6e1a65055463be
* Fix 32-bit build.Elliott Hughes2013-10-081-0/+2
| | | | | | | libc/tzcode/localtime.c: In function 'differ_by_repeat': libc/tzcode/localtime.c:338:2: error: comparison is always false due to limited range of data type [-Werror=type-limits] Change-Id: Ic84be6391a66e9d50ed98f41d865387c77a60ffa
* Merge "Fix malloc debugging for LP64."Elliott Hughes2013-10-092-22/+23
|\
| * Fix malloc debugging for LP64.Elliott Hughes2013-10-082-22/+23
| | | | | | | | Change-Id: Idd0b239f5c66d45de315d556271a5d13b8eb907c
* | Merge "Don't allow int<->pointer conversions."Elliott Hughes2013-10-091-1/+7
|\ \
| * | Don't allow int<->pointer conversions.Elliott Hughes2013-10-081-1/+7
| |/ | | | | | | | | | | | | | | Normally we don't have -Werror for upstream code, but for those warnings that probably point to 32-bit assumptions about pointers, we want those warnings to always be errors. Change-Id: Ibece9caf09b2f7989ca600ef448d07868669a8fb
* | Fix bionic's built-in stack trace dumping for LP64.Elliott Hughes2013-10-081-6/+14
|/ | | | Change-Id: I967c5789d7bb2d3d248d94d81a40d5ec4e1bf26d
* Fix the ALIGN and ALIGNBYTES macros for LP64.Elliott Hughes2013-10-081-2/+7
| | | | Change-Id: I3a361255afce375ab1cefa449721f0aea4d47919
* Merge "pthread_exit should call __NR_exit with status 0."Elliott Hughes2013-10-086-24/+20
|\
| * pthread_exit should call __NR_exit with status 0.Elliott Hughes2013-10-086-24/+20
| | | | | | | | | | | | | | We shouldn't have been passing the bottom 32 bits of the address used for pthread_join to the kernel. Change-Id: I487e5002d60c27adba51173719213abbee0f183f
* | Make logging fall back to /dev/stderr if we're on the host.Elliott Hughes2013-10-081-0/+25
|/ | | | | | Otherwise you get no logging, which sucks. Change-Id: Iea1e8f996461afbb217a55711b7967005c39cfcb
* Refactor the syscall generation script.Elliott Hughes2013-10-071-151/+157
| | | | | | | Primarily so that the new x86_64 alias functionality is now available for all architectures. Change-Id: I9fde59093a1d08de98923f121a6e3d05ec5801d2
* Merge "Add an optional alias list to SYSCALLS.TXT"Elliott Hughes2013-10-084-5/+32
|\
| * Add an optional alias list to SYSCALLS.TXTH.J. Lu2013-10-074-5/+32
| | | | | | | | | | | | | | | | | | This patch adds an optional alias list to SYSCALLS.TXT. It is used to create aliases for a syscall. For x86-64, lseek64 is an alias for lseek. Change-Id: Icb11fd2bb461ea4f5f0a26bfc585471d7d7cc468 Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* | libc: fix __cxa_atexit implicit declarationsynergydev2013-10-071-4/+5
| | | | | | | | Change-Id: Iacad18b332a717e4485c83df4bd42a850ff7699f
* | Merge "Clean up the x86 and x86_64 _exit_with_stack_teardown implementations."Elliott Hughes2013-10-073-41/+29
|\ \
| * | Clean up the x86 and x86_64 _exit_with_stack_teardown implementations.Elliott Hughes2013-10-073-41/+29
| |/ | | | | | | Change-Id: I4bcbbc53893612bd94643ef07722becb00f91792
* | Don't define the meaningless SOFTFLOAT for x86.Elliott Hughes2013-10-071-2/+0
|/ | | | Change-Id: I9f932ad5d9f731a0de18efb881d02cedf9fcbede
* Fix MIPS build.Elliott Hughes2013-10-061-1/+1
| | | | | | | | Although 'register' is deprecated, we need to use v1, and there's no way to do that through register constraints on the assembler fragment itself. Change-Id: Ib5b12c4c3652513d10cc61d4a4b11314ece25663
* Merge "libc: Remove deprecated register"Elliott Hughes2013-10-071-4/+4
|\
| * libc: Remove deprecated registersynergydev2013-10-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In c++11, register has been deprecated, and libc is now built as gnu++11 From the documentation: A register specifier is a hint to the implementation that the variable so declared will be heavily used. [ Note: The hint can be ignored and in most implementations it will be ignored if the address of the variable is taken. This use is deprecated (see D.2) Change-Id: I459dc3f5f9de63fc09eeda3bc6700f31bdf20f6f
* | Upgrade to tzdata2013g.Elliott Hughes2013-10-061-0/+0
|/ | | | | | | | | | | | From the release notes: Changes affecting current and near-future time stamps Morocco now observes DST from the last Sunday in March to the last Sunday in October, not April to September respectively. (Thanks to Steffen Thorsen.) Change-Id: I9a657a1b819ce17bb424474d4bcdae093f4c4dca
* Add arch-x86_64/include/machine.Elliott Hughes2013-10-0415-37/+767
| | | | | | | | | | | | | This is basically the other half of I5de76f6c46ac87779f207d568a86bb453e2414de from Pavel Chupin <pavel.v.chupin@intel.com>, but taking the exact upstream _types.h instead of the modified version. (I was confused when I suggested otherwise.) I've also cleaned up the internal_types.h situation; we weren't gaining anything from these empty files, and there is no upstream internal_types.h for x86_64. Change-Id: I802a9a6a8df1c979e820659212c75a47c2ef392e
* Merge "Add arch-x86_64/bionic."Elliott Hughes2013-10-0418-11/+866
|\
| * Add arch-x86_64/bionic.Elliott Hughes2013-10-0418-11/+866
| | | | | | | | | | | | | | | | This is basically half of I5de76f6c46ac87779f207d568a86bb453e2414de from Pavel Chupin <pavel.v.chupin@intel.com>, but with the stock upstream setjump/sigsetjmp and H.J. Lu's suggested changes to __rt_sigreturn. Change-Id: I8167ec228faeb2065391e5bec0413cca662f3d33
* | Merge "Make error messages even better!"Nick Kralevich2013-10-0430-32/+32
|\ \ | |/ |/|