X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Finternal%2Fvis.h;h=35855fc8ab9fbd587fa6fdecbaeec4cb1014016b;hb=50a298ea3b122efbb31e7674a20e6c7dc30ca1dc;hp=bf7a5b206e672968c7db0931d835e53b1bff7c92;hpb=f3a53f095cd8ba108f8ac780da27a5ebbf4b224f;p=musl diff --git a/src/internal/vis.h b/src/internal/vis.h index bf7a5b20..35855fc8 100644 --- a/src/internal/vis.h +++ b/src/internal/vis.h @@ -4,10 +4,9 @@ * override default visibilities to reduce the size and performance costs * of position-independent code. */ -#ifndef CRT -#ifdef SHARED +#if !defined(CRT) && !defined(__ASSEMBLER__) -/* For shared libc.so, all symbols should be protected, but some toolchains +/* Conceptually, all symbols should be protected, but some toolchains * fail to support copy relocations for protected data, so exclude all * exported data symbols. */ @@ -25,16 +24,4 @@ extern char *optarg, **environ, **__environ, *tzname[2], *__tzname[2], *__progna #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"))) -extern void (*const __init_array_start)(), (*const __init_array_end)(), - (*const __fini_array_start)(), (*const __fini_array_end)(); - -#pragma GCC visibility push(hidden) - -#endif #endif