aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog33
-rw-r--r--Makeconfig36
-rw-r--r--Makerules80
-rw-r--r--NEWS4
-rw-r--r--config.h.in8
-rw-r--r--config.make.in1
-rwxr-xr-xconfigure43
-rw-r--r--configure.in34
-rw-r--r--csu/Makefile20
-rw-r--r--csu/version.c2
-rw-r--r--debug/Makefile4
-rw-r--r--dlfcn/Makefile6
-rw-r--r--elf/Makefile4
-rw-r--r--extra-lib.mk2
-rw-r--r--iconv/Makefile9
-rw-r--r--include/libc-symbols.h115
-rw-r--r--include/shlib-compat.h6
-rw-r--r--nptl/ChangeLog2
-rw-r--r--nptl/Makefile4
-rw-r--r--resolv/Makefile4
-rw-r--r--resolv/res_libc.c2
-rw-r--r--rt/Makefile6
-rw-r--r--sysdeps/i386/asm-syntax.h8
-rw-r--r--sysdeps/i386/sysdep.h16
-rw-r--r--sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h2
-rw-r--r--sysdeps/mach/sysdep.h4
-rw-r--r--sysdeps/powerpc/powerpc32/Makefile3
-rw-r--r--sysdeps/powerpc/powerpc64/Makefile2
-rw-r--r--sysdeps/s390/asm-syntax.h8
-rw-r--r--sysdeps/s390/s390-32/sysdep.h12
-rw-r--r--sysdeps/s390/s390-64/sysdep.h12
-rw-r--r--sysdeps/sh/sysdep.h13
-rw-r--r--sysdeps/unix/sparc/sysdep.h12
-rw-r--r--sysdeps/wordsize-32/divdi3.c4
-rw-r--r--sysdeps/x86_64/sysdep.h18
35 files changed, 118 insertions, 421 deletions
diff --git a/ChangeLog b/ChangeLog
index 4e9c698610..24d3ddf6f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,38 @@
2012-01-07 Ulrich Drepper <drepper@gmail.com>
+ [BZ #13551]
+ * Makeconfig: Remove all but ELF support including AIX support.
+ * Makerules: Likewise.
+ * config.h.in: Likewise.
+ * config.make.in: Likewise.
+ * configure: Likewise.
+ * configure.in: Likewise.
+ * csu/Makefile: Likewise.
+ * csu/version.c: Likewise.
+ * debug/Makefile: Likewise.
+ * dlfcn/Makefile: Likewise.
+ * elf/Makefile: Likewise.
+ * extra-lib.mk: Likewise.
+ * iconv/Makefile: Likewise.
+ * include/libc-symbols.h: Likewise.
+ * include/shlib-compat.h: Likewise.
+ * resolv/Makefile: Likewise.
+ * resolv/res_libc.c: Likewise.
+ * rt/Makefile: Likewise.
+ * sysdeps/i386/asm-syntax.h: Likewise.
+ * sysdeps/i386/sysdep.h: Likewise.
+ * sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: Likewise.
+ * sysdeps/mach/sysdep.h: Likewise.
+ * sysdeps/powerpc/powerpc32/Makefile: Likewise.
+ * sysdeps/powerpc/powerpc64/Makefile: Likewise.
+ * sysdeps/s390/asm-syntax.h: Likewise.
+ * sysdeps/s390/s390-32/sysdep.h: Likewise.
+ * sysdeps/s390/s390-64/sysdep.h: Likewise.
+ * sysdeps/sh/sysdep.h: Likewise.
+ * sysdeps/unix/sparc/sysdep.h: Likewise.
+ * sysdeps/wordsize-32/divdi3.c: Likewise.
+ * sysdeps/x86_64/sysdep.h: Likewise.
+
* argp/Versions: Remove _argp_unlock_xxx.
[BZ #13559]
diff --git a/Makeconfig b/Makeconfig
index a97b7d0ce5..fb7468f51b 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -92,12 +92,7 @@ stack-align-test-flags =
# We have a special subdir for each binary format.
# For now, only ELF is fully supported.
-ifeq ($(elf),yes)
binfmt-subdir = elf
-else
-# This is probably better than nothing.
-binfmt-subdir = aout
-endif
# Complete path to sysdep dirs.
# `configure' writes a definition of `config-sysdirs' in `config.make'.
@@ -395,9 +390,7 @@ asm-CPPFLAGS =
endif
# ELF always supports init/fini sections
-ifeq ($(elf),yes)
have-initfini = yes
-endif
ifeq ($(have-as-needed),yes)
as-needed := -Wl,--as-needed
@@ -426,7 +419,7 @@ ifndef static-start-installed-name
static-start-installed-name = $(start-installed-name)
endif
-ifeq (yesyesyes,$(build-shared)$(elf)$(have-z-combreloc))
+ifeq (yesyes,$(build-shared)$(have-z-combreloc))
combreloc-LDFLAGS = -Wl,-z,combreloc
LDFLAGS.so += $(combreloc-LDFLAGS)
LDFLAGS-rtld += $(combreloc-LDFLAGS)
@@ -496,13 +489,12 @@ ifndef +link-bounded
$(link-extra-libs-bounded) $(link-libc-bounded) $(+postctor) $(+postinit)
endif
ifndef config-LDFLAGS
-ifeq (yesyes,$(build-shared)$(elf))
+ifeq (yes,$(build-shared))
config-LDFLAGS = -Wl,-dynamic-linker=$(slibdir)/$(rtld-installed-name)
endif
endif
ifndef link-libc
ifeq (yes,$(build-shared))
-ifeq ($(elf),yes)
# We need the versioned name of libc.so in the deps of $(others) et al
# so that the symlink to libc.so is created before anything tries to
# run the linked programs.
@@ -512,7 +504,6 @@ link-libc = -Wl,-rpath-link=$(rpath-link) \
$(as-needed) $(common-objpfx)elf/ld.so $(no-as-needed) $(gnulib)
# This is how to find at build-time things that will be installed there.
rpath-dirs = math elf dlfcn nss nis rt resolv crypt
-endif
rpath-link = \
$(common-objdir):$(subst $(empty) ,:,$(patsubst ../$(subdir),.,$(rpath-dirs:%=$(common-objpfx)%)))
elfobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)elf)
@@ -524,12 +515,10 @@ endif
endif
# Differences in the linkers on the various platforms.
-ifeq ($(elf),yes)
LDFLAGS-rpath-ORIGIN = -Wl,-rpath,'$$ORIGIN'
LDFLAGS-soname-fname = -Wl,-soname,$(@F)
LDFLAGS-rdynamic = -rdynamic
LDFLAGS-Bsymbolic = -Bsymbolic
-endif
# Choose the default search path for the dynamic linker based on
# where we will install libraries.
@@ -571,7 +560,6 @@ gnulib := -lgcc $(libgcc_eh)
static-gnulib := -lgcc -lgcc_eh $(libunwind)
libc.so-gnulib := -lgcc
endif
-ifeq ($(elf),yes)
+preinit = $(addprefix $(csu-objpfx),crti.o)
+postinit = $(addprefix $(csu-objpfx),crtn.o)
+prector = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbegin.o`
@@ -580,14 +568,13 @@ ifeq ($(elf),yes)
+prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o`
+postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o`
+interp = $(addprefix $(elf-objpfx),interp.os)
-endif
csu-objpfx = $(common-objpfx)csu/
elf-objpfx = $(common-objpfx)elf/
# How to run a program we just linked with our library.
# The program binary is assumed to be $(word 2,$^).
built-program-file = $(dir $(word 2,$^))$(notdir $(word 2,$^))
-ifeq (yesyes,$(build-shared)$(elf))
+ifeq (yes,$(build-shared))
comma = ,
sysdep-library-path = \
$(subst $(empty) ,:,$(strip $(patsubst -Wl$(comma)-rpath-link=%, %,\
@@ -915,29 +902,12 @@ endif
endif # build-shared
-ifeq ($(elf),yes)
dlfcn = dlfcn
ifeq ($(build-shared),yes)
libdl = $(common-objpfx)dlfcn/libdl.so$(libdl.so-version)
else
libdl = $(common-objpfx)dlfcn/libdl.a
endif
-else
-ifneq (,$(findstring aix,$(config-os)))
-ifeq ($(build-shared),yes)
-dlfcn = dlfcn
-libdl = $(common-objpfx)dlfcn/libdl.so$(libdl.so-version)
-else
-# No libdl without shared libs on AIX
-dlfcn =
-libdl =
-endif
-else
-# No ELF, no AIX - no libdl, at least for now.
-dlfcn =
-libdl =
-endif
-endif
# These are the subdirectories containing the library source. The order
# is more or less arbitrary. The sorting step will take care of the
diff --git a/Makerules b/Makerules
index cf5fb388de..61961bc617 100644
--- a/Makerules
+++ b/Makerules
@@ -408,7 +408,7 @@ endif
# Modify the list of routines we build for different targets
-ifeq (yesyes,$(build-shared)$(elf))
+ifeq (yes,$(build-shared))
ifndef libc.so-version
# Undefine this because it can't work when we libc.so is unversioned.
static-only-routines =
@@ -449,13 +449,8 @@ endif
# $(LDLIBS-%.so) may contain -l switches to generate run-time dependencies
# on other shared objects.
lib%.so: lib%_pic.a $(+preinit) $(+postinit) $(+interp)
-ifneq (,$(findstring aix,$(config-os)))
- (echo '#!'; \
- dump -g $< | sed '1,6d' | cut -f2 | sort | uniq) > $(<:a=exp)
-endif
$(build-shlib)
-ifeq ($(elf),yes)
define build-shlib-helper
$(LINK.o) -shared $(static-libgcc) -Wl,-O1 $(sysdep-LDFLAGS) \
$(if $($(@F)-no-z-defs)$(no-z-defs),,-Wl,-z,defs) $(config-LDFLAGS) \
@@ -465,20 +460,7 @@ $(LINK.o) -shared $(static-libgcc) -Wl,-O1 $(sysdep-LDFLAGS) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:lib%.so=%).so) \
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link)
endef
-else
-ifneq (,$(findstring aix,$(config-os)))
-define build-shlib-helper
-$(LINK.o) -Wl,-G,-bM:SRE,-bnoentry,-bE:$(<:a=exp) \
- $(sysdep-LDFLAGS) $(config-LDFLAGS) $(extra-B-$(@F:lib%.so=%).so) \
- $(extra-B-$(@F:lib%.so=%).so) $(load-map-file) \
- $(LDFLAGS.so) $(LDFLAGS-$(@F:lib%.so=%).so) \
- -L$(subst :, -L,$(rpath-link))
-endef
-else
-endif
-endif
-ifeq (yes,$(elf))
ifeq (yes,$(use-default-link))
# If the linker is good enough, we can let it use its default linker script.
shlib-lds =
@@ -527,30 +509,7 @@ define build-shlib
$(build-shlib-helper) -o $@ $(shlib-lds-flags) \
$(csu-objpfx)abi-note.o $(build-shlib-objlist)
endef
-else
-ifneq (,$(findstring aix,$(config-os)))
-define build-shlib
-$(build-shlib-helper) \
- -o $@ \
- $(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
- $(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so)
-endef
-define build-shlib
-$(build-shlib-helper) \
- $(build-shlib-objlist)
-endef
-endif
-endif
-ifneq (,$(findstring aix,$(config-os)))
-define build-module-helper
-$(LINK.o) -Wl,-G -Wl,-bM:SRE -Wl,-bnoentry -Wl,-bexpall \
- $(sysdep-LDFLAGS) $(config-LDFLAGS) \
- $(load-map-file) \
- $(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
- -L$(subst :, -L,$(rpath-link)) -Wl,-L=$(rpath-link)
-endef
-else
define build-module-helper
$(LINK.o) -shared $(static-libgcc) $(sysdep-LDFLAGS) $(config-LDFLAGS) \
$(if $($(@F)-no-z-defs)$(no-z-defs),,-Wl,-z,defs) \
@@ -558,11 +517,9 @@ $(LINK.o) -shared $(static-libgcc) $(sysdep-LDFLAGS) $(config-LDFLAGS) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link)
endef
-endif
# This macro is similar to build-shlib but it does not define a soname
# and it does not depend on the destination name to start with `lib'.
-ifeq (yes,$(elf))
# binutils only position loadable notes into the first page for binaries,
# not for shared objects
define build-module
@@ -574,23 +531,6 @@ $(build-module-helper) -o $@ $(shlib-lds-flags) \
$(csu-objpfx)abi-note.o \
-Wl,--as-needed $(build-module-objlist) -Wl,--no-as-needed
endef
-else
-ifneq (,$(findstring aix,$(config-os)))
-define build-module
-$(build-module-helper) \
- -o $@ \
- $(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
- $(no-whole-archive) $(LDLIBS-$(@F:%.so=%).so)
-endef
-else
-define build-module
-define build-module
-$(build-module-helper) \
- -o $@ \
- $(build-module-objlist)
-endef
-endif
-endif
build-module-helper-objlist = \
$(patsubst %_pic.a,$(whole-archive) %_pic.a $(no-whole-archive),\
@@ -617,7 +557,6 @@ endif
# contains some of libc_pic.a already, which will prevent the COMMONs
# from being allocated in libc.so, which introduces evil dependencies
# between libc.so and ld.so, which can make it impossible to upgrade.
-ifeq ($(elf),yes)
$(common-objpfx)libc_pic.os: $(common-objpfx)libc_pic.a
$(LINK.o) -nostdlib -nostartfiles -r -o $@ \
$(LDFLAGS-c_pic.os) -Wl,-d $(whole-archive) $^ -o $@
@@ -655,23 +594,6 @@ $(common-objpfx)libc.so$(libc.so-version): $(common-objpfx)libc.so
common-generated += libc.so$(libc.so-version)
endif
endif
-else
-ifneq (,$(findstring aix,$(config-os)))
-$(common-objpfx)libc.so: $(common-objpfx)libc_pic.a
- @rm -f $@
- (echo '#!'; \
- dump -g $^ | sed '1,6d' | cut -f2 | sort | uniq) > $(^:a=exp)
- sed '/__mulh/d;/__mull/d;/__divss/d;/__divus/d;/__quoss/d;/__quous/d' \
- /lib/syscalls.exp > $(common-objpfx)syscalls.exp
- $(LINK.o) -G -bM:SRE -bnoentry -bE:$(^:a=exp) \
- -bE:$(common-objpfx)syscalls.exp \
- -bI:$(common-objpfx)syscalls.exp \
- -L$(common-objpfx) -o $@ $^
-# AIX runtime ld wants libc.so to be libc.a(shr.o) hardwired
- cp $@ $(common-objpfx)shr.o
- $(AR) $(ARFLAGS) $(common-objpfx)libc.a $(common-objpfx)shr.o
-endif
-endif
# Figure out the source filenames in this directory.
diff --git a/NEWS b/NEWS
index 337ec9ff78..574d997999 100644
--- a/NEWS
+++ b/NEWS
@@ -9,8 +9,8 @@ Version 2.16
* The following bugs are resolved with this release:
- 13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13552, 13555,
- 13559
+ 13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13551, 13552,
+ 13555, 13559
* ISO C11 support:
diff --git a/config.h.in b/config.h.in
index 7db663025a..6534b6e5f7 100644
--- a/config.h.in
+++ b/config.h.in
@@ -8,11 +8,6 @@
# error "glibc must not be compiled with -ffast-math"
#endif
-/* Define if using ELF, which supports weak symbols.
- This implies HAVE_ASM_WEAK_DIRECTIVE and NO_UNDERSCORES; set by
- --with-elf. */
-#undef HAVE_ELF
-
/* Define if building with SELinux support. Set by --with-selinux. */
#undef HAVE_SELINUX
@@ -22,9 +17,6 @@
/* Defined if building with SELinux support & libcap libs are detected. */
#undef HAVE_LIBCAP
-/* Define if using XCOFF. Set by --with-xcoff. */
-#undef HAVE_XCOFF
-
/* Define if C symbols are asm symbols. Don't define if C symbols
have a `_' prepended to make the asm symbol. */
#undef NO_UNDERSCORES
diff --git a/config.make.in b/config.make.in
index 7ee0cfdd6b..a583ebdddd 100644
--- a/config.make.in
+++ b/config.make.in
@@ -44,7 +44,6 @@ sysincludes = @SYSINCLUDES@
c++-sysincludes = @CXX_SYSINCLUDES@
all-warnings = @all_warnings@
-elf = @elf@
have-z-combreloc = @libc_cv_z_combreloc@
have-z-execstack = @libc_cv_z_execstack@
have-initfini = @libc_cv_have_initfini@
diff --git a/configure b/configure
index 9f789efee0..f5a21e879a 100755
--- a/configure
+++ b/configure
@@ -616,8 +616,6 @@ profile
libc_cv_pic_default
shared
static
-xcoff
-elf
ldd_rewrite_script
use_ldconfig
libc_cv_as_i686
@@ -769,7 +767,6 @@ with_fp
with_binutils
with_elf
with_selinux
-with_xcoff
with_headers
with_default_link
enable_sanity_checks
@@ -1458,7 +1455,6 @@ Optional Packages:
--with-binutils=PATH specify location of binutils (as and ld)
--with-elf if using the ELF object format
--with-selinux if building with SELinux support
- --with-xcoff if using the XCOFF object format
--with-headers=PATH location of system headers to use (for example
/usr/src/linux/include) [default=compiler default]
--with-default-link do not use explicit linker scripts
@@ -3545,14 +3541,6 @@ else
fi
-# Check whether --with-xcoff was given.
-if test "${with_xcoff+set}" = set; then :
- withval=$with_xcoff; xcoff=$withval
-else
- xcoff=no
-fi
-
-
# Check whether --with-headers was given.
if test "${with_headers+set}" = set; then :
@@ -3817,20 +3805,7 @@ test "$config_vendor" = unknown && config_vendor=
config_os="`echo $config_os | sed 's/^unknown-//'`"
# Some configurations imply other options.
-case "$host_os" in
-# i586-linuxaout is mangled into i586-pc-linux-gnuaout
-linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
- ;;
-gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
- # These systems (almost) always use the ELF format.
- elf=yes
- ;;
-aix*)
- # These systems are always xcoff
- xcoff=yes
- elf=no
- ;;
-esac
+elf=yes
# The configure fragment of an add-on port can modify these to supplement
# or override the table in the case statement below. No fragment should
@@ -4017,7 +3992,7 @@ fi
###
if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
case "$machine-$host_os" in
- *-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
+ *-linux* | *-gnu* | arm*-none*)
;;
*)
echo "*** The GNU C library is currently not available for this platform."
@@ -4223,10 +4198,6 @@ irix6*)
base_os=unix/sysv/irix6/$os ;;
solaris[2-9]*)
base_os=unix/sysv/sysv4 ;;
-hpux*)
- base_os=unix/sysv/hpux/$os ;;
-aix4.3*)
- base_os=unix/sysv/aix/aix4.3 ;;
none)
base_os=standalone ;;
esac
@@ -7930,16 +7901,6 @@ fi
-if test $elf = yes; then
- $as_echo "#define HAVE_ELF 1" >>confdefs.h
-
-fi
-if test $xcoff = yes; then
- $as_echo "#define HAVE_XCOFF 1" >>confdefs.h
-
-fi
-
-
if test $shared = default; then
shared=$elf
diff --git a/configure.in b/configure.in
index daf5e15a24..540b83d37f 100644
--- a/configure.in
+++ b/configure.in
@@ -87,11 +87,6 @@ AC_ARG_WITH([selinux],
[if building with SELinux support]),
[with_selinux=$withval],
[with_selinux=auto])
-AC_ARG_WITH([xcoff],
- AC_HELP_STRING([--with-xcoff],
- [if using the XCOFF object format]),
- [xcoff=$withval],
- [xcoff=no])
AC_ARG_WITH([headers],
AC_HELP_STRING([--with-headers=PATH],
@@ -308,20 +303,7 @@ test "$config_vendor" = unknown && config_vendor=
config_os="`echo $config_os | sed 's/^unknown-//'`"
# Some configurations imply other options.
-case "$host_os" in
-# i586-linuxaout is mangled into i586-pc-linux-gnuaout
-linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
- ;;
-gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
- # These systems (almost) always use the ELF format.
- elf=yes
- ;;
-aix*)
- # These systems are always xcoff