/* 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. */#ifndef CRT#ifdef SHARED/* For shared libc.so, 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")))externintoptind,opterr,optopt,optreset,__optreset,getdate_err,h_errno,daylight,__daylight,signgam,__signgam;__attribute__((__visibility__("default")))externlongtimezone,__timezone;__attribute__((__visibility__("default")))externchar*optarg,**environ,**__environ,*tzname[2],*__tzname[2],*__progname,*__progname_full;#pragma GCC visibility push(protected)#elif defined(__PIC__)/* If building static libc.a as position-independent code, try to make * everything hidden except possibly-undefined weak references. */__attribute__((__visibility__("default")))externvoid(*const__init_array_start)(),(*const__init_array_end)(),(*const__fini_array_start)(),(*const__fini_array_end)();#pragma GCC visibility push(hidden)#endif#endif