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
This commit is contained in:
Elliott Hughes 2014-05-22 20:06:23 -07:00
parent ea7dc32080
commit 2899de9b05
2 changed files with 13 additions and 0 deletions

View File

@ -42,4 +42,8 @@ struct glue {
FILE *iobs;
};
#pragma GCC visibility push(hidden)
extern struct glue __sglue;
#pragma GCC visibility pop

View File

@ -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