summaryrefslogtreecommitdiffstats
path: root/libstdc++
Commit message (Collapse)AuthorAgeFilesLines
* Fix filename in comment in cmathm4tx2014-09-141-1/+1
| | | | | | | It looks like the file comment was copy-pasted from ctime. Fixed filename in comment to "math.h". Change-Id: I27b0c2a7827076a91fc7b63913fad6eee4d6a79e Signed-off-by: m4tx <m4tx@m4tx.pl>
* Add standard throw() spec to delete operators.Chih-Hung Hsieh2014-08-251-6/+6
| | | | | | Without these specs, clang will reports mismatch between standard definitions and these declarations/definitions. These specs are ignored when compiled with -fno-exceptions. BUG: 17136236 Change-Id: I386c712a61dc4fc74dfde45f9ec2d3d037f2e9f1
* Hide C++ stuff in libc. Put it back in libstdc++.Dan Albert2014-08-182-16/+0
| | | | | Bug: 17062445 Change-Id: I027b186719654c2865b08c3fa83f90fa00c1e838
* Remove declarations for things that don't exist.Elliott Hughes2014-07-291-3/+0
| | | | | | The <grp.h> ones prevent gdb from building out of the box. Change-Id: I0efbffad2215cfcd75b4d442dfc972444b51d97c
* Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.Elliott Hughes2014-07-221-4/+4
| | | | Change-Id: Id6fcb74292e661504d0758bfce24abdc18cb8d32
* Regenerate the bionic NOTICE files.Elliott Hughes2014-07-071-4/+0
| | | | | | | Also fix a few formatting issues in copyright headers that were confusing the script (though obviously it would be better if the script were smarter). Change-Id: I7f561bef4f84fdcbd84f375ee226bd65db0e507b
* Hide declaration of gets(3) for C11 and later.Dan Albert2014-06-171-0/+2
| | | | | | | | | gets(3) was removed from C11. This reverts commit 1291680c2a0c23b2163198d27e00261ca206298b. Bug: 14500800 Change-Id: I5e5146bdbb80f2be818a17f287b112bab37d1f6d
* Revert "Hide declaration of gets(3) for C11 and later."Dan Albert2014-06-171-2/+0
| | | | | | | Breaks stlport. checkbuild lied to me? This reverts commit c0ce5908277a9bf18628946629dba4277e9a2281. Change-Id: I72fb21aba7eaea96a7c3208236fd03411527fa5e
* Hide declaration of gets(3) for C11 and later.Dan Albert2014-06-171-0/+2
| | | | | | gets(3) was removed from C11. Change-Id: I4040a8a6c6d5d2a86878e8a80ca67964fbbb82a8
* Move libstdc++ into libc.Elliott Hughes2014-05-146-235/+3
| | | | | | | | | | | | | | | | | | | | The Android build system always links against libstdc++.so anyway. Having operator new and operator delete in a separate library means we can't use constructors and destructors on heap-allocated objects inside the C library, which is quite an unfortunate limitation. This will be cheaper too; on LP64 we can stop linking against the [now empty] libstdc++.so giving the dynamic linker one less library to worry about for every process. There's precedent too --- we already have no libpthread or librt. For now I'm leaving the include files where they are, and I'm generating a dummy libstdc++.so and libstdc++.a. We can come back and clean that up later if all goes well. Bug: 13367666 Change-Id: I6f3e27ea7c30d03d6394965d0400c9dc87fa83db
* Clean up warnings in libstdc++.Elliott Hughes2014-02-182-14/+10
| | | | Change-Id: Ie71a2fdf227e7a5fc9a446bb1be110da9b3a4280
* Fix x86_64 build, clean up intermediate libraries.Elliott Hughes2013-10-091-2/+3
| | | | | | | | | | | | | | | | | | | | | | 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
* Clean up internal libc logging.Elliott Hughes2013-03-151-1/+1
| | | | | | | | | | | We only need one logging API, and I prefer the one that does no allocation and is thus safe to use in any context. Also use O_CLOEXEC when opening the /dev/log files. Move everything logging-related into one header file. Change-Id: Ic1e3ea8e9b910dc29df351bff6c0aa4db26fbb58
* Regenerate all NOTICE files with the latest version of the script.Elliott Hughes2012-08-151-25/+25
| | | | | | | This sorts every entry, so we should have more stability and fewer merge conflicts in future. Change-Id: Ifc5347dc53352da22c82d41ca59b483966fcfc6b
* Add dependencies on all the makefiles.Elliott Hughes2012-08-131-0/+2
| | | | | | | This should help prevent broken builds next time I'm messing with assembler/compiler/linker flags... Change-Id: I30f15a3ce3c3f3c60cad7bc59aaba9f42d792224
* Auto-generate a complete NOTICE file.Elliott Hughes2012-08-092-25/+82
| | | | | | | Remove the hand-collated ones, and switch to a script that pulls the copyright headers out of every file and collects the unique ones. Change-Id: Ied3b98b3f56241df97166c410ff81de4e0157c9d
* Report errors to the log, not just stderr.Elliott Hughes2012-07-273-11/+9
| | | | | | | | | | In particular this affects assert(3) and __cxa_pure_virtual, both of which have managed to confuse people this week by apparently aborting without reason. (Because stderr goes nowhere, normally.) Bug: 6852995 Bug: 6840813 Change-Id: I7f5d17d5ddda439e217b7932096702dc013b9142
* resolved conflicts for merge of 35d592cc to masterElliott Hughes2012-04-161-18/+74
|\ | | | | | | Change-Id: I8184302daf61814d26c837f9920b4e68d96d7f65
| * libstdc++: Fix x86 thread-safe one-time-construction implementation.Fengwei Yin2012-04-161-18/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The root of the problem is that the existing implementation is based on the ARM C++ ABI, which mandates a different guard variable layout than the Itanium/x86 C++ one. This patch modifies the implementation in a way that satisfies both ABIs (and doesn't require changing the toolchains). Change-Id: I885e9adc7f088b9c0a78355bd752f1e6aeec9f07 Signed-off-by: Fengwei Yin <fengwei.yin@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
* | bionic: Do not use <sys/atomics.h> for platform code.David 'Digit' Turner2011-11-161-3/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're going to modify the __atomic_xxx implementation to provide full memory barriers, to avoid problems for NDK machine code that link to these functions. First step is to remove their usage from our platform code. We now use inlined versions of the same functions for a slight performance boost. + remove obsolete atomics_x86.c (was never compiled) NOTE: This improvement was benchmarked on various devices. Comparing a pthread mutex lock + atomic increment + unlock we get: - ARMv7 emulator, running on a 2.4 GHz Xeon: before: 396 ns after: 288 ns - x86 emulator in KVM mode on same machine: before: 27 ns after: 27 ns - Google Nexus S, in ARMv7 mode (single-core): before: 82 ns after: 76 ns - Motorola Xoom, in ARMv7 mode (multi-core): before: 121 ns after: 120 ns The code has also been rebuilt in ARMv5TE mode for correctness. Change-Id: Ic1dc72b173d59b2e7af901dd70d6a72fb2f64b17
* libstdc++: make operator new call abort on failure.David 'Digit' Turner2011-06-141-2/+2
| | | | | | | | | | | This change ensures that operator new will call abort() in case of memory allocation failure. Note that due to our usage of memory overcommit, this can only happen under very rare circumstances (i.e. trying to allocate memory larger than the larger free range of virtual address space, or when memory is corrutped in various ways). Change-Id: I128b8bf626216e899c22a00f24492cd148a1fc94
* Fix the build. Oops.David 'Digit' Turner2010-10-111-0/+2
| | | | | | | (We remove the declaration for on_exit() from the C library headers, so do the same for the C++ <cstdlib>) Change-Id: I31a21d5643068cd160724908dd8156863a44d95a
* Add missing SMP barriers to libstdc++David 'Digit' Turner2010-07-072-7/+27
| | | | Change-Id: I20a8dcd2e3316ac60237e800c682cacc8e59e187
* libstdc++: use extern "C++" in all our C++ system headers.David 'Digit' Turner2010-06-2511-0/+43
| | | | | | | This is needed to build an independent toolchain with g++ that doesn't think that all these headers are in C. Change-Id: Ie9a8ccfcab7780d6a4e5722777d61c2b1b312001
* optimize delete/delete[] operators by removing unneeded branchAndré Goddard Rosa2010-01-301-12/+4
| | | | | | Remove redundant not NULL check already done in free(). Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com>
* eclair snapshotJean-Baptiste Queru2009-11-121-38/+7
|
* Add new C++ headers <cerrno> and <cfloat>David 'Digit' Turner2009-07-104-0/+84
| | | | | Also add std::malloc/realloc/calloc/free to <cstdlib> Rename <cwchar_is_not_supported> to <cwchar>
* Add <cmath> standard C++ header.David 'Digit' Turner2009-05-181-0/+71
| | | | This is needed for upcoming STLport experimentation.
* AI 145714: Added cstring wrapper around string.h.Niko Catania2009-04-104-3/+161
| | | | | | | In new, include cstddef which declares std::size_t. BUG=1601432 Automated import of CL 145714
* AI 145059: (Almost) final set of wrapper around the C headers for stdc++ and ↵Niko Catania2009-04-087-2/+341
| | | | | | | | | | | | | | | | | | | | their tests. The only one left is cstring. * bionic/libstdc++/include/cstdlib: * bionic/libstdc++/include/cstdio: * bionic/libstdc++/include/cstdint: * bionic/libstdc++/include/csignal: * bionic/libstdc++/include/csetjmp: Added header file. Checks the bionic headers file were picked up instead of the host ones. Added test for new header files * system/extras/tests/bionic/libstdc++/Android.mk: Added tests for the new header files. EXTRA_CFLAGS: include the bionic header files. BUG=1601432 Automated import of CL 145059
* AI 144236: Added new C to stdc++ header files: cassert, cctype, climits, ctime.Niko Catania2009-04-024-0/+189
| | | | | | | QA Impact:None BUG=1601432 Automated import of CL 144236
* AI 143504: Completed cstddef to be non empty and similar to the gnu stl ↵Niko Catania2009-03-301-0/+46
| | | | | | | | | | | | | | implementation. Even if we don't want to have a bloated stl implementation, having empty files around is probably not very good either. Added a test to make sure the header file compiles on host and kila-eng. QA Impact: In system/extras/test/bionic/libstdc++ build the tests using: mm BIONIC_TESTS=1 to build the host and target tests. BUG=1601432 Automated import of CL 143504
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-0312-0/+428
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-0312-428/+0
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-172-0/+160
|
* Initial Contributionandroid-1.0The Android Open Source Project2008-10-2110-0/+268