summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog52
-rw-r--r--INSTALL5
-rw-r--r--Makerules16
-rw-r--r--config.h.in3
-rw-r--r--config.make.in1
-rwxr-xr-xconfigure95
-rw-r--r--configure.in69
-rw-r--r--dlfcn/Makefile2
-rw-r--r--dlfcn/modstatic2.c2
-rw-r--r--dlfcn/tststatic2.c2
-rw-r--r--elf/Makefile2
-rw-r--r--extra-lib.mk2
-rw-r--r--hurd/Makefile2
-rw-r--r--hurd/geteuids.c2
-rw-r--r--include/libc-symbols.h4
-rw-r--r--include/shlib-compat.h8
-rw-r--r--libio/Makefile4
-rw-r--r--manual/install.texi5
-rw-r--r--nptl/ChangeLog6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S2
-rw-r--r--resolv/res_libc.c2
-rw-r--r--sunrpc/Makefile2
-rw-r--r--sysdeps/gnu/Makefile2
-rw-r--r--sysdeps/i386/i686/multiarch/strstr-c.c2
-rw-r--r--sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h2
-rw-r--r--sysdeps/powerpc/powerpc32/dl-machine.c7
-rw-r--r--sysdeps/powerpc/powerpc32/sysdep.h3
-rw-r--r--sysdeps/wordsize-32/divdi3.c2
28 files changed, 85 insertions, 221 deletions
diff --git a/ChangeLog b/ChangeLog
index 28120a581c..96c2c93949 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,55 @@
+2013-09-04  Joseph Myers  <joseph@codesourcery.com>
+
+	* configure.in (--enable-versioning): Remove configure option.
+	(libc_cv_asm_symver_directive): Remove configure test.
+	(libc_cv_ld_version_script_option): Likewise.
+	(VERSIONING): Remove variable and AC_SUBST.
+	(DO_VERSIONING): Remove AC_DEFINE.
+	* configure: Regenerated.
+	* config.h.in (DO_VERSIONING): Remove macro.
+	* Makerules [$(versioning) = yes]: Change conditionals to
+	[$(build-shared) = yes].
+	* config.make.in (versioning): Remove variable.
+	* dlfcn/Makefile [$(versioning) = yes]: Change conditionals to
+	[$(build-shared) = yes].
+	* dlfcn/modstatic2.c (test) [DO_VERSIONING]: Remove conditional.
+	* dlfcn/tststatic2.c (main) [DO_VERSIONING]: Likewise.
+	* elf/Makefile [$(versioning) = yes]: Change conditionals to
+	[$(build-shared) = yes].
+	* extra-lib.mk [$(versioning) = yes]: Likewise.
+	* hurd/Makefile [$(versioning) = yes]: Likewise.
+	* hurd/geteuids.c [SHARED && DO_VERSIONING]: Change conditional to
+	[SHARED].
+	* include/libc-symbols.h [DO_VERSIONING]: Change conditional to
+	[SHARED].
+	[SHARED && DO_VERSIONING && !NO_HIDDEN]: Change conditional to
+	[SHARED && !NO_HIDDEN].
+	* include/shlib-compat.h [DO_VERSIONING]: Change conditional to
+	[SHARED].
+	[SHARED && DO_VERSIONING]: Likewise..
+	* libio/Makefile [$(versioning) = yes]: Change conditionals to
+	[$(build-shared) = yes].
+	* manual/install.texi (--disable-versioning): Remove
+	documentation.
+	* INSTALL: Regenerated.
+	* resolv/res_libc.c [SHARED && DO_VERSIONING]: Change conditional
+	to [SHARED].
+	* sunrpc/Makefile [$(versioning) = yes]: Change conditional to
+	[$(build-shared) = yes].
+	* sysdeps/gnu/Makefile [$(versioning) = yes]: Likewise.
+	* sysdeps/i386/i686/multiarch/strstr-c.c
+	[SHARED && DO_VERSIONING && !NO_HIDDEN]: Change conditional to
+	[SHARED && !NO_HIDDEN].
+	* sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h
+	[SHARED && DO_VERSIONING]: Change conditional to [SHARED].
+	* sysdeps/powerpc/powerpc32/dl-machine.c
+	[SHARED && !(DO_VERSIONING - 0)]: Remove conditional error.
+	* sysdeps/powerpc/powerpc32/sysdep.h
+	[SHARED && DO_VERSIONING && PIC && !NO_HIDDEN]: Change conditional
+	to [SHARED && PIC && !NO_HIDDEN].
+	* sysdeps/wordsize-32/divdi3.c [SHARED && DO_VERSIONING]: Change
+	conditional to [SHARED].
+
 2013-09-04   Will Newton  <will.newton@linaro.org>
 
 	* benchtests/bench-timing.h (TIMING_PRINT_MEAN): New macro.
diff --git a/INSTALL b/INSTALL
index 2c61704b8f..211fd9174c 100644
--- a/INSTALL
+++ b/INSTALL
@@ -111,11 +111,6 @@ will be used, and CFLAGS sets optimization options for the compiler.
      Don't build libraries with profiling information.  You may want to
      use this option if you don't plan to do profiling.
 
-`--disable-versioning'
-     Don't compile the shared libraries with symbol version information.
-     Doing this will make the resulting library incompatible with old
-     binaries, so it's not recommended.
-
 `--enable-static-nss'
      Compile static versions of the NSS (Name Service Switch) libraries.
      This is not recommended because it defeats the purpose of NSS; a
diff --git a/Makerules b/Makerules
index 03eafb036f..cca3f82799 100644
--- a/Makerules
+++ b/Makerules
@@ -93,7 +93,7 @@ before-compile := $(filter $(common-objpfx)mach% $(common-objpfx)hurd%,\
 			       $(before-compile))
 
 # Even before that, we need abi-versions.h which is generated right here.
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 ifndef avoid-generated
 before-compile := $(common-objpfx)abi-versions.h $(before-compile)
 $(common-objpfx)abi-versions.h: $(..)scripts/abi-versions.awk \
@@ -106,7 +106,7 @@ $(common-objpfx)%.latest: $(common-objpfx)abi-versions.h
 	    $(common-objpfx)abi-versions.h > $@T
 	mv -f $@T $@
 endif # avoid-generated
-endif # $(versioning) = yes
+endif # $(build-shared) = yes
 
 ifndef avoid-generated
 before-compile := $(common-objpfx)libc-abis.h $(before-compile)
@@ -283,7 +283,7 @@ endif
 
 # Generate version maps, but wait until sysdep-subdirs is known
 ifeq ($(sysd-sorted-done),t)
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 -include $(common-objpfx)sysd-versions
 $(addprefix $(common-objpfx),$(version-maps)): $(common-objpfx)sysd-versions
 common-generated += $(version-maps)
@@ -324,7 +324,7 @@ $(common-objpfx)sysd-versions: $(common-objpfx)Versions.all \
 	) > $@T
 	mv -f $@T $@
 endif # avoid-generated
-endif # $(versioning) = yes
+endif # $(build-shared) = yes
 endif # sysd-sorted-done
 
 # Generate .dT files as we compile.
@@ -400,9 +400,9 @@ elide-routines.og += $(shared-only-routines)
 
 ifeq (yes,$(build-shared))
 
-# Reference map file only when versioning is selected and a map file name
+# Reference map file only when shared libraries are built and a map file name
 # is given.
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 map-file = $(firstword $($(@F:.so=-map)) \
 		       $(addprefix $(common-objpfx), \
 				   $(filter $(@F:.so=.map),$(version-maps))))
@@ -575,7 +575,7 @@ $(common-objpfx)libc.so: $(elfobjdir)/soinit.os \
 			 $(elfobjdir)/interp.os $(elfobjdir)/ld.so \
 			 $(shlib-lds)
 	$(build-shlib)
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 $(common-objpfx)libc.so: $(common-objpfx)libc.map
 endif
 common-generated += libc.so libc_pic.os
@@ -1132,7 +1132,7 @@ endif
 CPPFLAGS-nonlib = -DNOT_IN_libc=1
 
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 # Generate normalized lists of symbols, versions, and data sizes.
 # This is handy for checking against existing library binaries.
 
diff --git a/config.h.in b/config.h.in
index a85f131255..30568e3af6 100644
--- a/config.h.in
+++ b/config.h.in
@@ -57,9 +57,6 @@
    directive.  */
 #undef	HAVE_ASM_POPSECTION_DIRECTIVE
 
-/* Define if versioning of the library is wanted.  */
-#undef	DO_VERSIONING
-
 /* Defined to the oldest ABI we support, like 2.1.  */
 #undef GLIBC_OLDEST_ABI
 
diff --git a/config.make.in b/config.make.in
index 7b04568a22..b5308d85b8 100644
--- a/config.make.in
+++ b/config.make.in
@@ -67,7 +67,6 @@ output-format = @libc_cv_output_format@
 
 static-libgcc = @libc_cv_gcc_static_libgcc@
 
-versioning = @VERSIONING@
 oldest-abi = @oldest_abi@
 exceptions = @exceptions@
 multi-arch = @multi_arch@
diff --git a/configure b/configure
index afe7821057..2122583d70 100755
--- a/configure
+++ b/configure
@@ -613,7 +613,6 @@ libc_cv_z_combreloc
 ASFLAGS_config
 libc_cv_Bgroup
 libc_cv_cc_with_libunwind
-VERSIONING
 BISON
 INSTALL_INFO
 PERL
@@ -739,7 +738,6 @@ with_default_link
 enable_sanity_checks
 enable_shared
 enable_profile
-enable_versioning
 enable_oldest_abi
 enable_hardcoded_path_in_tests
 enable_stackguard_randomization
@@ -1392,8 +1390,6 @@ Optional Features:
                           in special situations) [default=yes]
   --enable-shared         build shared library [default=yes if GNU ld]
   --enable-profile        build profiled library [default=no]
-  --disable-versioning    do not include versioning information in the library
-                          objects [default=yes if supported]
   --enable-oldest-abi=ABI configure the oldest ABI supported [e.g. 2.2]
                           [default=glibc default]
   --enable-hardcoded-path-in-tests
@@ -3432,13 +3428,6 @@ else
   profile=no
 fi
 
-# Check whether --enable-versioning was given.
-if test "${enable_versioning+set}" = set; then :
-  enableval=$enable_versioning; enable_versioning=$enableval
-else
-  enable_versioning=yes
-fi
-
 
 # Check whether --enable-oldest-abi was given.
 if test "${enable_oldest_abi+set}" = set; then :
@@ -5631,90 +5620,6 @@ if test $libc_cv_asm_unique_object = yes; then
 
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .symver assembler directive" >&5
-$as_echo_n "checking for .symver assembler directive... " >&6; }
-if ${libc_cv_asm_symver_directive+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat > conftest.s <<EOF
-${libc_cv_dot_text}
-_sym:
-.symver _sym,sym@VERS
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5; then
-  libc_cv_asm_symver_directive=yes
-else
-  libc_cv_asm_symver_directive=no
-fi
-rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_symver_directive" >&5
-$as_echo "$libc_cv_asm_symver_directive" >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld --version-script" >&5
-$as_echo_n "checking for ld --version-script... " >&6; }
-if ${libc_cv_ld_version_script_option+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test $libc_cv_asm_symver_directive = yes; then
-  cat > conftest.s <<EOF
-${libc_cv_dot_text}
-_sym:
-.symver _sym,sym@VERS
-EOF
-  cat > conftest.map <<EOF
-VERS_1 {
-	global: sym;
-};
-
-VERS_2 {
-	global: sym;
-} VERS_1;
-EOF
-  if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5; then
-    if { ac_try='${CC-cc} $CFLAGS $LDFLAGS -shared
-				-o conftest.so conftest.o
-				-nostartfiles -nostdlib
-				-Wl,--version-script,conftest.map
-		       1>&5'
-  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; };
-    then
-      libc_cv_ld_version_script_option=yes
-    else
-      libc_cv_ld_version_script_option=no
-    fi
-  else
-    libc_cv_ld_version_script_option=no
-  fi
-else
-  libc_cv_ld_version_script_option=no
-fi
-rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ld_version_script_option" >&5
-$as_echo "$libc_cv_ld_version_script_option" >&6; }
-if test $shared != no &&
-   test $libc_cv_asm_symver_directive = yes &&
-   test $libc_cv_ld_version_script_option = yes &&
-   test $enable_versioning = yes; then
-  VERSIONING=yes
-  $as_echo "#define DO_VERSIONING 1" >>confdefs.h
-
-else
-  VERSIONING=no
-fi
-
-
-if test $shared != no && test $VERSIONING = no; then
-  echo "\
-*** WARNING: You should not compile GNU libc without versioning. Not using
-*** versioning will introduce incompatibilities so that old binaries
-*** will not run anymore.
-*** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
-fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5
 $as_echo_n "checking for .previous assembler directive... " >&6; }
 if ${libc_cv_asm_previous_directive+:} false; then :
diff --git a/configure.in b/configure.in
index 9172ad10e4..be1330850c 100644
--- a/configure.in
+++ b/configure.in
@@ -150,11 +150,6 @@ AC_ARG_ENABLE([profile],
 			     [build profiled library @<:@default=no@:>@]),
 	      [profile=$enableval],
 	      [profile=no])
-AC_ARG_ENABLE([versioning],
-	      AC_HELP_STRING([--disable-versioning],
-			     [do not include versioning information in the library objects @<:@default=yes if supported@:>@]),
-	      [enable_versioning=$enableval],
-	      [enable_versioning=yes])
 
 AC_ARG_ENABLE([oldest-abi],
 	      AC_HELP_STRING([--enable-oldest-abi=ABI],
@@ -1204,70 +1199,6 @@ if test $libc_cv_asm_unique_object = yes; then
   AC_DEFINE(HAVE_ASM_UNIQUE_OBJECT)
 fi
 
-AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
-[cat > conftest.s <<EOF
-${libc_cv_dot_text}
-_sym:
-.symver _sym,sym@VERS
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
-  libc_cv_asm_symver_directive=yes
-else
-  libc_cv_asm_symver_directive=no
-fi
-rm -f conftest*])
-AC_CACHE_CHECK(for ld --version-script, libc_cv_ld_version_script_option, [dnl
-if test $libc_cv_asm_symver_directive = yes; then
-  cat > conftest.s <<EOF
-${libc_cv_dot_text}
-_sym:
-.symver _sym,sym@VERS
-EOF
-  cat > conftest.map <<EOF
-VERS_1 {
-	global: sym;
-};
-
-VERS_2 {
-	global: sym;
-} VERS_1;
-EOF
-  if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
-    if AC_TRY_COMMAND([${CC-cc} $CFLAGS $LDFLAGS -shared
-				-o conftest.so conftest.o
-				-nostartfiles -nostdlib
-				-Wl,--version-script,conftest.map
-		       1>&AS_MESSAGE_LOG_FD]);
-    then
-      libc_cv_ld_version_script_option=yes
-    else
-      libc_cv_ld_version_script_option=no
-    fi
-  else
-    libc_cv_ld_version_script_option=no
-  fi
-else
-  libc_cv_ld_version_script_option=no
-fi
-rm -f conftest*])
-if test $shared != no &&
-   test $libc_cv_asm_symver_directive = yes &&
-   test $libc_cv_ld_version_script_option = yes &&
-   test $enable_versioning = yes; then
-  VERSIONING=yes
-  AC_DEFINE(DO_VERSIONING)
-else
-  VERSIONING=no
-fi
-AC_SUBST(VERSIONING)
-
-if test $shared != no && test $VERSIONING = no; then
-  echo "\
-*** WARNING: You should not compile GNU libc without versioning. Not using
-*** versioning will introduce incompatibilities so that old binaries
-*** will not run anymore.
-*** For versioning you need recent binutils (binutils-2.8.1.0.23 or newer)."
-fi
 AC_CACHE_CHECK(for .previous assembler directive,
 	       libc_cv_asm_previous_directive, [dnl
 cat > conftest.s <<EOF
diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index f3c6df9c1b..1eedc3fc5b 100644
--- a/dlfcn/Makefile
+++ b/dlfcn/Makefile
@@ -27,7 +27,7 @@ extra-libs-others := libdl
 
 include ../Makeconfig
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 libdl-routines	+= dlopenold
 libdl-shared-only-routines := dlopenold dlfcn
 endif
diff --git a/dlfcn/modstatic2.c b/dlfcn/modstatic2.c
index 0703de851c..9b5aae8b9f 100644
--- a/dlfcn/modstatic2.c
+++ b/dlfcn/modstatic2.c
@@ -117,13 +117,11 @@ test (FILE *out, int a)
       exit (1);
     }
 
-#ifdef DO_VERSIONING
   if (dlvsym (handle2, "_dlfcn_hook", "GLIBC_PRIVATE") == NULL)
     {
       fprintf (out, "dlvsym: %s\n", dlerror ());
       exit (1);
     }
-#endif
 
   void *(*dlsymfn) (void *, const char *);
   dlsymfn = dlsym (handle2, "dlsym");
diff --git a/dlfcn/tststatic2.c b/dlfcn/tststatic2.c
index 85c0fb2ff9..5d273a69bf 100644
--- a/dlfcn/tststatic2.c
+++ b/dlfcn/tststatic2.c
@@ -115,13 +115,11 @@ main (void)
       exit (1);
     }
 
-#ifdef DO_VERSIONING
   if (dlvsym (handle2, "_dlfcn_hook", "GLIBC_PRIVATE") == NULL)
     {
       printf ("dlvsym: %s\n", dlerror ());
       exit (1);
     }
-#endif
 
   void *(*dlsymfn) (void *, const char *);
   dlsymfn = dlsym (handle2, "dlsym");
diff --git a/elf/Makefile b/elf/Makefile
index 3b58649de5..aaa9534b2e 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -59,7 +59,7 @@ before-compile  = $(objpfx)trusted-dirs.h
 generated	:= trusted-dirs.h trusted-dirs.st for-renamed/renamed.so
 generated-dirs	:= for-renamed
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 ld-map		= $(common-objpfx)ld.map
 endif
 
diff --git a/extra-lib.mk b/extra-lib.mk
index 247946f6aa..fd8812cb21 100644
--- a/extra-lib.mk
+++ b/extra-lib.mk
@@ -90,7 +90,7 @@ $(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \
 	$(build-extra-lib)
 endif
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 # Add the version script to the dependencies of the shared library.
 $(objpfx)$(lib).so: $(firstword $($(lib)-map) \
 				$(addprefix $(common-objpfx), \
diff --git a/hurd/Makefile b/hurd/Makefile
index f7c7c69d2c..4387253611 100644
--- a/hurd/Makefile
+++ b/hurd/Makefile
@@ -71,7 +71,7 @@ inlines = $(inline-headers:%.h=%-inlines)
 routines += hurdmalloc
 
 # Binary compatibility for libc.so.0.2[GLIBC_2.0].
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 routines += compat-20
 endif
 
diff --git a/hurd/geteuids.c b/hurd/geteuids.c
index 7c546b7e7b..92ddfae986 100644
--- a/hurd/geteuids.c
+++ b/hurd/geteuids.c
@@ -63,6 +63,6 @@ geteuids (int n, uid_t *uidset)
 
 /* XXX Remove this alias when we bump the libc soname.  */
 
-#if defined SHARED && DO_VERSIONING
+#ifdef SHARED
 weak_alias (geteuids, __getuids)
 #endif
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index a3b6274bad..5f603a2864 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -322,7 +322,7 @@ for linking")
    past the last element in SET.  */
 #define symbol_set_end_p(set, ptr) ((ptr) >= (void *const *) &__stop_##set)
 
-#if DO_VERSIONING
+#ifdef SHARED
 # define symbol_version(real, name, version) \
      _symbol_version(real, name, version)
 # define default_symbol_version(real, name, version) \
@@ -466,7 +466,7 @@ for linking")
    versioned_symbol (libc, __real_foo, foo, GLIBC_2_1);
    libc_hidden_ver (__real_foo, foo)  */
 
-#if defined SHARED && defined DO_VERSIONING && !defined NO_HIDDEN
+#if defined SHARED && !defined NO_HIDDEN
 # ifndef __ASSEMBLER__
 #  define __hidden_proto_hiddenattr(attrs...) \
   __attribute__ ((visibility ("hidden"), ##attrs))
diff --git a/include/shlib-compat.h b/include/shlib-compat.h
index 979b5929e3..955c6aeea2 100644
--- a/include/shlib-compat.h
+++ b/include/shlib-compat.h
@@ -19,13 +19,9 @@
 #ifndef _SHLIB_COMPAT_H
 #define _SHLIB_COMPAT_H	1
 
-#if defined DO_VERSIONING
-/* Since there is just one set of .d files generated, we need to
-   include this unconditionally to have the dependency noticed properly.  */
-#include <abi-versions.h>	/* header generated by abi-versions.awk */
-#endif
+#ifdef SHARED
 
-#if defined SHARED && defined DO_VERSIONING
+# include <abi-versions.h>
 
 /* The file abi-versions.h (generated by scripts/abi-versions.awk) defines
    symbols like `ABI_libm_GLIBC_2_0' for each version set in the source
diff --git a/libio/Makefile b/libio/Makefile
index e15cd40911..b2f7627434 100644
--- a/libio/Makefile
+++ b/libio/Makefile
@@ -70,7 +70,7 @@ test-srcs = test-freopen
 
 all: # Make this the default target; it will be defined in Rules.
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 routines += oldiofopen oldiofdopen oldiofclose oldiopopen oldpclose \
 	    oldtmpfile oldiofgetpos oldiofgetpos64 oldiofsetpos	    \
 	    oldiofsetpos64
@@ -165,7 +165,7 @@ generated = tst-fopenloc.mtrace tst-fopenloc.check
 
 aux	:= fileops genops stdfiles stdio strops
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 aux	+= oldfileops oldstdfiles
 endif
 
diff --git a/manual/install.texi b/manual/install.texi
index 4575d22319..2ac0104ca6 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -138,11 +138,6 @@ linker.
 Don't build libraries with profiling information.  You may want to use
 this option if you don't plan to do profiling.
 
-@item --disable-versioning
-Don't compile the shared libraries with symbol version information.
-Doing this will make the resulting library incompatible with old
-binaries, so it's not recommended.
-
 @item --enable-static-nss
 Compile static versions of the NSS (Name Service Switch) libraries.
 This is not recommended because it defeats the purpose of NSS; a program
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 7511f701ec..90824aec95 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,9 @@
+2013-09-04  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/x86_64/cancellation.S
+	[SHARED && DO_VERSIONING && !NO_HIDDEN]: Change conditional to
+	[SHARED && !NO_HIDDEN].
+
 2013-09-03  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	[BZ #15921]
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
index 2cc84c189b..b4e4dcf90c 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
@@ -22,7 +22,7 @@
 #include "lowlevellock.h"
 
 #ifdef IS_IN_libpthread
-# if defined SHARED && defined DO_VERSIONING && !defined NO_HIDDEN
+# if defined SHARED && !defined NO_HIDDEN
 #  define __pthread_unwind __GI___pthread_unwind
 # endif
 #else
diff --git a/resolv/res_libc.c b/resolv/res_libc.c
index 0b37f46aea..ee3fa2114b 100644
--- a/resolv/res_libc.c
+++ b/resolv/res_libc.c
@@ -131,7 +131,7 @@ extern __thread struct __res_state *__libc_resp
 
 /* We declare this with compat_symbol so that it's not
    visible at link time.  Programs must use the accessor functions.  */
-#if defined SHARED && defined DO_VERSIONING
+#ifdef SHARED
 # include <shlib-compat.h>
 compat_symbol (libc, _res, _res, GLIBC_2_0);
 #endif
diff --git a/sunrpc/Makefile b/sunrpc/Makefile
index 51a58aac42..9b59796b10 100644
--- a/sunrpc/Makefile
+++ b/sunrpc/Makefile
@@ -64,7 +64,7 @@ ifeq ($(link-obsolete-rpc),yes)
 headers += $(headers-in-tirpc) $(headers-not-in-tirpc)
 endif
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 need-export-routines := auth_des auth_unix clnt_gen clnt_perr clnt_tcp \
 			clnt_udp get_myaddr key_call netname pm_getport \
 			rpc_thread svc svc_tcp svc_udp xcrypt xdr_array xdr \
diff --git a/sysdeps/gnu/Makefile b/sysdeps/gnu/Makefile
index 6695cbf0cf..b3166967cc 100644
--- a/sysdeps/gnu/Makefile
+++ b/sysdeps/gnu/Makefile
@@ -29,7 +29,7 @@ ifeq ($(subdir),stdio-common)
 
 errlist-c = $(firstword $(wildcard $(addsuffix /errlist.c,$(sysdirs) .)))
 
-ifeq ($(versioning),yes)
+ifeq ($(build-shared),yes)
 $(objpfx)errlist-compat.c: $(errlist-c) $(..)sysdeps/gnu/errlist-compat.awk \
 			   $(common-objpfx)Versions.v.i $(before-compile)
 else
diff --git a/sysdeps/i386/i686/multiarch/strstr-c.c b/sysdeps/i386/i686/multiarch/strstr-c.c
index 7516c7ffee..7b8794e9f0 100644
--- a/sysdeps/i386/i686/multiarch/strstr-c.c
+++ b/sysdeps/i386/i686/multiarch/strstr-c.c
@@ -4,7 +4,7 @@
 #include "init-arch.h"
 
 #define STRSTR __strstr_ia32
-#if defined SHARED && defined DO_VERSIONING && !defined NO_HIDDEN
+#if defined SHARED && !defined NO_HIDDEN
 #undef libc_hidden_builtin_def
 #define libc_hidden_builtin_def(name) \
   __hidden_ver1 (__strstr_ia32, __GI_strstr, __strstr_ia32);
diff --git a/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h b/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h
index b0b863cba5..af861c11ea 100644
--- a/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h
+++ b/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h
@@ -10,7 +10,7 @@
   SHLIB_COMPAT(lib, introduced, LONG_DOUBLE_COMPAT_VERSION)
 #define long_double_symbol(lib, local, symbol) \
   long_double_symbol_1 (lib, local, symbol, LONG_DOUBLE_COMPAT_VERSION)
-#if defined SHARED && defined DO_VERSIONING
+#ifdef SHARED
 # define ldbl_hidden_def(local, name) libc_hidden_ver (local, name)
 # define ldbl_strong_alias(name, aliasname) \
   strong_alias (name, __GL_##name##_##aliasname) \
diff --git a/sysdeps/powerpc/powerpc32/dl-machine.c b/sysdeps/powerpc/powerpc32/dl-machine.c
index 188f72cdb7..3e7202d869 100644
--- a/sysdeps/powerpc/powerpc32/dl-machine.c
+++ b/sysdeps/powerpc/powerpc32/dl-machine.c
@@ -29,13 +29,6 @@
    by _dl_sysdep_start via DL_PLATFORM_INIT.  */
 extern int __cache_line_size attribute_hidden;
 
-/* Because ld.so is now versioned, these functions can be in their own file;
-   no relocations need to be done to call them.
-   Of course, if ld.so is not versioned...  */
-#if defined SHARED && !(DO_VERSIONING - 0)
-#error This will not work with versioning turned off, sorry.
-#endif
-
 
 /* Stuff for the PLT.  */
 #define PLT_INITIAL_ENTRY_WORDS 18
diff --git a/sysdeps/powerpc/powerpc32/sysdep.h b/sysdeps/powerpc/powerpc32/sysdep.h
index 47d02a8048..78f54f91c4 100644
--- a/sysdeps/powerpc/powerpc32/sysdep.h
+++ b/sysdeps/powerpc/powerpc32/sysdep.h
@@ -99,8 +99,7 @@ GOT_LABEL:			;					      \
 # define JUMPTARGET(name) name
 #endif
 
-#if defined SHARED && defined DO_VERSIONING && defined PIC \
-    && !defined NO_HIDDEN
+#if defined SHARED && defined PIC && !defined NO_HIDDEN
 # undef HIDDEN_JUMPTARGET
 # define HIDDEN_JUMPTARGET(name) __GI_##name##@local
 #endif
diff --git a/sysdeps/wordsize-32/divdi3.c b/sysdeps/wordsize-32/divdi3.c
index 7898541eb0..fa122aa5fd 100644
--- a/sysdeps/wordsize-32/divdi3.c
+++ b/sysdeps/wordsize-32/divdi3.c
@@ -333,7 +333,7 @@ strong_alias (__umoddi3, __umoddi3_internal)
 
 /* We declare these with compat_symbol so that they are not visible at
    link time.  Programs must use the functions from libgcc.  */
-#if defined SHARED && defined DO_VERSIONING
+#ifdef SHARED
 # include <shlib-compat.h>
 compat_symbol (libc, __divdi3, __divdi3, GLIBC_2_0);
 compat_symbol (libc, __moddi3, __moddi3, GLIBC_2_0);