diff options
author | Elliott Hughes <enh@google.com> | 2014-07-10 12:34:23 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2014-07-10 12:34:23 -0700 |
commit | 91570ce987ef93f9ba2fa663a5fee1bd2525a2ba (patch) | |
tree | 6d79ac1618f8415982041faf046378f8b684a12e /libc/stdlib | |
parent | f0f8cd1ff3e7f7124cab8a687370b51df4ec93de (diff) | |
download | bionic-91570ce987ef93f9ba2fa663a5fee1bd2525a2ba.zip bionic-91570ce987ef93f9ba2fa663a5fee1bd2525a2ba.tar.gz bionic-91570ce987ef93f9ba2fa663a5fee1bd2525a2ba.tar.bz2 |
Slim down static binaries by avoiding stdio.
It's okay for a program to choose to drag in stdio, but it's unfortunate
if even the minimal "int main() { return 42; }" drags in stdio...
This brings the minimal static binary on ARM down from 78KiB to 46KiB.
Given that we don't have a separate -lpthread it's not obvious to me that
we can shave this down any further. I'm not sure whether this is a worthwhile
change for that reason. (And the fact that dynamic binaries, the usual case,
are unaffected either way.)
Change-Id: I02f91dcff37d14354314a30b72fed2563f431c88
Diffstat (limited to 'libc/stdlib')
-rw-r--r-- | libc/stdlib/atexit.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libc/stdlib/atexit.c b/libc/stdlib/atexit.c index 05f2faa..e10238b 100644 --- a/libc/stdlib/atexit.c +++ b/libc/stdlib/atexit.c @@ -103,7 +103,7 @@ __cxa_atexit(void (*func)(void *), void *arg, void *dso) { struct atexit *p = __atexit; struct atexit_fn *fnp; - size_t pgsize = sysconf(_SC_PAGESIZE); + size_t pgsize = getpagesize(); int ret = -1; if (pgsize < sizeof(*p)) @@ -219,7 +219,7 @@ void __atexit_register_cleanup(void (*func)(void)) { struct atexit *p; - size_t pgsize = sysconf(_SC_PAGESIZE); + size_t pgsize = getpagesize(); if (pgsize < sizeof(*p)) return; @@ -248,4 +248,3 @@ __atexit_register_cleanup(void (*func)(void)) unlock: _ATEXIT_UNLOCK(); } - |