summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-11-06 02:06:06 +0000
committerUlrich Drepper <drepper@redhat.com>2005-11-06 02:06:06 +0000
commit57d44131d889dfcf7aa3abd0553f02518e67fafe (patch)
tree3fba07c22094cc0ef4b6b324f122e5eba3881f97
parent2f043956cfc3115f0d4a6af846d7289192cbfd6a (diff)
downloadglibc-57d44131d889dfcf7aa3abd0553f02518e67fafe.tar.gz
glibc-57d44131d889dfcf7aa3abd0553f02518e67fafe.tar.xz
glibc-57d44131d889dfcf7aa3abd0553f02518e67fafe.zip
* configure.in: Remove gnu_ld definition and everything using it.
	* config.h.in: Remove HAVE_GNU_LD.
	* csu/Makefile: Remove use of gnu-ld.
	* csu/munch.awk: Removed.
	* csu/munch-tmpl.c: Removed.
	* include/libc-symbols.h: Remove use of HAVE_GNU_LD.
	* posix/execl.c: Likewise.
	* posix/execv.c: Likewise.
	* stdio-common/psignal.c: Likewise.
	* stdlib/exit.c: Likewise.
	* string/strsignal.c: Likewise.
	* string/tester.c: Likewise.
	* sysdeps/generic/errlist.c: Likewise.
	* sysdeps/generic/getenv.c: Likewise.
	* sysdeps/generic/getgroups.c: Likewise.
	* sysdeps/generic/init-posix.c: Likewise.
	* sysdeps/posix/gettimeofday.c: Likewise.
	* sysdeps/posix/system.c: Likewise.
	* sysdeps/unix/bsd/init-posix.c: Likewise.
	* sysdeps/unix/bsd/ulimit.c: Likewise.
	* sysdeps/unix/bsd/sun/m68k/brk.S: Likewise.
	* sysdeps/unix/bsd/sun/m68k/sethostid.S: Likewise.
	* sysdeps/unix/bsd/sun/sparc/sethostid.S: Likewise.
	* sysdeps/unix/i386/brk.S: Likewise.
	* sysdeps/unix/sparc/brk.S: Likewise.
-rw-r--r--ChangeLog26
-rw-r--r--config.h.in5
-rw-r--r--configure.in22
-rw-r--r--csu/Makefile17
-rw-r--r--csu/munch-tmpl.c38
-rw-r--r--csu/munch.awk11
-rw-r--r--include/libc-symbols.h130
-rw-r--r--posix/execl.c3
-rw-r--r--posix/execv.c5
-rw-r--r--stdio-common/psignal.c4
-rw-r--r--stdlib/exit.c11
-rw-r--r--string/strsignal.c6
-rw-r--r--string/tester.c6
-rw-r--r--sysdeps/generic/errlist.c6
-rw-r--r--sysdeps/generic/getenv.c5
-rw-r--r--sysdeps/generic/getgroups.c4
-rw-r--r--sysdeps/generic/init-posix.c28
-rw-r--r--sysdeps/posix/gettimeofday.c8
-rw-r--r--sysdeps/posix/system.c6
-rw-r--r--sysdeps/unix/bsd/init-posix.c4
-rw-r--r--sysdeps/unix/bsd/sun/m68k/brk.S6
-rw-r--r--sysdeps/unix/bsd/sun/m68k/sethostid.S6
-rw-r--r--sysdeps/unix/bsd/sun/sparc/sethostid.S5
-rw-r--r--sysdeps/unix/bsd/ulimit.c5
-rw-r--r--sysdeps/unix/i386/brk.S6
-rw-r--r--sysdeps/unix/sparc/brk.S6
26 files changed, 104 insertions, 275 deletions
diff --git a/ChangeLog b/ChangeLog
index 8db0f1bb84..fcd761938b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,31 @@
 2005-11-05  Ulrich Drepper  <drepper@redhat.com>
 
+	* configure.in: Remove gnu_ld definition and everything using it.
+	* config.h.in: Remove HAVE_GNU_LD.
+	* csu/Makefile: Remove use of gnu-ld.
+	* csu/munch.awk: Removed.
+	* csu/munch-tmpl.c: Removed.
+	* include/libc-symbols.h: Remove use of HAVE_GNU_LD.
+	* posix/execl.c: Likewise.
+	* posix/execv.c: Likewise.
+	* stdio-common/psignal.c: Likewise.
+	* stdlib/exit.c: Likewise.
+	* string/strsignal.c: Likewise.
+	* string/tester.c: Likewise.
+	* sysdeps/generic/errlist.c: Likewise.
+	* sysdeps/generic/getenv.c: Likewise.
+	* sysdeps/generic/getgroups.c: Likewise.
+	* sysdeps/generic/init-posix.c: Likewise.
+	* sysdeps/posix/gettimeofday.c: Likewise.
+	* sysdeps/posix/system.c: Likewise.
+	* sysdeps/unix/bsd/init-posix.c: Likewise.
+	* sysdeps/unix/bsd/ulimit.c: Likewise.
+	* sysdeps/unix/bsd/sun/m68k/brk.S: Likewise.
+	* sysdeps/unix/bsd/sun/m68k/sethostid.S: Likewise.
+	* sysdeps/unix/bsd/sun/sparc/sethostid.S: Likewise.
+	* sysdeps/unix/i386/brk.S: Likewise.
+	* sysdeps/unix/sparc/brk.S: Likewise.
+
 	* configure.in: Remove test for support for subtracting local labels.
 	* config.h.in: Remove HAVE_SUBTRACT_LOCAL_LABELS.
 	* stdio-common/vfprintf.c: Remove test of
diff --git a/config.h.in b/config.h.in
index f97a3ea02b..fc0efa3c63 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 GNU ld, with support for weak symbols in a.out,
-   and for symbol set and warning messages extensions in a.out and ELF.
-   This implies HAVE_WEAK_SYMBOLS; set by --with-gnu-ld.  */
-#undef	HAVE_GNU_LD
-
 /* Define if using ELF, which supports weak symbols.
    This implies HAVE_ASM_WEAK_DIRECTIVE and NO_UNDERSCORES; set by
    --with-elf.  */
diff --git a/configure.in b/configure.in
index 15f87fa171..bb7e10a280 100644
--- a/configure.in
+++ b/configure.in
@@ -298,11 +298,6 @@ config_os="`echo $config_os | sed 's/^unknown-//'`"
 
 # Some configurations imply other options.
 case "$host_os" in
-gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
-  # These systems always use GNU tools.
-  gnu_ld=yes gnu_as=yes ;;
-esac
-case "$host_os" in
 # i586-linuxaout is mangled into i586-pc-linux-gnuaout
 linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
   ;;
@@ -1240,7 +1235,7 @@ EOF
     AC_DEFINE(HAVE_BROKEN_ALIAS_ATTRIBUTE)
   fi
 
-  if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
+  if test $libc_cv_visibility_attribute = yes; then
     AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
 		 libc_cv_have_sdata_section,
 		 [echo "int i;" > conftest.c
@@ -1542,7 +1537,7 @@ if test $elf != yes; then
   fi
 fi
 
-if test $elf = yes -a $gnu_ld = yes; then
+if test $elf = yes; then
   AC_CACHE_CHECK(whether cc puts quotes around section names,
 		 libc_cv_have_section_quotes,
 		 [cat > conftest.c <<EOF
@@ -2080,10 +2075,7 @@ AC_SUBST(libc_cv_forced_unwind)
 AC_SUBST(use_ldconfig)
 AC_SUBST(ldd_rewrite_script)
 
-AC_SUBST(gnu_ld) AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
-if test $gnu_ld = yes; then
-  AC_DEFINE(HAVE_GNU_LD)
-fi
+AC_SUBST(gnu_as) AC_SUBST(elf) AC_SUBST(xcoff)
 if test $gnu_as = yes; then
   AC_DEFINE(HAVE_GNU_AS)
 fi
@@ -2097,13 +2089,7 @@ fi
 AC_SUBST(static)
 AC_SUBST(shared)
 if test $shared = default; then
-  if test $gnu_ld = yes; then
-    shared=$elf
-  else
-    # For now we do not assume shared libs are available.  In future more
-    # tests might become available.
-    shared=no
-  fi
+  shared=$elf
 fi
 
 if test x"$libc_cv_idn" = xyes; then
diff --git a/csu/Makefile b/csu/Makefile
index bd82641d41..550dc2983c 100644
--- a/csu/Makefile
+++ b/csu/Makefile
@@ -39,8 +39,8 @@ omit-deps = $(patsubst %.o,%,$(start-installed-name) g$(start-installed-name) \
 			     b$(start-installed-name) $(csu-dummies) \
 			     S$(start-installed-name))
 install-lib = $(start-installed-name) g$(start-installed-name) $(csu-dummies)
-distribute = initfini.c gmon-start.c start.c defs.awk munch.awk \
-	     abi-note.S init.c munch-tmpl.c not-cancel.h
+distribute = initfini.c gmon-start.c start.c defs.awk \
+	     abi-note.S init.c c not-cancel.h
 generated = version-info.h
 before-compile = $(objpfx)version-info.h
 
@@ -75,19 +75,6 @@ before-compile += $(objpfx)abi-tag.h
 generated += abi-tag.h
 endif
 
-ifneq (yes,$(gnu-ld))
-libc-init = munch-init
-$(objpfx)munch-init.c: munch.awk munch-tmpl.c $(+subdir_inits)
-	$(AWK) -f $< subdirs='$(+init_subdirs)' $(word 2,$^) > $@-t
-	mv -f $@-t $@
-generated += munch-init.c
-
-# All initialization source files.
-+subdir_inits	:= $(wildcard $(foreach dir,$(subdirs),$(dir)/init-$(dir).c))
-# All subdirectories containing initialization source files.
-+init_subdirs	:= $(patsubst %/,%,$(dir $(+subdir_inits)))
-endif
-
 ifeq ($(have-initfini),yes)
 
 CPPFLAGS += -DHAVE_INITFINI
diff --git a/csu/munch-tmpl.c b/csu/munch-tmpl.c
deleted file mode 100644
index f807cf9a3f..0000000000
--- a/csu/munch-tmpl.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 1991, 1995, 1997, 2000 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
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <stdlib.h>
-
-
-EXTERNS
-
-void
-__libc_init (int argc, char **argv, char **envp)
-{
-  CALLS
-
-#ifdef HAVE_INITFINI
-    {
-      /* These functions are defined in crti.o to run the .init and .fini
-	 sections, which are used for initializers and finalizers.  */
-      extern void _init (void), _fini (void);
-      atexit (&_fini);		/* Arrange for _fini to run at exit.  */
-      _init ();
-    }
-#endif
-}
diff --git a/csu/munch.awk b/csu/munch.awk
deleted file mode 100644
index 9ebcff8ecf..0000000000
--- a/csu/munch.awk
+++ /dev/null
@@ -1,11 +0,0 @@
-BEGIN { special = 0 }
-
-/EXTERNS/ { ndirs = split(subdirs, dirs)
-	    for (i = 1; i <= ndirs; ++i)
-	    	printf "extern void __init_%s (int argc, char **argv, char **envp);\n", dirs[i]
-	    special = 1 }
-/CALLS/ { ndirs = split(subdirs, dirs)
-	  for (i = 1; i <= ndirs; ++i) printf "  __init_%s (argc, argv, envp);\n", dirs[i]
-	  special = 1 }
-
-{ if (special == 0) print $0; special = 0 }
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index 4fef305814..8ee940719e 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -31,8 +31,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_GNU_LD if using GNU ld, with support for weak symbols in a.out,
-   and for symbol set and warning messages extensions in a.out and ELF.
    * 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'.
@@ -56,7 +54,7 @@
 #include <config.h>
 
 /* The symbols in all the user (non-_) macros are C symbols.
-   HAVE_GNU_LD without HAVE_ELF implies a.out.  */
+   NO HAVE_ELF implies a.out.  */
 
 #if defined HAVE_ASM_WEAK_DIRECTIVE || defined HAVE_ASM_WEAKEXT_DIRECTIVE
 # define HAVE_WEAK_SYMBOLS
@@ -220,55 +218,48 @@
 
 /* When a reference to SYMBOL is encountered, the linker will emit a
    warning message MSG.  */
-#ifdef HAVE_GNU_LD
-# ifdef HAVE_ELF
+#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
+#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)		\
+#  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
-#else
-/* We will never be heard; they will all die horribly.  */
-# define link_warning(symbol, msg)
+# endif /* XCOFF */
 # define libc_freeres_ptr(decl) decl
 # define __libc_freeres_fn_section
 #endif
@@ -325,92 +316,79 @@ for linking")
 
 */
 
-#ifdef HAVE_GNU_LD
-
 /* Symbol set support macros.  */
 
-# ifdef HAVE_ELF
+#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)
+# define symbol_set_end_p(set, ptr) ((ptr) >= (void *const *) &__stop_##set)
 
-# else	/* Not ELF: a.out.  */
+#else	/* Not ELF: a.out.  */
 
-#  ifdef HAVE_XCOFF
+# 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)	\
+#  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)	\
+#  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.  */
-#else
-/* We cannot do anything in generial.  */
-# define text_set_element(set, symbol) asm ("")
-# define data_set_element(set, symbol) asm ("")
-# define bss_set_element(set, symbol) asm ("")
-# define symbol_set_define(set)		void *const (set)[1];
+#  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	/* Have GNU ld.  */
+
+#endif	/* ELF.  */
 
 #if DO_VERSIONING
 # define symbol_version(real, name, version) \
diff --git a/posix/execl.c b/posix/execl.c
index 12b59f9de3..7f822d0142 100644
--- a/posix/execl.c
+++ b/posix/execl.c
@@ -24,9 +24,6 @@
 
 #include <stackinfo.h>
 
-#ifndef	HAVE_GNU_LD
-# define __environ	environ
-#endif
 
 /* Execute PATH with all arguments after PATH until
    a NULL pointer and environment from `environ'.  */
diff --git a/posix/execv.c b/posix/execv.c
index a3c51c7be4..cb372abe37 100644
--- a/posix/execv.c
+++ b/posix/execv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1997, 2005 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
@@ -18,9 +18,6 @@
 
 #include <unistd.h>
 
-#ifndef	HAVE_GNU_LD
-# define __environ	environ
-#endif
 
 /* Execute PATH with arguments ARGV and environment from `environ'.  */
 int
diff --git a/stdio-common/psignal.c b/stdio-common/psignal.c
index be95095350..98049a5871 100644
--- a/stdio-common/psignal.c
+++ b/stdio-common/psignal.c
@@ -24,10 +24,6 @@
 #include <wchar.h>
 
 
-#ifndef	HAVE_GNU_LD
-#define	_sys_siglist	sys_siglist
-#endif
-
 /* Defined in sys_siglist.c.  */
 extern const char *const _sys_siglist[];
 extern const char *const _sys_siglist_internal[] attribute_hidden;
diff --git a/stdlib/exit.c b/stdlib/exit.c
index ac247a1233..e5e25960b1 100644
--- a/stdlib/exit.c
+++ b/stdlib/exit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,95,96,97,99,2001,02 Free Software Foundation, Inc.
+/* Copyright (C) 1991,95,96,97,99,2001,2002,2005 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
@@ -21,10 +21,8 @@
 #include <unistd.h>
 #include "exit.h"
 
-#ifdef HAVE_GNU_LD
 #include "set-hooks.h"
 DEFINE_HOOK (__libc_atexit, (void))
-#endif
 
 
 /* Call all functions registered with `atexit' and `on_exit',
@@ -70,14 +68,7 @@ exit (int status)
 	free (old);
     }
 
-#ifdef	HAVE_GNU_LD
   RUN_HOOK (__libc_atexit, ());
-#else
-  {
-    extern void _cleanup (void);
-    _cleanup ();
-  }
-#endif
 
   _exit (status);
 }
diff --git a/string/strsignal.c b/string/strsignal.c
index 8ff01a4731..8c5ed1e621 100644
--- a/string/strsignal.c
+++ b/string/strsignal.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994-2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1994-2002, 2005 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
@@ -24,10 +24,6 @@
 #include <bits/libc-lock.h>
 
 
-#ifndef	HAVE_GNU_LD
-#define	_sys_siglist	sys_siglist
-#endif
-
 /* Defined in siglist.c.  */
 extern const char *const _sys_siglist[];
 extern const char *const _sys_siglist_internal[] attribute_hidden;
diff --git a/string/tester.c b/string/tester.c
index 5f0a851104..f95270efb4 100644
--- a/string/tester.c
+++ b/string/tester.c
@@ -1,5 +1,5 @@
 /* Tester for string functions.
-   Copyright (C) 1995-2000, 2001, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1995-2001, 2003, 2005 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
@@ -34,10 +34,6 @@
 #include <strings.h>
 #include <fcntl.h>
 
-#ifndef HAVE_GNU_LD
-#define _sys_nerr	sys_nerr
-#define _sys_errlist	sys_errlist
-#endif
 
 #define	STREQ(a, b)	(strcmp((a), (b)) == 0)
 
diff --git a/sysdeps/generic/errlist.c b/sysdeps/generic/errlist.c
index 6b459ee40a..6a834fc329 100644
--- a/sysdeps/generic/errlist.c
+++ b/sysdeps/generic/errlist.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1994, 1997, 2005 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
@@ -18,10 +18,6 @@
 
 #include <stddef.h>
 
-#ifndef HAVE_GNU_LD
-#define	_sys_errlist	sys_errlist
-#define	_sys_nerr	sys_nerr
-#endif
 
 const char *const _sys_errlist[] =
   {
diff --git a/sysdeps/generic/getenv.c b/sysdeps/generic/getenv.c
index d659f66022..6cdfe2b266 100644
--- a/sysdeps/generic/getenv.c
+++ b/sysdeps/generic/getenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,94,96,98,99,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,94,96,98,99,2002,2005 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,9 +23,6 @@
 #include <string.h>
 #include <unistd.h>
 
-#ifndef	HAVE_GNU_LD
-#define	__environ	environ
-#endif
 
 /* Return the value of the environment variable NAME.  This implementation
    is tuned a bit in that it assumes no environment variable has an empty
diff --git a/sysdeps/generic/getgroups.c b/sysdeps/generic/getgroups.c
index d9970f0e6d..d5868cc1b8 100644
--- a/sysdeps/generic/getgroups.c
+++ b/sysdeps/generic/getgroups.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1995,1996,1997,2005 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
@@ -40,7 +40,7 @@ __getgroups (size, list)
   return -1;
 }
 
-#if defined (HAVE_GNU_LD) && !(defined (NGROUPS_MAX) && NGROUPS_MAX == 0)
+#if !(defined (NGROUPS_MAX) && NGROUPS_MAX == 0)
 stub_warning (getgroups);
 #endif
 
diff --git a/sysdeps/generic/init-posix.c b/sysdeps/generic/init-posix.c
index ae9e1075d1..0c2b717e6d 100644
--- a/sysdeps/generic/init-posix.c
+++ b/sysdeps/generic/init-posix.c
@@ -1,27 +1 @@
-/* Copyright (C) 1991, 1995, 1997 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
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef	HAVE_GNU_LD
-
-void
-__init_posix (void)
-{
-  return;
-}
-
-#endif
+/* Nothing to do.  */
diff --git a/sysdeps/posix/gettimeofday.c b/sysdeps/posix/gettimeofday.c
index 28f75b0bcc..bda40f48ec 100644
--- a/sysdeps/posix/gettimeofday.c
+++ b/sysdeps/posix/gettimeofday.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 94, 95, 96, 97, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1994-1997,2002,2005 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,12 +20,6 @@
 #include <time.h>
 #include <sys/time.h>
 
-#ifndef HAVE_GNU_LD
-#define __daylight	daylight
-#define __timezone	timezone
-#define __tzname	tzname
-#endif
-
 #undef __gettimeofday
 
 /* Get the current time of day and timezone information,
diff --git a/sysdeps/posix/system.c b/sysdeps/posix/system.c
index 8548313314..f63dde4dae 100644
--- a/sysdeps/posix/system.c
+++ b/sysdeps/posix/system.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2000, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2000, 2002, 2003, 2005 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,10 +27,6 @@
 #include <sysdep-cancel.h>
 
 
-#ifndef	HAVE_GNU_LD
-#define	__environ	environ
-#endif
-
 #define	SHELL_PATH	"/bin/sh"	/* Path of the shell.  */
 #define	SHELL_NAME	"sh"		/* Name to give it.  */
 
diff --git a/sysdeps/unix/bsd/init-posix.c b/sysdeps/unix/bsd/init-posix.c
index 06f727684f..b5ea8846f7 100644
--- a/sysdeps/unix/bsd/init-posix.c
+++ b/sysdeps/unix/bsd/init-posix.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 94, 95, 97, 98 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 94, 95, 97, 98, 2005 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
@@ -30,6 +30,4 @@ __init_posix (void)
   _posix_start_time = time ((time_t *) NULL);
 }
 
-#ifdef	HAVE_GNU_LD
 text_set_element(__libc_subinit, __init_posix);
-#endif
diff --git a/sysdeps/unix/bsd/sun/m68k/brk.S b/sysdeps/unix/bsd/sun/m68k/brk.S
index 07af96d23c..9f821a0604 100644
--- a/sysdeps/unix/bsd/sun/m68k/brk.S
+++ b/sysdeps/unix/bsd/sun/m68k/brk.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1994, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1994,1995,1997,2005 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
@@ -22,10 +22,6 @@
 #define	SYS_brk	17
 #endif
 
-#ifndef	HAVE_GNU_LD
-#define	__end	_end
-#endif
-
 .data
 .globl ___curbrk
 ___curbrk:
diff --git a/sysdeps/unix/bsd/sun/m68k/sethostid.S b/sysdeps/unix/bsd/sun/m68k/sethostid.S
index 73ee79682e..13af476df7 100644
--- a/sysdeps/unix/bsd/sun/m68k/sethostid.S
+++ b/sysdeps/unix/bsd/sun/m68k/sethostid.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1997, 2005 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
@@ -34,11 +34,7 @@ _sethostid:
 	moveq #-1, d0
 	rts
 
-#ifdef	HAVE_GNU_LD
-
 .stabs "warning: sethostid is not implemented and will always fail",30,0,0,0
 .stabs "_sethostid",1,0,0,0
 
 #endif
-
-#endif
diff --git a/sysdeps/unix/bsd/sun/sparc/sethostid.S b/sysdeps/unix/bsd/sun/sparc/sethostid.S
index d07fd3800c..100fb1c1ca 100644
--- a/sysdeps/unix/bsd/sun/sparc/sethostid.S
+++ b/sysdeps/unix/bsd/sun/sparc/sethostid.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1997, 2005 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
@@ -36,11 +36,8 @@ ENTRY (sethostid)
 	retl
 	sub %g0, 1, %o0
 
-#ifdef	HAVE_GNU_LD
 
 .stabs "warning: sethostid is not implemented and will always fail",30,0,0,0
 .stabs "_sethostid",1,0,0,0
 
 #endif
-
-#endif
diff --git a/sysdeps/unix/bsd/ulimit.c b/sysdeps/unix/bsd/ulimit.c
index 91d77e926a..963d156e2c 100644
--- a/sysdeps/unix/bsd/ulimit.c
+++ b/sysdeps/unix/bsd/ulimit.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 94, 96, 97, 98, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1994-1998,2001,2005 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,9 +23,6 @@
 #include <unistd.h>
 #include <sys/resource.h>
 
-#ifndef	 HAVE_GNU_LD
-#define	 _etext	etext
-#endif
 
 extern int _etext;
 
diff --git a/sysdeps/unix/i386/brk.S b/sysdeps/unix/i386/brk.S
index a7604d7e7a..d8dd96b4ce 100644
--- a/sysdeps/unix/i386/brk.S
+++ b/sysdeps/unix/i386/brk.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,93,95,97,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,93,95,97,2002,2005 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
@@ -25,11 +25,7 @@
 .data
 .globl C_SYMBOL_NAME(__curbrk)
 C_LABEL(__curbrk)
-#ifdef	HAVE_GNU_LD
 	.long C_SYMBOL_NAME(_end)
-#else
-	.long C_SYMBOL_NAME(end)
-#endif
 
 .text
 SYSCALL__ (brk, 1)
diff --git a/sysdeps/unix/sparc/brk.S b/sysdeps/unix/sparc/brk.S
index 2a16463b0f..29255fc68e 100644
--- a/sysdeps/unix/sparc/brk.S
+++ b/sysdeps/unix/sparc/brk.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 1997, 2005 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
@@ -29,11 +29,7 @@
 .data
 .global C_SYMBOL_NAME(__curbrk)
 C_LABEL(__curbrk)
-#ifdef	HAVE_GNU_LD
 	.long C_SYMBOL_NAME(_end)
-#else
-	.long C_SYMBOL_NAME(end)
-#endif
 
 .text
 ENTRY (__brk)