Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Remove --disable-versioning.
  • Loading branch information
Joseph Myers committed Sep 4, 2013
1 parent 4455870 commit 3f2e46a
Show file tree
Hide file tree
Showing 28 changed files with 85 additions and 221 deletions.
52 changes: 52 additions & 0 deletions 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.
Expand Down
5 changes: 0 additions & 5 deletions INSTALL
Expand Up @@ -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
Expand Down
16 changes: 8 additions & 8 deletions Makerules
Expand Up @@ -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 \
Expand All @@ -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)
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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))))
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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.

Expand Down
3 changes: 0 additions & 3 deletions config.h.in
Expand Up @@ -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

Expand Down
1 change: 0 additions & 1 deletion config.make.in
Expand Up @@ -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@
Expand Down
95 changes: 0 additions & 95 deletions configure
Expand Up @@ -613,7 +613,6 @@ libc_cv_z_combreloc
ASFLAGS_config
libc_cv_Bgroup
libc_cv_cc_with_libunwind
VERSIONING
BISON
INSTALL_INFO
PERL
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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 :
Expand Down Expand Up @@ -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 :
Expand Down
69 changes: 0 additions & 69 deletions configure.in
Expand Up @@ -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],
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion dlfcn/Makefile
Expand Up @@ -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
Expand Down
2 changes: 0 additions & 2 deletions dlfcn/modstatic2.c
Expand Up @@ -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");
Expand Down

0 comments on commit 3f2e46a

Please sign in to comment.