use wrapper headers to hide most namespaced/internally-public symbols

not all prefixed symbols can be made hidden. some are part of
ABI-compat (e.g. __nl_langinfo_l) and others are ABI as a consequence
of the way copy relocations for weak aliases work in ELF shared
libraries. most, however, can be made hidden.

with this commit, there should be no remaining unintentionally visible
symbols exported from libc.so.
This commit is contained in:
Rich Felker
2018-09-12 14:34:37 -04:00
parent ced75472d7
commit 0676c3a34c
12 changed files with 64 additions and 60 deletions
+5 -5
View File
@@ -3,10 +3,10 @@
#include "../../include/stdlib.h"
int __putenv(char *, size_t, char *);
void __env_rm_add(char *, char *);
int __mkostemps(char *, int, int);
int __ptsname_r(int, char *, size_t);
char *__randname(char *);
hidden int __putenv(char *, size_t, char *);
hidden void __env_rm_add(char *, char *);
hidden int __mkostemps(char *, int, int);
hidden int __ptsname_r(int, char *, size_t);
hidden char *__randname(char *);
#endif