summaryrefslogtreecommitdiffstats
path: root/libc/stdio
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-05-22 20:06:23 -0700
committerElliott Hughes <enh@google.com>2014-05-22 20:06:23 -0700
commit2899de9b05f15e67966ed3d046709b48703a162a (patch)
tree593a1f614b86d09b638398586d617addd4fdc3a4 /libc/stdio
parentea7dc32080114af59789c119ca6aa4814426ea42 (diff)
downloadbionic-2899de9b05f15e67966ed3d046709b48703a162a.zip
bionic-2899de9b05f15e67966ed3d046709b48703a162a.tar.gz
bionic-2899de9b05f15e67966ed3d046709b48703a162a.tar.bz2
Hide various stdio implementation details.
I've left __sF exposed since that's how the OpenBSD stdin, stdout, stderr are implemented. Other BSDs and glibc use a separate global for each instead of an array. Bug: 11156955 Change-Id: I9f3d2d4314a8d4a78c3197b9acd9258820c5f150
Diffstat (limited to 'libc/stdio')
-rw-r--r--libc/stdio/glue.h4
-rw-r--r--libc/stdio/local.h9
2 files changed, 13 insertions, 0 deletions
diff --git a/libc/stdio/glue.h b/libc/stdio/glue.h
index 73cef63..81f83fc 100644
--- a/libc/stdio/glue.h
+++ b/libc/stdio/glue.h
@@ -42,4 +42,8 @@ struct glue {
FILE *iobs;
};
+#pragma GCC visibility push(hidden)
+
extern struct glue __sglue;
+
+#pragma GCC visibility pop
diff --git a/libc/stdio/local.h b/libc/stdio/local.h
index 7afa761..7ab73c0 100644
--- a/libc/stdio/local.h
+++ b/libc/stdio/local.h
@@ -41,6 +41,8 @@
#include "wcio.h"
#include "fileext.h"
+#pragma GCC visibility push(hidden)
+
int __sflush(FILE *);
int __sflush_locked(FILE *);
FILE *__sfp(void);
@@ -118,3 +120,10 @@ static __inline int __sputc(int _c, FILE* _p) {
return (__swbuf(_c, _p));
}
}
+
+/* OpenBSD declares these in fvwrite.h but we want to ensure they're hidden. */
+struct __suio;
+extern int __sfvwrite(FILE *, struct __suio *);
+wint_t __fputwc_unlock(wchar_t wc, FILE *fp);
+
+#pragma GCC visibility pop