mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 23:00:07 +00:00
Remove --disable-versioning.
This commit is contained in:
parent
44558701ff
commit
3f2e46a494
52
ChangeLog
52
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>
|
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.
|
||||||
|
5
INSTALL
5
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
|
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
|
||||||
|
16
Makerules
16
Makerules
@ -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.
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
95
configure
vendored
@ -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 :
|
||||||
|
69
configure.in
69
configure.in
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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");
|
||||||
|
@ -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");
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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), \
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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))
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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]
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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 \
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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) \
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user