path: root/configure
diff options
authorRich Felker <>2018-09-12 18:49:08 -0400
committerRich Felker <>2018-09-12 18:49:08 -0400
commit5e46e8d4b0fee11a5d2ea12d0d21ed0bff6db855 (patch)
treeedc83ab297daca652d26055c26bc0d04ba219888 /configure
parent5f12ffe1239a5e4f8d4e98e2dff4e191a71f4693 (diff)
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.
Diffstat (limited to 'configure')
1 files changed, 0 insertions, 38 deletions
diff --git a/configure b/configure
index f940af9a..6e489a1d 100755
--- a/configure
+++ b/configure
@@ -31,7 +31,6 @@ Optional features:
--enable-optimize=... optimize listed components for speed over size [auto]
--enable-debug build with debugging information [disabled]
--enable-warnings build with recommended warnings flags [disabled]
- --enable-visibility use global visibility options to optimize PIC [no]
--enable-wrapper=... build given musl toolchain wrapper [auto]
--disable-shared inhibit building shared library [enabled]
--disable-static inhibit building static library [enabled]
@@ -135,7 +134,6 @@ target=
@@ -163,9 +161,6 @@ case "$arg" in
--disable-debug|--enable-debug=no) debug=no ;;
--enable-warnings|--enable-warnings=yes) warnings=yes ;;
--disable-warnings|--enable-warnings=no) warnings=no ;;
---enable-visibility=auto) visibility=auto ;;
---enable-visibility|--enable-visibility=yes) visibility=yes ;;
---disable-visibility|--enable-visibility=no) visibility=no ;;
--enable-wrapper|--enable-wrapper=yes) wrapper=detect ;;
--enable-wrapper=all) wrapper=yes ; gcc_wrapper=yes ; clang_wrapper=yes ;;
--enable-wrapper=gcc) wrapper=yes ; gcc_wrapper=yes ;;
@@ -525,39 +520,6 @@ tryflag CFLAGS_AUTO -Wno-unknown-pragmas
tryflag CFLAGS_AUTO -Wno-pointer-to-int-cast
-if test "x$visibility" = xauto ; then
-# This test checks toolchain support for several things:
-# - the -include option
-# - the attributes/pragmas used in vis.h
-# - linking code that takes the address of protected symbols
-# - gcc 3.x bug that wrongly claims declarations mismatch
-printf "checking whether global visibility preinclude works... "
-cat > "$tmpc" <<EOF
-extern struct a *const x;
-typedef struct a b;
-extern b *const x;
-b *const x;
-int (*fp)(void);
-int foo(void) { }
-int bar(void) { fp = foo; return foo(); }
- -DSHARED -fPIC -I$srcdir/src/internal -include vis.h \
- -nostdlib -shared -Wl,-Bsymbolic-functions \
- -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
-printf "%s\n" "$visibility"
-if test "x$visibility" = xyes ; then
-CFLAGS_AUTO="$CFLAGS_AUTO -include vis.h"
# Determine if the compiler produces position-independent code (PIC)
# by default. If so, we don't need to compile separate object files
# for libc.a and