summaryrefslogtreecommitdiffstats
path: root/libc/stdlib
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-07-10 12:34:23 -0700
committerElliott Hughes <enh@google.com>2014-07-10 12:34:23 -0700
commit91570ce987ef93f9ba2fa663a5fee1bd2525a2ba (patch)
tree6d79ac1618f8415982041faf046378f8b684a12e /libc/stdlib
parentf0f8cd1ff3e7f7124cab8a687370b51df4ec93de (diff)
downloadbionic-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.c5
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();
}
-