summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2012-01-07 20:30:26 -0500
committerUlrich Drepper <drepper@gmail.com>2012-01-07 20:30:26 -0500
commit0269750ca60bbfdf92dbe1edfe961adfbc9a34e7 (patch)
treee148227ce15cd7abef82dff9d706d03d0b687292
parent16dd419d920dbab67ddc6e605bc0dacdc38f463c (diff)
downloadglibc-0269750ca60bbfdf92dbe1edfe961adfbc9a34e7.tar.gz
glibc-0269750ca60bbfdf92dbe1edfe961adfbc9a34e7.tar.xz
glibc-0269750ca60bbfdf92dbe1edfe961adfbc9a34e7.zip
Remove non-ELF support
-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
-  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
@@ -507,7 +489,7 @@ AC_SUBST(add_on_subdirs)
 ###
 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."
@@ -670,10 +652,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
@@ -2334,14 +2312,6 @@ AC_SUBST(libc_cv_as_i686)
 AC_SUBST(use_ldconfig)
 AC_SUBST(ldd_rewrite_script)
 
-AC_SUBST(elf) AC_SUBST(xcoff)
-if test $elf = yes; then
-  AC_DEFINE(HAVE_ELF)
-fi
-if test $xcoff = yes; then
-  AC_DEFINE(HAVE_XCOFF)
-fi
-
 AC_SUBST(static)
 AC_SUBST(shared)
 if test $shared = default; then
diff --git a/csu/Makefile b/csu/Makefile
index 69e07c71cf..601264d952 100644
--- a/csu/Makefile
+++ b/csu/Makefile
@@ -1,5 +1,5 @@
 # Makefile for csu code for GNU C library.
-# Copyright (C) 1995-2004, 2005, 2006, 2010 Free Software Foundation, Inc.
+# Copyright (C) 1995-2006, 2010, 2012 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -70,10 +70,8 @@ omit-deps += $(patsubst %.o,%,$(static-start-installed-name) \
 install-lib += $(static-start-installed-name) g$(static-start-installed-name)
 endif
 
-ifeq (yes,$(elf))
 before-compile += $(objpfx)abi-tag.h
 generated += abi-tag.h
-endif
 
 ifeq ($(have-initfini),yes)
 
@@ -124,10 +122,8 @@ $(objpfx)defs.h: $(objpfx)initfini.s
 
 endif
 
-ifeq (yes,$(elf))
 extra-objs += abi-note.o init.o
 asm-CPPFLAGS += -I$(objpfx).
-endif
 
 include ../Rules
 
@@ -139,7 +135,6 @@ $(CC) -nostdlib -nostartfiles -r -o $@ $^
 endef
 
 ifndef start-installed-name-rule
-ifeq (yes,$(elf))
 # We link the ELF startfile along with a SHT_NOTE section indicating
 # the kernel ABI the binaries linked with this library will require.
 $(objpfx)$(start-installed-name): $(objpfx)start.o $(objpfx)abi-note.o \
@@ -151,19 +146,6 @@ $(objpfx)S$(start-installed-name): $(objpfx)start.os $(objpfx)abi-note.o \
 $(objpfx)b$(start-installed-name): $(objpfx)start.ob $(objpfx)abi-note.ob \
 				  $(objpfx)init.ob
 	$(link-relocatable)
-else
-# The startfile is installed under different names, so we just call our
-# source file `start.c' and copy to the installed name after compiling.
-$(objpfx)$(start-installed-name): $(objpfx)start.o
-	rm -f $@
-	ln $< $@
-$(objpfx)S$(start-installed-name): $(objpfx)start.os
-	rm -f $@
-	ln $< $@
-$(objpfx)b$(start-installed-name): $(objpfx)start.ob
-	rm -f $@
-	ln $< $@
-endif
 endif
 
 # The profiling startfile is made by linking together the normal
diff --git a/csu/version.c b/csu/version.c
index fd13d55c50..564aec5384 100644
--- a/csu/version.c
+++ b/csu/version.c
@@ -66,7 +66,6 @@ __gnu_get_libc_version (void)
 }
 weak_alias (__gnu_get_libc_version, gnu_get_libc_version)
 
-#ifdef HAVE_ELF
 /* This function is the entry point for the shared object.
    Running the library as a program will get here.  */
 
@@ -77,4 +76,3 @@ __libc_main (void)
   __libc_print_version ();
   _exit (0);
 }
-#endif
diff --git a/debug/Makefile b/debug/Makefile
index e6842f0ae5..579fce66da 100644
--- a/debug/Makefile
+++ b/debug/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2001,2004-2008, 2009, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1998-2001,2004-2008, 2009, 2011, 2012 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -140,11 +140,9 @@ install-bin-script = xtrace
 include ../Makeconfig
 
 distribute += catchsegv.sh xtrace.sh
-ifeq ($(elf),yes)
 ifeq ($(build-shared),yes)
 install-bin-script += catchsegv
 endif
-endif
 generated = catchsegv xtrace
 
 include ../Rules
diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index dd4fb83dd5..ae76082111 100644
--- a/dlfcn/Makefile
+++ b/dlfcn/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1995-2006, 2010 Free Software Foundation, Inc.
+# Copyright (C) 1995-2006, 2010, 2012 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -53,7 +53,7 @@ failtestmod.so-no-z-defs = yes
 glreflib2.so-no-z-defs = yes
 errmsg1mod.so-no-z-defs = yes
 
-ifeq (yesyesyes,$(build-static)$(build-shared)$(elf))
+ifeq (yesyes,$(build-static)$(build-shared))
 tests += tststatic tststatic2
 tests-static += tststatic tststatic2
 modules-names += modstatic modstatic2
@@ -134,4 +134,4 @@ $(objpfx)bug-atexit3.out: $(objpfx)bug-atexit3-lib.so
 # This ensures they will load libc.so for needed symbols if loaded by
 # a statically-linked program that hasn't already loaded it.
 $(objpfx)libdl.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a \
-		   $(if $(filter yes,$(elf)), $(elfobjdir)/ld.so)
+		   $(elfobjdir)/ld.so
diff --git a/elf/Makefile b/elf/Makefile
index f20f52dee1..b010085b29 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1995-2007,2008,2009,2010,2011 Free Software Foundation, Inc.
+# Copyright (C) 1995-2011, 2012 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -202,7 +202,7 @@ tests += tst-array1 tst-array2 tst-array3 tst-array4 tst-array5
 endif
 ifeq (yes,$(build-static))
 tests-static = tst-tls1-static tst-tls2-static tst-stackguard1-static
-ifeq (yesyesyes,$(build-static)$(build-shared)$(elf))
+ifeq (yesyes,$(build-static)$(build-shared))
 tests-static += tst-tls9-static
 tst-tls9-static-ENV = \
        LD_LIBRARY_PATH=$(objpfx):$(common-objpfx):$(common-objpfx)dlfcn
diff --git a/extra-lib.mk b/extra-lib.mk
index 775eb23cdd..f2a19b0423 100644
--- a/extra-lib.mk
+++ b/extra-lib.mk
@@ -12,7 +12,7 @@ extra-libs-left := $(filter-out $(lib),$(extra-libs-left))
 object-suffixes-$(lib) := $(filter-out $($(lib)-inhibit-o),$(object-suffixes))
 
 ifneq (,$($(lib)-static-only-routines))
-ifneq (,$(filter yesyes%,$(build-shared)$(elf)$($(lib).so-version)))
+ifneq (,$(filter yes%,$(build-shared)$($(lib).so-version)))
 object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oS)
 endif
 endif
diff --git a/iconv/Makefile b/iconv/Makefile
index 77a9ad7666..46b6e9bdf3 100644
--- a/iconv/Makefile
+++ b/iconv/Makefile
@@ -1,4 +1,5 @@
-# Copyright (C) 1997,1998,2000-2004,2007,2009 Free Software Foundation, Inc.
+# Copyright (C) 1997,1998,2000-2004,2007,2009,2012
+# Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -27,13 +28,7 @@ headers		= iconv.h gconv.h
 routines	= iconv_open iconv iconv_close \
 		  gconv_open gconv gconv_close gconv_db gconv_conf \
 		  gconv_builtin gconv_simple gconv_trans gconv_cache
-ifeq ($(elf),yes)
 routines	+= gconv_dl
-else
-CFLAGS-gconv_db.c = -DSTATIC_GCONV
-CFLAGS-gconv_cache.c = -DSTATIC_GCONV
-CFLAGS-gconv_simple.c = -DSTATIC_GCONV
-endif
 
 vpath %.c ../locale/programs ../intl
 
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index 851efc5c28..e253722c44 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -1,6 +1,6 @@
 /* Support macros for making weak and strong aliases for symbols,
    and for using symbol sets and linker warnings with GNU ld.
-   Copyright (C) 1995-1998,2000-2006,2008,2009,2011
+   Copyright (C) 1995-1998,2000-2006,2008,2009,2011,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -32,7 +32,6 @@
    * ASM_GLOBAL_DIRECTIVE with `.globl' or `.global'.
    * ASM_TYPE_DIRECTIVE_PREFIX with `@' or `#' or whatever for .type,
      or leave it undefined if there is no .type directive.
-   * HAVE_ELF if using ELF, which supports weak symbols using `.weak'.
    * HAVE_ASM_WEAK_DIRECTIVE if we have weak symbols using `.weak'.
    * HAVE_ASM_WEAKEXT_DIRECTIVE if we have weak symbols using `.weakext'.
 
@@ -54,8 +53,7 @@
 
 #include <config.h>
 
-/* The symbols in all the user (non-_) macros are C symbols.
-   NO HAVE_ELF implies a.out.  */
+/* The symbols in all the user (non-_) macros are C symbols.  */
 
 #if defined HAVE_ASM_WEAK_DIRECTIVE || defined HAVE_ASM_WEAKEXT_DIRECTIVE
 # define HAVE_WEAK_SYMBOLS
@@ -222,51 +220,35 @@
 
 /* When a reference to SYMBOL is encountered, the linker will emit a
    warning message MSG.  */
-#ifdef HAVE_ELF
-
 /* We want the .gnu.warning.SYMBOL section to be unallocated.  */
-# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE
-#  define __make_section_unallocated(section_string)	\
+#ifdef HAVE_ASM_PREVIOUS_DIRECTIVE
+# define __make_section_unallocated(section_string)	\
   asm (".section " section_string "\n\t.previous");
-# elif defined HAVE_ASM_POPSECTION_DIRECTIVE
-#  define __make_section_unallocated(section_string)	\
+#elif defined HAVE_ASM_POPSECTION_DIRECTIVE
+# define __make_section_unallocated(section_string)	\
   asm (".pushsection " section_string "\n\t.popsection");
-# else
-#  define __make_section_unallocated(section_string)
-# endif
+#else
+# define __make_section_unallocated(section_string)
+#endif
 
 /* Tacking on "\n\t#" to the section name makes gcc put it's bogus
    section attributes on what looks like a comment to the assembler.  */
-# ifdef HAVE_SECTION_QUOTES
-#  define __sec_comment "\"\n\t#\""
-# else
-#  define __sec_comment "\n\t#"
-# endif
-# define link_warning(symbol, msg) \
+#ifdef HAVE_SECTION_QUOTES
+# define __sec_comment "\"\n\t#\""
+#else
+# define __sec_comment "\n\t#"
+#endif
+#define link_warning(symbol, msg) \
   __make_section_unallocated (".gnu.warning." #symbol) \
   static const char __evoke_link_warning_##symbol[]	\
     __attribute__ ((used, section (".gnu.warning." #symbol __sec_comment))) \
     = msg;
-# define libc_freeres_ptr(decl) \
+#define libc_freeres_ptr(decl) \
   __make_section_unallocated ("__libc_freeres_ptrs, \"aw\", %nobits") \
   decl __attribute__ ((section ("__libc_freeres_ptrs" __sec_comment)))
-# define __libc_freeres_fn_section \
+#define __libc_freeres_fn_section \
   __attribute__ ((section ("__libc_freeres_fn")))
-#else /* Not ELF: a.out */
-# ifdef HAVE_XCOFF
-/* XCOFF does not support .stabs.
-   The native aix linker will remove the .stab and .stabstr sections
-   The gnu linker will have a fatal error if there is a relocation for
-   symbol in the .stab section.  Silently disable this macro.  */
-#  define link_warning(symbol, msg)
-# else
-#  define link_warning(symbol, msg)		\
-     asm (".stabs \"" msg "\",30,0,0,0\n\t"	\
-	  ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n");
-# endif /* XCOFF */
-# define libc_freeres_ptr(decl) decl
-# define __libc_freeres_fn_section
-#endif
+
 #define libc_freeres_fn(name)	\
   static void name (void) __attribute_used__ __libc_freeres_fn_section;	\
   text_set_element (__libc_subfreeres, name);				\
@@ -337,77 +319,50 @@ for linking")
 
 /* Symbol set support macros.  */
 
-#ifdef HAVE_ELF
-
 /* Make SYMBOL, which is in the text segment, an element of SET.  */
-# define text_set_element(set, symbol)	_elf_set_element(set, symbol)
+#define text_set_element(set, symbol)	_elf_set_element(set, symbol)
 /* Make SYMBOL, which is in the data segment, an element of SET.  */
-# define data_set_element(set, symbol)	_elf_set_element(set, symbol)
+#define data_set_element(set, symbol)	_elf_set_element(set, symbol)
 /* Make SYMBOL, which is in the bss segment, an element of SET.  */
-# define bss_set_element(set, symbol)	_elf_set_element(set, symbol)
+#define bss_set_element(set, symbol)	_elf_set_element(set, symbol)
 
 /* These are all done the same way in ELF.
    There is a new section created for each set.  */
-# ifdef SHARED
+#ifdef SHARED
 /* When building a shared library, make the set section writable,
    because it will need to be relocated at run time anyway.  */
-#  define _elf_set_element(set, symbol) \
+# define _elf_set_element(set, symbol) \
   static const void *__elf_set_##set##_element_##symbol##__ \
     __attribute__ ((used, section (#set))) = &(symbol)
-# else
-#  define _elf_set_element(set, symbol) \
+#else
+# define _elf_set_element(set, symbol) \
   static const void *const __elf_set_##set##_element_##symbol##__ \
     __attribute__ ((used, section (#set))) = &(symbol)
-# endif
+#endif
 
 /* Define SET as a symbol set.  This may be required (it is in a.out) to
    be able to use the set's contents.  */
-# define symbol_set_define(set)	symbol_set_declare(set)
+#define symbol_set_define(set)	symbol_set_declare(set)
 
 /* Declare SET for use in this module, if defined in another module.
    In a shared library, this is always local to that shared object.
    For static linking, the set might be wholly absent and so we use
    weak references.  */
-# define symbol_set_declare(set) \
+#define symbol_set_declare(set) \
   extern char const __start_##set[] __symbol_set_attribute; \
   extern char const __stop_##set[] __symbol_set_attribute;
-# ifdef SHARED
-#  define __symbol_set_attribute attribute_hidden
-# else
-#  define __symbol_set_attribute __attribute__ ((weak))
-# endif
+#ifdef SHARED
+# define __symbol_set_attribute attribute_hidden
+#else
+# define __symbol_set_attribute __attribute__ ((weak))
+#endif
 
 /* Return a pointer (void *const *) to the first element of SET.  */
-# define symbol_set_first_element(set)	((void *const *) (&__start_##set))
+#define symbol_set_first_element(set)	((void *const *) (&__start_##set))
 
 /* Return true iff PTR (a void *const *) has been incremented
    past the last element in SET.  */
-# define symbol_set_end_p(set, ptr) ((ptr) >= (void *const *) &__stop_##set)
-
-#else	/* Not ELF: a.out.  */
-
-# ifdef HAVE_XCOFF
-/* XCOFF does not support .stabs.
-   The native aix linker will remove the .stab and .stabstr sections
-   The gnu linker will have a fatal error if there is a relocation for
-   symbol in the .stab section.  Silently disable these macros.  */
-#  define text_set_element(set, symbol)
-#  define data_set_element(set, symbol)
-#  define bss_set_element(set, symbol)
-# else
-#  define text_set_element(set, symbol)	\
-    asm (".stabs \"" __SYMBOL_PREFIX #set "\",23,0,0," __SYMBOL_PREFIX #symbol)
-#  define data_set_element(set, symbol)	\
-    asm (".stabs \"" __SYMBOL_PREFIX #set "\",25,0,0," __SYMBOL_PREFIX #symbol)
-#  define bss_set_element(set, symbol)	?error Must use initialized data.
-# endif /* XCOFF */
-# define symbol_set_define(set)	void *const (set)[1];
-# define symbol_set_declare(set)	extern void *const (set)[1];
-
-# define symbol_set_first_element(set)	&(set)[1]
-# define symbol_set_end_p(set, ptr)	(*(ptr) == 0)
-
-#endif	/* ELF.  */
+#define symbol_set_end_p(set, ptr) ((ptr) >= (void *const *) &__stop_##set)
 
 #if DO_VERSIONING
 # define symbol_version(real, name, version) \
diff --git a/include/shlib-compat.h b/include/shlib-compat.h
index 79246dff25..b639c179c2 100644
--- a/include/shlib-compat.h
+++ b/include/shlib-compat.h
@@ -1,5 +1,5 @@
 /* Macros for managing ABI-compatibility definitions using ELF symbol versions.
-   Copyright (C) 2000, 2002, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2002, 2006, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,13 +20,13 @@
 #ifndef _SHLIB_COMPAT_H
 #define _SHLIB_COMPAT_H	1
 
-#if defined HAVE_ELF && defined DO_VERSIONING
+#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
 
-#if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING
+#if defined SHARED && defined DO_VERSIONING
 
 /* 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/nptl/ChangeLog b/nptl/ChangeLog
index a2c530a83e..6ccd981498 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,7 @@
 2012-01-07  Ulrich Drepper  <drepper@gmail.com>
 
+	* Makefile: Remove elf=yes test, only ELF is supported.
+
 	* shlib-versions: Remove entries for ports architectures.
 
 	In case anyone cares, the IA-64 architecture could move to ports.
diff --git a/nptl/Makefile b/nptl/Makefile
index 18c3182976..be6f490738 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2008,2009,2010 Free Software Foundation, Inc.
+# Copyright (C) 2002-2008,2009,2010,2012 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -519,7 +519,7 @@ $(objpfx)libpthread.so: +postinit += $(addprefix $(objpfx),$(crtn-objs))
 # Depend on ld.so too to get proper versions of ld.so symbols.
 $(objpfx)libpthread.so: $(common-objpfx)libc.so \
 			$(common-objpfx)libc_nonshared.a \
-			$(if $(filter yes,$(elf)), $(elfobjdir)/ld.so)
+			$(elfobjdir)/ld.so
 
 # Make sure we link with the thread library.
 ifeq ($(build-shared),yes)
diff --git a/resolv/Makefile b/resolv/Makefile
index b4287dec0b..a7c3f5adab 100644
--- a/resolv/Makefile
+++ b/resolv/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1994-2001,2003,2004,2007,2008,2011
+# Copyright (C) 1994-2001,2003,2004,2007,2008,2011,2012
 #	Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -91,7 +91,7 @@ CFLAGS-res_hconf.c = -fexceptions
 $(objpfx)libresolv.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
 # Some hosts need '__stack_chk_guard', so pull in the definition from
 # ld.so if required.
-ifeq (yesyes,$(have-ssp)$(elf))
+ifeq (yes,$(have-ssp))
 LDLIBS-resolv.so += $(as-needed) $(elfobjdir)/ld.so $(no-as-needed)
 endif
 
diff --git a/resolv/res_libc.c b/resolv/res_libc.c
index 1f6b3a19ef..48d3200b7e 100644
--- a/resolv/res_libc.c
+++ b/resolv/res_libc.c
@@ -133,7 +133,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 HAVE_ELF && defined SHARED && defined DO_VERSIONING
+#if defined SHARED && defined DO_VERSIONING
 # include <shlib-compat.h>
 compat_symbol (libc, _res, _res, GLIBC_2_0);
 #endif
diff --git a/rt/Makefile b/rt/Makefile
index fe25309098..a1700adf50 100644
--- a/rt/Makefile
+++ b/rt/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2004, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1997-2004, 2006, 2007, 2012 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -69,7 +69,7 @@ LDFLAGS-rt.so = -Wl,--enable-new-dtags,-z,nodelete
 # a statically-linked program that hasn't already loaded it.
 $(objpfx)librt.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a \
 		   $(shared-thread-library) \
-		   $(if $(filter yes,$(elf)), $(elfobjdir)/ld.so)
+		   $(elfobjdir)/ld.so
 
 ifeq (yes,$(build-shared))
 $(addprefix $(objpfx),$(tests)): $(objpfx)librt.so $(shared-thread-library)
@@ -84,5 +84,5 @@ tst-mqueue7-ARGS = -- $(built-program-cmd)
 
 ifeq (yes,$(build-static-nss))
 otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
-             $(resolvobjdir)/libresolv.a
+	     $(resolvobjdir)/libresolv.a
 endif
diff --git a/sysdeps/i386/asm-syntax.h b/sysdeps/i386/asm-syntax.h
index e59e633224..19510e01b5 100644
--- a/sysdeps/i386/asm-syntax.h
+++ b/sysdeps/i386/asm-syntax.h
@@ -1,5 +1,5 @@
 /* Definitions for x86 syntax variations.
-   Copyright (C) 1992, 1994, 1995, 1997, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1992,1994,1995,1997,2000,2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.  Its master source is NOT part of
    the C library, however.  The master source lives in the GNU MP Library.
 
@@ -19,11 +19,7 @@
    02111-1307 USA.  */
 
 #undef ALIGN
-#if defined NOLOG_ALIGN || defined HAVE_ELF
-# define ALIGN(log) .align 1<<log
-#else
-# define ALIGN(log) .align log
-#endif
+#define ALIGN(log) .align 1<<log
 
 #undef L
 #ifdef __ELF__
diff --git a/sysdeps/i386/sysdep.h b/sysdeps/i386/sysdep.h
index a8a9e571bf..5a1f6938b0 100644
--- a/sysdeps/i386/sysdep.h
+++ b/sysdeps/i386/sysdep.h
@@ -1,5 +1,5 @@
 /* Assembler macros for i386.
-   Copyright (C) 1991-93,95,96,98,2002,2003,2005,2006,2011
+   Copyright (C) 1991-93,95,96,98,2002,2003,2005,2006,2011,2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -24,8 +24,6 @@
 
 /* Syntactic details of assembler.  */
 
-#ifdef HAVE_ELF
-
 /* ELF uses byte-counts for .align, most others use log2 of count of bytes.  */
 #define ALIGNARG(log2) 1<<log2
 /* For ELF we need the `.type' directive to make shared libs work right.  */
@@ -36,14 +34,6 @@
 #undef	NO_UNDERSCORES
 #define NO_UNDERSCORES
 
-#else
-
-#define ALIGNARG(log2) log2
-#define ASM_TYPE_DIRECTIVE(name,type)	/* Nothing is specified.  */
-#define ASM_SIZE_DIRECTIVE(name)	/* Nothing is specified.  */
-
-#endif
-
 
 /* Define an entry point visible from C.
 
@@ -160,11 +150,7 @@ __i686.get_pc_thunk.reg:						      \
 
 /* Local label name for asm code. */
 #ifndef L
-#ifdef HAVE_ELF
 #define L(name)		.L##name
-#else
-#define L(name)		name
-#endif
 #endif
 
 #define atom_text_section .section ".text.atom", "ax"
diff --git a/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h b/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h
index 692b0c53c7..722dcae745 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 HAVE_ELF && defined SHARED && defined DO_VERSIONING
+#if defined SHARED && defined DO_VERSIONING
 # 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/mach/sysdep.h b/sysdeps/mach/sysdep.h
index 825198c79d..bb287a32f4 100644
--- a/sysdeps/mach/sysdep.h
+++ b/sysdeps/mach/sysdep.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1995, 1997, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -28,7 +28,6 @@
 #define EXT(x) C_SYMBOL_NAME(x)
 #define LEXT(x) C_SYMBOL_NAME(x##:)
 
-#ifdef HAVE_ELF
 /* For ELF we need to add the `.type' directive to make shared libraries
    work right.  */
 #undef ENTRY
@@ -37,7 +36,6 @@
   .align ALIGN; \
   .type name,@function; \
   name:
-#endif
 
 #endif
 
diff --git a/sysdeps/powerpc/powerpc32/Makefile b/sysdeps/powerpc/powerpc32/Makefile
index ed24484c2e..84a9841b7a 100644
--- a/sysdeps/powerpc/powerpc32/Makefile
+++ b/sysdeps/powerpc/powerpc32/Makefile
@@ -23,7 +23,6 @@ pic-ccflag = -fpic
 endif
 
 ifeq ($(subdir),csu)
-ifneq ($(elf),no)
 # The initfini generation code doesn't work in the presence of -fPIC, so
 # we use -fpic instead which is much better.
 CFLAGS-initfini.s += -fpic -O1
@@ -32,7 +31,7 @@ CFLAGS-initfini.s += -fpic -O1
 # of the library should be able to control what goes into sdata.
 CFLAGS-init.o = -G0
 CFLAGS-gmon-start.o = -G0
-endif
+
 ifeq (yes,$(build-shared))
 # Compatibility
 ifeq (yes,$(have-protected))
diff --git a/sysdeps/powerpc/powerpc64/Makefile b/sysdeps/powerpc/powerpc64/Makefile
index 9056e60c4e..efaa29611b 100644
--- a/sysdeps/powerpc/powerpc64/Makefile
+++ b/sysdeps/powerpc/powerpc64/Makefile
@@ -28,12 +28,10 @@ no-special-regs := $(sort $(foreach n,40 41 50 51 60 61 62 63 \
 ifeq ($(subdir),csu)
 sysdep_routines += hp-timing
 elide-routines.os += hp-timing
-ifneq ($(elf),no)
 # The initfini generation code doesn't work in the presence of -fPIC, so
 # we use -fpic instead which is much better.
 CFLAGS-initfini.s += -fpic -O1
 endif
-endif
 
 ifeq ($(subdir),elf)
 # help gcc inline asm code from dl-machine.h
diff --git a/sysdeps/s390/asm-syntax.h b/sysdeps/s390/asm-syntax.h
index d1cd80f109..a1d7b5e74b 100644
--- a/sysdeps/s390/asm-syntax.h
+++ b/sysdeps/s390/asm-syntax.h
@@ -1,5 +1,5 @@
 /* Definitions for S/390 syntax variations.
-   Copyright (C) 1992, 1994, 1995, 1997, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1992, 1994, 1995, 1997, 2000, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.  Its master source is NOT part of
    the C library, however.  The master source lives in the GNU MP Library.
 
@@ -19,11 +19,7 @@
    02111-1307 USA.  */
 
 #undef ALIGN
-#if defined NOLOG_ALIGN || defined HAVE_ELF
-# define ALIGN(log) .align 1<<log
-#else
-# define ALIGN(log) .align log
-#endif
+#define ALIGN(log) .align 1<<log
 
 #undef L
 #ifdef __ELF__
diff --git a/sysdeps/s390/s390-32/sysdep.h b/sysdeps/s390/s390-32/sysdep.h
index f2d5bada88..8cb8005a58 100644
--- a/sysdeps/s390/s390-32/sysdep.h
+++ b/sysdeps/s390/s390-32/sysdep.h
@@ -1,5 +1,5 @@
 /* Assembler macros for s390.
-   Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2003, 2012 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
    This file is part of the GNU C Library.
 
@@ -24,8 +24,6 @@
 
 /* Syntactic details of assembler.  */
 
-#ifdef HAVE_ELF
-
 /* ELF uses byte-counts for .align, most others use log2 of count of bytes.  */
 #define ALIGNARG(log2) 1<<log2
 /* For ELF we need the `.type' directive to make shared libs work right.  */
@@ -36,14 +34,6 @@
 #undef	NO_UNDERSCORES
 #define NO_UNDERSCORES
 
-#else
-
-#define ALIGNARG(log2) log2
-#define ASM_TYPE_DIRECTIVE(name,type)	/* Nothing is specified.  */
-#define ASM_SIZE_DIRECTIVE(name)	/* Nothing is specified.  */
-
-#endif
-
 
 /* Define an entry point visible from C. */
 #define	ENTRY(name)							      \
diff --git a/sysdeps/s390/s390-64/sysdep.h b/sysdeps/s390/s390-64/sysdep.h
index 75fee7380d..68903df64e 100644
--- a/sysdeps/s390/s390-64/sysdep.h
+++ b/sysdeps/s390/s390-64/sysdep.h
@@ -1,5 +1,5 @@
 /* Assembler macros for 64 bit S/390.
-   Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2012 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
    This file is part of the GNU C Library.
 
@@ -24,8 +24,6 @@
 
 /* Syntactic details of assembler.  */
 
-#ifdef HAVE_ELF
-
 /* ELF uses byte-counts for .align, most others use log2 of count of bytes.  */
 #define ALIGNARG(log2) 1<<log2
 /* For ELF we need the `.type' directive to make shared libs work right.  */
@@ -36,14 +34,6 @@
 #undef	NO_UNDERSCORES
 #define NO_UNDERSCORES
 
-#else
-
-#define ALIGNARG(log2) log2
-#define ASM_TYPE_DIRECTIVE(name,type)	/* Nothing is specified.  */
-#define ASM_SIZE_DIRECTIVE(name)	/* Nothing is specified.  */
-
-#endif
-
 
 /* Define an entry point visible from C. */
 #define	ENTRY(name)							      \
diff --git a/sysdeps/sh/sysdep.h b/sysdeps/sh/sysdep.h
index 743631ad71..9f37dc9bac 100644
--- a/sysdeps/sh/sysdep.h
+++ b/sysdeps/sh/sysdep.h
@@ -1,5 +1,5 @@
 /* Assembler macros for SH.
-   Copyright (C) 1999, 2000, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2000, 2005, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -23,8 +23,6 @@
 
 /* Syntactic details of assembler.  */
 
-#ifdef HAVE_ELF
-
 #define ALIGNARG(log2) log2
 /* For ELF we need the `.type' directive to make shared libs work right.  */
 #define ASM_TYPE_DIRECTIVE(name,typearg) .type name,@##typearg;
@@ -36,15 +34,6 @@
 #define PLTJMP(_x)	_x
 #endif
 
-#else
-
-#define ALIGNARG(log2) log2
-#define ASM_TYPE_DIRECTIVE(name,type)	/* Nothing is specified.  */
-#define ASM_SIZE_DIRECTIVE(name)	/* Nothing is specified.  */
-
-#define PLTJMP(_x)	_x
-
-#endif
 
 /* Define an entry point visible from C.  */
 #define	ENTRY(name)							      \
diff --git a/sysdeps/unix/sparc/sysdep.h b/sysdeps/unix/sparc/sysdep.h
index 590b7abc4a..fbfb74c8d9 100644
--- a/sysdeps/unix/sparc/sysdep.h
+++ b/sysdeps/unix/sparc/sysdep.h
@@ -1,5 +1,5 @@
-/* Copyright (C) 1993, 1994, 1995, 1997, 2003, 2011
-        Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1994, 1995, 1997, 2003, 2011, 2012
+	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -49,20 +49,12 @@ __sparc_get_pc_thunk.reg:		   				\
 	mov	%##tmp, %o7;
 #endif
 
-#ifdef HAVE_ELF
 #define	ENTRY(name)		\
   .global C_SYMBOL_NAME(name);	\
   .type name,@function;		\
   .align 4;			\
   C_LABEL(name)
 
-#else
-#define	ENTRY(name)		\
-  .global C_SYMBOL_NAME(name);	\
-  .align 4;			\
-  C_LABEL(name)
-
-#endif /* HAVE_ELF */
 
 #define	PSEUDO(name, syscall_name, args)	\
   .global syscall_error;			\
diff --git a/sysdeps/wordsize-32/divdi3.c b/sysdeps/wordsize-32/divdi3.c
index 8fa6343841..69bdc778f5 100644
--- a/sysdeps/wordsize-32/divdi3.c
+++ b/sysdeps/wordsize-32/divdi3.c
@@ -1,5 +1,5 @@
 /* 64-bit multiplication and division
-   Copyright (C) 1989, 1992-1999,2000,2001,2002,2003,2004,2005
+   Copyright (C) 1989, 1992-1999,2000,2001,2002,2003,2004,2005,2012
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -335,7 +335,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 HAVE_ELF && defined SHARED && defined DO_VERSIONING
+#if defined SHARED && defined DO_VERSIONING
 # include <shlib-compat.h>
 compat_symbol (libc, __divdi3, __divdi3, GLIBC_2_0);
 compat_symbol (libc, __moddi3, __moddi3, GLIBC_2_0);
diff --git a/sysdeps/x86_64/sysdep.h b/sysdeps/x86_64/sysdep.h
index d61e126733..cb8dced8e6 100644
--- a/sysdeps/x86_64/sysdep.h
+++ b/sysdeps/x86_64/sysdep.h
@@ -1,5 +1,5 @@
 /* Assembler macros for x86-64.
-   Copyright (C) 2001, 2002, 2003, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2011, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -23,8 +23,6 @@
 
 /* Syntactic details of assembler.  */
 
-#ifdef HAVE_ELF
-
 /* ELF uses byte-counts for .align, most others use log2 of count of bytes.  */
 #define ALIGNARG(log2) 1<<log2
 /* For ELF we need the `.type' directive to make shared libs work right.  */
@@ -35,14 +33,6 @@
 #undef	NO_UNDERSCORES
 #define NO_UNDERSCORES
 
-#else
-
-#define ALIGNARG(log2) log2
-#define ASM_TYPE_DIRECTIVE(name,type)	/* Nothing is specified.  */
-#define ASM_SIZE_DIRECTIVE(name)	/* Nothing is specified.  */
-
-#endif
-
 
 /* Define an entry point visible from C.  */
 #define	ENTRY(name)							      \
@@ -106,12 +96,8 @@ lose:									      \
 
 /* Local label name for asm code. */
 #ifndef L
-# ifdef HAVE_ELF
 /* ELF-like local names start with `.L'.  */
-#  define L(name)	.L##name
-# else
-#  define L(name)	name
-# endif
+# define L(name)	.L##name
 #endif
 
 #define atom_text_section .section ".text.atom", "ax"