Remove --disable-versioning.

This commit is contained in:
Joseph Myers 2013-09-04 15:25:42 +00:00
parent 44558701ff
commit 3f2e46a494
28 changed files with 85 additions and 221 deletions

View File

@ -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> 2013-09-04 Will Newton <will.newton@linaro.org>
* benchtests/bench-timing.h (TIMING_PRINT_MEAN): New macro. * benchtests/bench-timing.h (TIMING_PRINT_MEAN): New macro.

View File

@ -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 Don't build libraries with profiling information. You may want to
use this option if you don't plan to do profiling. 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' `--enable-static-nss'
Compile static versions of the NSS (Name Service Switch) libraries. Compile static versions of the NSS (Name Service Switch) libraries.
This is not recommended because it defeats the purpose of NSS; a This is not recommended because it defeats the purpose of NSS; a

View File

@ -93,7 +93,7 @@ before-compile := $(filter $(common-objpfx)mach% $(common-objpfx)hurd%,\
$(before-compile)) $(before-compile))
# Even before that, we need abi-versions.h which is generated right here. # Even before that, we need abi-versions.h which is generated right here.
ifeq ($(versioning),yes) ifeq ($(build-shared),yes)
ifndef avoid-generated ifndef avoid-generated
before-compile := $(common-objpfx)abi-versions.h $(before-compile) before-compile := $(common-objpfx)abi-versions.h $(before-compile)
$(common-objpfx)abi-versions.h: $(..)scripts/abi-versions.awk \ $(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 $(common-objpfx)abi-versions.h > $@T
mv -f $@T $@ mv -f $@T $@
endif # avoid-generated endif # avoid-generated
endif # $(versioning) = yes endif # $(build-shared) = yes
ifndef avoid-generated ifndef avoid-generated
before-compile := $(common-objpfx)libc-abis.h $(before-compile) before-compile := $(common-objpfx)libc-abis.h $(before-compile)
@ -283,7 +283,7 @@ endif
# Generate version maps, but wait until sysdep-subdirs is known # Generate version maps, but wait until sysdep-subdirs is known
ifeq ($(sysd-sorted-done),t) ifeq ($(sysd-sorted-done),t)
ifeq ($(versioning),yes) ifeq ($(build-shared),yes)
-include $(common-objpfx)sysd-versions -include $(common-objpfx)sysd-versions
$(addprefix $(common-objpfx),$(version-maps)): $(common-objpfx)sysd-versions $(addprefix $(common-objpfx),$(version-maps)): $(common-objpfx)sysd-versions
common-generated += $(version-maps) common-generated += $(version-maps)
@ -324,7 +324,7 @@ $(common-objpfx)sysd-versions: $(common-objpfx)Versions.all \
) > $@T ) > $@T
mv -f $@T $@ mv -f $@T $@
endif # avoid-generated endif # avoid-generated
endif # $(versioning) = yes endif # $(build-shared) = yes
endif # sysd-sorted-done endif # sysd-sorted-done
# Generate .dT files as we compile. # Generate .dT files as we compile.
@ -400,9 +400,9 @@ elide-routines.og += $(shared-only-routines)
ifeq (yes,$(build-shared)) 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. # is given.
ifeq ($(versioning),yes) ifeq ($(build-shared),yes)
map-file = $(firstword $($(@F:.so=-map)) \ map-file = $(firstword $($(@F:.so=-map)) \
$(addprefix $(common-objpfx), \ $(addprefix $(common-objpfx), \
$(filter $(@F:.so=.map),$(version-maps)))) $(filter $(@F:.so=.map),$(version-maps))))
@ -575,7 +575,7 @@ $(common-objpfx)libc.so: $(elfobjdir)/soinit.os \
$(elfobjdir)/interp.os $(elfobjdir)/ld.so \ $(elfobjdir)/interp.os $(elfobjdir)/ld.so \
$(shlib-lds) $(shlib-lds)
$(build-shlib) $(build-shlib)
ifeq ($(versioning),yes) ifeq ($(build-shared),yes)
$(common-objpfx)libc.so: $(common-objpfx)libc.map $(common-objpfx)libc.so: $(common-objpfx)libc.map
endif endif
common-generated += libc.so libc_pic.os common-generated += libc.so libc_pic.os
@ -1132,7 +1132,7 @@ endif
CPPFLAGS-nonlib = -DNOT_IN_libc=1 CPPFLAGS-nonlib = -DNOT_IN_libc=1
ifeq ($(versioning),yes) ifeq ($(build-shared),yes)
# Generate normalized lists of symbols, versions, and data sizes. # Generate normalized lists of symbols, versions, and data sizes.
# This is handy for checking against existing library binaries. # This is handy for checking against existing library binaries.

View File

@ -57,9 +57,6 @@
directive. */ directive. */
#undef HAVE_ASM_POPSECTION_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. */ /* Defined to the oldest ABI we support, like 2.1. */
#undef GLIBC_OLDEST_ABI #undef GLIBC_OLDEST_ABI

View File

@ -67,7 +67,6 @@ output-format = @libc_cv_output_format@
static-libgcc = @libc_cv_gcc_static_libgcc@ static-libgcc = @libc_cv_gcc_static_libgcc@
versioning = @VERSIONING@
oldest-abi = @oldest_abi@ oldest-abi = @oldest_abi@
exceptions = @exceptions@ exceptions = @exceptions@
multi-arch = @multi_arch@ multi-arch = @multi_arch@

95
configure vendored
View File

@ -613,7 +613,6 @@ libc_cv_z_combreloc
ASFLAGS_config ASFLAGS_config
libc_cv_Bgroup libc_cv_Bgroup
libc_cv_cc_with_libunwind libc_cv_cc_with_libunwind
VERSIONING
BISON BISON
INSTALL_INFO INSTALL_INFO
PERL PERL
@ -739,7 +738,6 @@ with_default_link
enable_sanity_checks enable_sanity_checks
enable_shared enable_shared
enable_profile enable_profile
enable_versioning
enable_oldest_abi enable_oldest_abi
enable_hardcoded_path_in_tests enable_hardcoded_path_in_tests
enable_stackguard_randomization enable_stackguard_randomization
@ -1392,8 +1390,6 @@ Optional Features:
in special situations) [default=yes] in special situations) [default=yes]
--enable-shared build shared library [default=yes if GNU ld] --enable-shared build shared library [default=yes if GNU ld]
--enable-profile build profiled library [default=no] --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] --enable-oldest-abi=ABI configure the oldest ABI supported [e.g. 2.2]
[default=glibc default] [default=glibc default]
--enable-hardcoded-path-in-tests --enable-hardcoded-path-in-tests
@ -3432,13 +3428,6 @@ else
profile=no profile=no
fi 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. # Check whether --enable-oldest-abi was given.
if test "${enable_oldest_abi+set}" = set; then : if test "${enable_oldest_abi+set}" = set; then :
@ -5631,90 +5620,6 @@ if test $libc_cv_asm_unique_object = yes; then
fi 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 "$as_me:${as_lineno-$LINENO}: checking for .previous assembler directive" >&5
$as_echo_n "checking for .previous assembler directive... " >&6; } $as_echo_n "checking for .previous assembler directive... " >&6; }
if ${libc_cv_asm_previous_directive+:} false; then : if ${libc_cv_asm_previous_directive+:} false; then :

View File

@ -150,11 +150,6 @@ AC_ARG_ENABLE([profile],
[build profiled library @<:@default=no@:>@]), [build profiled library @<:@default=no@:>@]),
[profile=$enableval], [profile=$enableval],
[profile=no]) [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_ARG_ENABLE([oldest-abi],
AC_HELP_STRING([--enable-oldest-abi=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) AC_DEFINE(HAVE_ASM_UNIQUE_OBJECT)
fi 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, AC_CACHE_CHECK(for .previous assembler directive,
libc_cv_asm_previous_directive, [dnl libc_cv_asm_previous_directive, [dnl
cat > conftest.s <<EOF cat > conftest.s <<EOF

View File

@ -27,7 +27,7 @@ extra-libs-others := libdl
include ../Makeconfig include ../Makeconfig
ifeq ($(versioning),yes) ifeq ($(build-shared),yes)
libdl-routines += dlopenold libdl-routines += dlopenold
libdl-shared-only-routines := dlopenold dlfcn libdl-shared-only-routines := dlopenold dlfcn
endif endif

View File

@ -117,13 +117,11 @@ test (FILE *out, int a)
exit (1); exit (1);
} }
#ifdef DO_VERSIONING
if (dlvsym (handle2, "_dlfcn_hook", "GLIBC_PRIVATE") == NULL) if (dlvsym (handle2, "_dlfcn_hook", "GLIBC_PRIVATE") == NULL)
{ {
fprintf (out, "dlvsym: %s\n", dlerror ()); fprintf (out, "dlvsym: %s\n", dlerror ());
exit (1); exit (1);
} }
#endif
void *(*dlsymfn) (void *, const char *); void *(*dlsymfn) (void *, const char *);
dlsymfn = dlsym (handle2, "dlsym"); dlsymfn = dlsym (handle2, "dlsym");

View File

@ -115,13 +115,11 @@ main (void)
exit (1); exit (1);
} }
#ifdef DO_VERSIONING
if (dlvsym (handle2, "_dlfcn_hook", "GLIBC_PRIVATE") == NULL) if (dlvsym (handle2, "_dlfcn_hook", "GLIBC_PRIVATE") == NULL)
{ {
printf ("dlvsym: %s\n", dlerror ()); printf ("dlvsym: %s\n", dlerror ());
exit (1); exit (1);
} }
#endif
void *(*dlsymfn) (void *, const char *); void *(*dlsymfn) (void *, const char *);
dlsymfn = dlsym (handle2, "dlsym"); dlsymfn = dlsym (handle2, "dlsym");

View File

@ -59,7 +59,7 @@ before-compile = $(objpfx)trusted-dirs.h
generated := trusted-dirs.h trusted-dirs.st for-renamed/renamed.so generated := trusted-dirs.h trusted-dirs.st for-renamed/renamed.so
generated-dirs := for-renamed generated-dirs := for-renamed
ifeq ($(versioning),yes) ifeq ($(build-shared),yes)
ld-map = $(common-objpfx)ld.map ld-map = $(common-objpfx)ld.map
endif endif

View File

@ -90,7 +90,7 @@ $(objpfx)$(patsubst %,$(libtype.oS),$(lib:lib%=%)): \
$(build-extra-lib) $(build-extra-lib)
endif endif
ifeq ($(versioning),yes) ifeq ($(build-shared),yes)
# Add the version script to the dependencies of the shared library. # Add the version script to the dependencies of the shared library.
$(objpfx)$(lib).so: $(firstword $($(lib)-map) \ $(objpfx)$(lib).so: $(firstword $($(lib)-map) \
$(addprefix $(common-objpfx), \ $(addprefix $(common-objpfx), \

View File

@ -71,7 +71,7 @@ inlines = $(inline-headers:%.h=%-inlines)
routines += hurdmalloc routines += hurdmalloc
# Binary compatibility for libc.so.0.2[GLIBC_2.0]. # Binary compatibility for libc.so.0.2[GLIBC_2.0].
ifeq ($(versioning),yes) ifeq ($(build-shared),yes)
routines += compat-20 routines += compat-20
endif endif

View File

@ -63,6 +63,6 @@ geteuids (int n, uid_t *uidset)
/* XXX Remove this alias when we bump the libc soname. */ /* XXX Remove this alias when we bump the libc soname. */
#if defined SHARED && DO_VERSIONING #ifdef SHARED
weak_alias (geteuids, __getuids) weak_alias (geteuids, __getuids)
#endif #endif

View File

@ -322,7 +322,7 @@ for linking")
past the last element in SET. */ past the last element in SET. */
#define symbol_set_end_p(set, ptr) ((ptr) >= (void *const *) &__stop_##set) #define symbol_set_end_p(set, ptr) ((ptr) >= (void *const *) &__stop_##set)
#if DO_VERSIONING #ifdef SHARED
# define symbol_version(real, name, version) \ # define symbol_version(real, name, version) \
_symbol_version(real, name, version) _symbol_version(real, name, version)
# define default_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); versioned_symbol (libc, __real_foo, foo, GLIBC_2_1);
libc_hidden_ver (__real_foo, foo) */ libc_hidden_ver (__real_foo, foo) */
#if defined SHARED && defined DO_VERSIONING && !defined NO_HIDDEN #if defined SHARED && !defined NO_HIDDEN
# ifndef __ASSEMBLER__ # ifndef __ASSEMBLER__
# define __hidden_proto_hiddenattr(attrs...) \ # define __hidden_proto_hiddenattr(attrs...) \
__attribute__ ((visibility ("hidden"), ##attrs)) __attribute__ ((visibility ("hidden"), ##attrs))

View File

@ -19,13 +19,9 @@
#ifndef _SHLIB_COMPAT_H #ifndef _SHLIB_COMPAT_H
#define _SHLIB_COMPAT_H 1 #define _SHLIB_COMPAT_H 1
#if defined DO_VERSIONING #ifdef SHARED
/* 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
#if defined SHARED && defined DO_VERSIONING # include <abi-versions.h>
/* The file abi-versions.h (generated by scripts/abi-versions.awk) defines /* 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 symbols like `ABI_libm_GLIBC_2_0' for each version set in the source

View File

@ -70,7 +70,7 @@ test-srcs = test-freopen
all: # Make this the default target; it will be defined in Rules. 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 \ routines += oldiofopen oldiofdopen oldiofclose oldiopopen oldpclose \
oldtmpfile oldiofgetpos oldiofgetpos64 oldiofsetpos \ oldtmpfile oldiofgetpos oldiofgetpos64 oldiofsetpos \
oldiofsetpos64 oldiofsetpos64
@ -165,7 +165,7 @@ generated = tst-fopenloc.mtrace tst-fopenloc.check
aux := fileops genops stdfiles stdio strops aux := fileops genops stdfiles stdio strops
ifeq ($(versioning),yes) ifeq ($(build-shared),yes)
aux += oldfileops oldstdfiles aux += oldfileops oldstdfiles
endif endif

View File

@ -138,11 +138,6 @@ linker.
Don't build libraries with profiling information. You may want to use Don't build libraries with profiling information. You may want to use
this option if you don't plan to do profiling. 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 @item --enable-static-nss
Compile static versions of the NSS (Name Service Switch) libraries. Compile static versions of the NSS (Name Service Switch) libraries.
This is not recommended because it defeats the purpose of NSS; a program This is not recommended because it defeats the purpose of NSS; a program

View File

@ -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> 2013-09-03 Siddhesh Poyarekar <siddhesh@redhat.com>
[BZ #15921] [BZ #15921]

View File

@ -22,7 +22,7 @@
#include "lowlevellock.h" #include "lowlevellock.h"
#ifdef IS_IN_libpthread #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 # define __pthread_unwind __GI___pthread_unwind
# endif # endif
#else #else

View File

@ -131,7 +131,7 @@ extern __thread struct __res_state *__libc_resp
/* We declare this with compat_symbol so that it's not /* We declare this with compat_symbol so that it's not
visible at link time. Programs must use the accessor functions. */ visible at link time. Programs must use the accessor functions. */
#if defined SHARED && defined DO_VERSIONING #ifdef SHARED
# include <shlib-compat.h> # include <shlib-compat.h>
compat_symbol (libc, _res, _res, GLIBC_2_0); compat_symbol (libc, _res, _res, GLIBC_2_0);
#endif #endif

View File

@ -64,7 +64,7 @@ ifeq ($(link-obsolete-rpc),yes)
headers += $(headers-in-tirpc) $(headers-not-in-tirpc) headers += $(headers-in-tirpc) $(headers-not-in-tirpc)
endif endif
ifeq ($(versioning),yes) ifeq ($(build-shared),yes)
need-export-routines := auth_des auth_unix clnt_gen clnt_perr clnt_tcp \ need-export-routines := auth_des auth_unix clnt_gen clnt_perr clnt_tcp \
clnt_udp get_myaddr key_call netname pm_getport \ clnt_udp get_myaddr key_call netname pm_getport \
rpc_thread svc svc_tcp svc_udp xcrypt xdr_array xdr \ rpc_thread svc svc_tcp svc_udp xcrypt xdr_array xdr \

View File

@ -29,7 +29,7 @@ ifeq ($(subdir),stdio-common)
errlist-c = $(firstword $(wildcard $(addsuffix /errlist.c,$(sysdirs) .))) 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 \ $(objpfx)errlist-compat.c: $(errlist-c) $(..)sysdeps/gnu/errlist-compat.awk \
$(common-objpfx)Versions.v.i $(before-compile) $(common-objpfx)Versions.v.i $(before-compile)
else else

View File

@ -4,7 +4,7 @@
#include "init-arch.h" #include "init-arch.h"
#define STRSTR __strstr_ia32 #define STRSTR __strstr_ia32
#if defined SHARED && defined DO_VERSIONING && !defined NO_HIDDEN #if defined SHARED && !defined NO_HIDDEN
#undef libc_hidden_builtin_def #undef libc_hidden_builtin_def
#define libc_hidden_builtin_def(name) \ #define libc_hidden_builtin_def(name) \
__hidden_ver1 (__strstr_ia32, __GI_strstr, __strstr_ia32); __hidden_ver1 (__strstr_ia32, __GI_strstr, __strstr_ia32);

View File

@ -10,7 +10,7 @@
SHLIB_COMPAT(lib, introduced, LONG_DOUBLE_COMPAT_VERSION) SHLIB_COMPAT(lib, introduced, LONG_DOUBLE_COMPAT_VERSION)
#define long_double_symbol(lib, local, symbol) \ #define long_double_symbol(lib, local, symbol) \
long_double_symbol_1 (lib, local, symbol, LONG_DOUBLE_COMPAT_VERSION) 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_hidden_def(local, name) libc_hidden_ver (local, name)
# define ldbl_strong_alias(name, aliasname) \ # define ldbl_strong_alias(name, aliasname) \
strong_alias (name, __GL_##name##_##aliasname) \ strong_alias (name, __GL_##name##_##aliasname) \

View File

@ -29,13 +29,6 @@
by _dl_sysdep_start via DL_PLATFORM_INIT. */ by _dl_sysdep_start via DL_PLATFORM_INIT. */
extern int __cache_line_size attribute_hidden; 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. */ /* Stuff for the PLT. */
#define PLT_INITIAL_ENTRY_WORDS 18 #define PLT_INITIAL_ENTRY_WORDS 18

View File

@ -99,8 +99,7 @@ GOT_LABEL: ; \
# define JUMPTARGET(name) name # define JUMPTARGET(name) name
#endif #endif
#if defined SHARED && defined DO_VERSIONING && defined PIC \ #if defined SHARED && defined PIC && !defined NO_HIDDEN
&& !defined NO_HIDDEN
# undef HIDDEN_JUMPTARGET # undef HIDDEN_JUMPTARGET
# define HIDDEN_JUMPTARGET(name) __GI_##name##@local # define HIDDEN_JUMPTARGET(name) __GI_##name##@local
#endif #endif

View File

@ -333,7 +333,7 @@ strong_alias (__umoddi3, __umoddi3_internal)
/* We declare these with compat_symbol so that they are not visible at /* We declare these with compat_symbol so that they are not visible at
link time. Programs must use the functions from libgcc. */ link time. Programs must use the functions from libgcc. */
#if defined SHARED && defined DO_VERSIONING #ifdef SHARED
# include <shlib-compat.h> # include <shlib-compat.h>
compat_symbol (libc, __divdi3, __divdi3, GLIBC_2_0); compat_symbol (libc, __divdi3, __divdi3, GLIBC_2_0);
compat_symbol (libc, __moddi3, __moddi3, GLIBC_2_0); compat_symbol (libc, __moddi3, __moddi3, GLIBC_2_0);