bionic/libc
Elliott Hughes bb46afd6c4 Revert "Revert "Remove __sinit and __sdidinit.""
This reverts commit c8bae05f3f.

We were breaking init (ueventd) because we initialize system properties
before we initialize stdio. The new system property implementation uses
stdio to read from /property_contexts, so we end up touching stdio data
structures before they've been initialized.

This second attempt takes things further by removing the stdio initialization
function altogether. The data structures for stdin/stdout/stderr can be
statically initialized as data, and -- since we already had to give the
atexit implementation a backdoor for stdio -- we can just admit that we
need to clean up stdio, and that we always do so last.

This patch also removes the 17 statically pre-allocated file structures,
so the first fopen will now allocate a block of 10 (the usual overflow
behavior). I did this just to make my life simpler, but it's not actually
necessary to remove it if we want it back.

Change-Id: I936b2eb5e88e4ebaf5516121872b71fc88e5609c
2015-12-05 07:30:59 -08:00
..
arch-arm fix the mremap signature 2015-11-06 13:14:43 -08:00
arch-arm64 fix the mremap signature 2015-11-06 13:14:43 -08:00
arch-common/bionic Properly align init/fini_arrays for crtend.o 2015-05-07 11:57:53 -07:00
arch-mips fix the mremap signature 2015-11-06 13:14:43 -08:00
arch-mips64 fix the mremap signature 2015-11-06 13:14:43 -08:00
arch-x86 fix the mremap signature 2015-11-06 13:14:43 -08:00
arch-x86_64 fix the mremap signature 2015-11-06 13:14:43 -08:00
bionic Revert "Revert "Remove __sinit and __sdidinit."" 2015-12-05 07:30:59 -08:00
dns Fix alignment after variable-length data. 2015-07-06 14:43:28 -07:00
include Separate properties by selabel 2015-12-02 15:17:03 -08:00
kernel <netinet/udp.h> should include <linux/udp.h>. 2015-09-22 12:34:13 -07:00
private Explicitly disallow default c-tor 2015-12-01 16:57:19 -08:00
stdio Revert "Revert "Remove __sinit and __sdidinit."" 2015-12-05 07:30:59 -08:00
stdlib Revert "Revert "Remove __sinit and __sdidinit."" 2015-12-05 07:30:59 -08:00
tools Generate libdl.so per-architecture version script 2015-10-30 17:43:27 -07:00
tzcode Improve libc time zone fallback behavior. 2015-11-13 08:38:48 -08:00
upstream-dlmalloc Return total footprint, not high water mark. 2014-10-13 12:45:35 -07:00
upstream-freebsd Move several FreeBSD functions to OpenBSD. 2015-09-14 19:01:58 -07:00
upstream-netbsd Sync with upstream NetBSD lib/libc/regex. 2015-09-14 18:45:52 -07:00
upstream-openbsd Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC. 2015-10-23 12:32:52 -07:00
zoneinfo Update timezone data to 2015g 2015-10-09 17:58:58 +01:00
Android.bp Enable using clang to build __cxa_thread_atexit_impl. 2015-11-30 14:43:52 -08:00
Android.mk Re-add putw for LP32 2015-12-02 17:31:32 -08:00
crt.mk Make .note.android.ident section type SH_NOTE 2015-02-12 21:37:20 -08:00
libc.arm64.map Implement pthread spin. 2015-11-18 17:51:21 -08:00
libc.arm.map Implement pthread spin. 2015-11-18 17:51:21 -08:00
libc.map.txt Implement pthread spin. 2015-11-18 17:51:21 -08:00
libc.mips64.map Implement pthread spin. 2015-11-18 17:51:21 -08:00
libc.mips.map Implement pthread spin. 2015-11-18 17:51:21 -08:00
libc.x86_64.map Implement pthread spin. 2015-11-18 17:51:21 -08:00
libc.x86.map Implement pthread spin. 2015-11-18 17:51:21 -08:00
MODULE_LICENSE_BSD auto import from //depot/cupcake/@135843 2009-03-03 19:28:35 -08:00
NOTICE Regenerate NOTICE files. 2015-08-28 20:23:52 -07:00
SYSCALLS.TXT fix the mremap signature 2015-11-06 13:14:43 -08:00
version_script.txt Revert "Fix volantis boot." 2015-05-07 15:12:24 -07:00