From 5e46e8d4b0fee11a5d2ea12d0d21ed0bff6db855 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 12 Sep 2018 18:49:08 -0400 Subject: remove vis.h protected-visibility hack since commit dc2f368e565c37728b0d620380b849c3a1ddd78f this has been disabled by default, but was left available in case users unhappy with the resulting size or performance regressions wanted to try to make it work. now that we make widespread use of hidden visibility for internal interfaces, this no longer makes sense. if any costly calls remain they can be fixed with hidden aliases. --- src/internal/vis.h | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 src/internal/vis.h (limited to 'src/internal') diff --git a/src/internal/vis.h b/src/internal/vis.h deleted file mode 100644 index 35855fc8..00000000 --- a/src/internal/vis.h +++ /dev/null @@ -1,27 +0,0 @@ -/* This file is only used if enabled in the build system, in which case it is - * included automatically via command line options. It is not included - * explicitly by any source files or other headers. Its purpose is to - * override default visibilities to reduce the size and performance costs - * of position-independent code. */ - -#if !defined(CRT) && !defined(__ASSEMBLER__) - -/* Conceptually, all symbols should be protected, but some toolchains - * fail to support copy relocations for protected data, so exclude all - * exported data symbols. */ - -__attribute__((__visibility__("default"))) -extern struct _IO_FILE *const stdin, *const stdout, *const stderr; - -__attribute__((__visibility__("default"))) -extern int optind, opterr, optopt, optreset, __optreset, getdate_err, h_errno, daylight, __daylight, signgam, __signgam; - -__attribute__((__visibility__("default"))) -extern long timezone, __timezone; - -__attribute__((__visibility__("default"))) -extern char *optarg, **environ, **__environ, *tzname[2], *__tzname[2], *__progname, *__progname_full; - -#pragma GCC visibility push(protected) - -#endif -- cgit v1.2.1