[3/5] Remove ldd libc4 support

Message ID 20220802145905.2789733-4-adhemerval.zanella@linaro.org
State Committed
Headers
Series More features cleanups |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Adhemerval Zanella Netto Aug. 2, 2022, 2:59 p.m. UTC
  The older libc versions are obsolete for over twenty years now.
---
 Makeconfig                                    |   4 +-
 sysdeps/unix/sysv/linux/Makefile              |   2 -
 sysdeps/unix/sysv/linux/csky/configure        |   1 -
 sysdeps/unix/sysv/linux/csky/configure.ac     |   1 -
 sysdeps/unix/sysv/linux/i386/Makefile         |   5 -
 sysdeps/unix/sysv/linux/i386/configure        |   1 -
 sysdeps/unix/sysv/linux/i386/configure.ac     |   1 -
 sysdeps/unix/sysv/linux/ldd-rewrite.sed       |  10 --
 sysdeps/unix/sysv/linux/lddlibc4.c            | 104 ------------------
 sysdeps/unix/sysv/linux/m68k/Makefile         |   4 -
 sysdeps/unix/sysv/linux/m68k/configure        |   1 -
 sysdeps/unix/sysv/linux/m68k/configure.ac     |   1 -
 .../unix/sysv/linux/sparc/sparc32/Makefile    |   2 -
 13 files changed, 2 insertions(+), 135 deletions(-)
 delete mode 100644 sysdeps/unix/sysv/linux/ldd-rewrite.sed
 delete mode 100644 sysdeps/unix/sysv/linux/lddlibc4.c
  

Comments

H.J. Lu Aug. 2, 2022, 11:35 p.m. UTC | #1
On Tue, Aug 2, 2022 at 8:00 AM Adhemerval Zanella via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> The older libc versions are obsolete for over twenty years now.
> ---
>  Makeconfig                                    |   4 +-
>  sysdeps/unix/sysv/linux/Makefile              |   2 -
>  sysdeps/unix/sysv/linux/csky/configure        |   1 -
>  sysdeps/unix/sysv/linux/csky/configure.ac     |   1 -
>  sysdeps/unix/sysv/linux/i386/Makefile         |   5 -
>  sysdeps/unix/sysv/linux/i386/configure        |   1 -
>  sysdeps/unix/sysv/linux/i386/configure.ac     |   1 -
>  sysdeps/unix/sysv/linux/ldd-rewrite.sed       |  10 --
>  sysdeps/unix/sysv/linux/lddlibc4.c            | 104 ------------------
>  sysdeps/unix/sysv/linux/m68k/Makefile         |   4 -
>  sysdeps/unix/sysv/linux/m68k/configure        |   1 -
>  sysdeps/unix/sysv/linux/m68k/configure.ac     |   1 -
>  .../unix/sysv/linux/sparc/sparc32/Makefile    |   2 -
>  13 files changed, 2 insertions(+), 135 deletions(-)
>  delete mode 100644 sysdeps/unix/sysv/linux/ldd-rewrite.sed
>  delete mode 100644 sysdeps/unix/sysv/linux/lddlibc4.c
>
> diff --git a/Makeconfig b/Makeconfig
> index ba70321af1..e78cf220af 100644
> --- a/Makeconfig
> +++ b/Makeconfig
> @@ -866,7 +866,7 @@ endif
>  +extra-math-flags = $(if $(filter libm,$(in-module)),-fno-math-errno,-fmath-errno)
>
>  # Use 64 bit time_t support for installed programs
> -installed-modules = nonlib nscd lddlibc4 ldconfig locale_programs \
> +installed-modules = nonlib nscd ldconfig locale_programs \
>                     iconvprogs libnss_files libnss_compat libnss_db libnss_hesiod \
>                     libutil libpcprofile libSegFault
>  +extra-time-flags = $(if $(filter $(installed-modules),\
> @@ -966,7 +966,7 @@ endif       # $(+cflags) == ""
>  libio-include = -I$(..)libio
>
>  # List of non-library modules that we build.
> -built-modules = iconvprogs iconvdata ldconfig lddlibc4 libmemusage \
> +built-modules = iconvprogs iconvdata ldconfig libmemusage \
>                 libSegFault libpcprofile librpcsvc locale-programs \
>                 memusagestat nonlib nscd extramodules libnldbl libsupport \
>                 testsuite testsuite-internal
> diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
> index a139a16532..3f31c19e4a 100644
> --- a/sysdeps/unix/sysv/linux/Makefile
> +++ b/sysdeps/unix/sysv/linux/Makefile
> @@ -393,8 +393,6 @@ endif
>  ifeq ($(subdir),elf)
>  sysdep-rtld-routines += dl-brk dl-sbrk dl-getcwd dl-openat64 dl-opendir
>
> -libof-lddlibc4 = lddlibc4
> -
>  others += pldd
>  install-bin += pldd
>  $(objpfx)pldd: $(objpfx)xmalloc.o
> diff --git a/sysdeps/unix/sysv/linux/csky/configure b/sysdeps/unix/sysv/linux/csky/configure
> index 20dc0df8e6..b36cee5b7b 100644
> --- a/sysdeps/unix/sysv/linux/csky/configure
> +++ b/sysdeps/unix/sysv/linux/csky/configure
> @@ -2,4 +2,3 @@
>   # Local configure fragment for sysdeps/unix/sysv/linux/csky
>
>  arch_minimum_kernel=4.20.0
> -ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
> diff --git a/sysdeps/unix/sysv/linux/csky/configure.ac b/sysdeps/unix/sysv/linux/csky/configure.ac
> index 89448969d4..efcd375cd2 100644
> --- a/sysdeps/unix/sysv/linux/csky/configure.ac
> +++ b/sysdeps/unix/sysv/linux/csky/configure.ac
> @@ -2,4 +2,3 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
>  # Local configure fragment for sysdeps/unix/sysv/linux/csky
>
>  arch_minimum_kernel=4.20.0
> -ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
> diff --git a/sysdeps/unix/sysv/linux/i386/Makefile b/sysdeps/unix/sysv/linux/i386/Makefile
> index 598e27dcda..f1f8c3f44c 100644
> --- a/sysdeps/unix/sysv/linux/i386/Makefile
> +++ b/sysdeps/unix/sysv/linux/i386/Makefile
> @@ -7,11 +7,6 @@ sysdep_routines += ioperm iopl vm86
>  tests += tst-bz21269
>  endif
>
> -ifeq ($(subdir),elf)
> -sysdep-others += lddlibc4
> -install-bin += lddlibc4
> -endif
> -
>  ifeq ($(subdir),io)
>  sysdep_routines += libc-do-syscall libc-do-syscall-int80
>  endif
> diff --git a/sysdeps/unix/sysv/linux/i386/configure b/sysdeps/unix/sysv/linux/i386/configure
> index f119e62fc3..351d82355a 100644
> --- a/sysdeps/unix/sysv/linux/i386/configure
> +++ b/sysdeps/unix/sysv/linux/i386/configure
> @@ -2,4 +2,3 @@
>   # Local configure fragment for sysdeps/unix/sysv/linux/i386.
>
>  libc_cv_gcc_unwind_find_fde=yes
> -ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
> diff --git a/sysdeps/unix/sysv/linux/i386/configure.ac b/sysdeps/unix/sysv/linux/i386/configure.ac
> index 64ab2cc2c8..61c04f2f49 100644
> --- a/sysdeps/unix/sysv/linux/i386/configure.ac
> +++ b/sysdeps/unix/sysv/linux/i386/configure.ac
> @@ -2,4 +2,3 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
>  # Local configure fragment for sysdeps/unix/sysv/linux/i386.
>
>  libc_cv_gcc_unwind_find_fde=yes
> -ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
> diff --git a/sysdeps/unix/sysv/linux/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/ldd-rewrite.sed
> deleted file mode 100644
> index 1faa90fbc8..0000000000
> --- a/sysdeps/unix/sysv/linux/ldd-rewrite.sed
> +++ /dev/null
> @@ -1,10 +0,0 @@
> -/Maybe extra code for non-ELF binaries/a\
> -  file=$1\
> -  # Run the ldd stub.\
> -  lddlibc4 "$file"\
> -  # Test the result.\
> -  if test $? -lt 3; then\
> -    return 0;\
> -  fi\
> -  # In case of an error punt.
> -/LD_TRACE_LOADED_OBJECTS=1/a\
> diff --git a/sysdeps/unix/sysv/linux/lddlibc4.c b/sysdeps/unix/sysv/linux/lddlibc4.c
> deleted file mode 100644
> index 153d2ad183..0000000000
> --- a/sysdeps/unix/sysv/linux/lddlibc4.c
> +++ /dev/null
> @@ -1,104 +0,0 @@
> -/* Stub for ldd script to print Linux libc4 dependencies.
> -   Copyright (C) 1998-2022 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, see
> -   <https://www.gnu.org/licenses/>.  */
> -
> -/* This code is based on the `ldd' program code from the Linux ld.so
> -   package.  */
> -
> -#include <a.out.h>
> -#include <errno.h>
> -#include <error.h>
> -#include <libintl.h>
> -#include <locale.h>
> -#include <stdio.h>
> -#include <stdlib.h>
> -#include <string.h>
> -#include <unistd.h>
> -
> -/* Get libc version number.  */
> -#include "../version.h"
> -
> -#define PACKAGE _libc_intl_domainname
> -
> -
> -int
> -main (int argc, char *argv[])
> -{
> -  const char *filename;
> -  size_t filename_len;
> -  struct exec exec;
> -  char *buf;
> -  FILE *fp;
> -
> -  /* Set locale via LC_ALL.  */
> -  setlocale (LC_ALL, "");
> -
> -  /* Set the text message domain.  */
> -  textdomain (PACKAGE);
> -
> -  /* We expect exactly one argument.  */
> -  if (argc != 2)
> -    return 1;
> -
> -  if (strcmp (argv[1], "--help") == 0)
> -    {
> -      printf (gettext ("Usage: lddlibc4 FILE\n\n"));
> -      printf (gettext ("For bug reporting instructions, please see:\n\
> -%s.\n"), REPORT_BUGS_TO);
> -      return 0;
> -    }
> -  else if (strcmp (argv[1], "--version") == 0)
> -    {
> -      printf ("lddlibc4 %s%s\n", PKGVERSION, VERSION);
> -      printf (gettext ("\
> -Copyright (C) %s Free Software Foundation, Inc.\n\
> -This is free software; see the source for copying conditions.  There is NO\n\
> -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
> -"), "2022");
> -      return 0;
> -    }
> -
> -  filename = argv[1];
> -
> -  /* First see whether this is really an a.out binary.  */
> -  fp = fopen (filename, "rb");
> -  if (fp == NULL)
> -    error (2, errno, gettext ("cannot open `%s'"), filename);
> -
> -  /* Read the program header.  */
> -  if (fread (&exec, sizeof exec, 1, fp) < 1)
> -    error (2, errno, gettext ("cannot read header from `%s'"), filename);
> -
> -  /* Test for the magic numbers.  */
> -  if (N_MAGIC (exec) != ZMAGIC && N_MAGIC (exec) != QMAGIC
> -      && N_MAGIC (exec) != OMAGIC)
> -    exit (3);
> -
> -  /* We don't need the file open anymore.  */
> -  fclose (fp);
> -
> -  /* We must put `__LDD_ARGV0=<program-name>' in the environment.  */
> -  filename_len = strlen (filename);
> -  buf = (char *) alloca (sizeof "__LDD_ARGV0=" + filename_len);
> -  mempcpy (mempcpy (buf, "__LDD_ARGV0=", sizeof "__LDD_ARGV0=" - 1),
> -          filename, filename_len + 1);
> -  /* ...and put the value in the environment.  */
> -  putenv (buf);
> -
> -  /* Now we can execute the binary.  */
> -  return execv (filename, &argv[argc]) ? 4 : 0;
> -}
> diff --git a/sysdeps/unix/sysv/linux/m68k/Makefile b/sysdeps/unix/sysv/linux/m68k/Makefile
> index 18ad2bf0ee..72d5bff992 100644
> --- a/sysdeps/unix/sysv/linux/m68k/Makefile
> +++ b/sysdeps/unix/sysv/linux/m68k/Makefile
> @@ -16,7 +16,3 @@ sysdep_routines += mremap
>  sysdep_headers += sys/reg.h
>  endif
>
> -ifeq ($(subdir),elf)
> -sysdep-others += lddlibc4
> -install-bin += lddlibc4
> -endif
> diff --git a/sysdeps/unix/sysv/linux/m68k/configure b/sysdeps/unix/sysv/linux/m68k/configure
> index 8e955387b7..aa295f80cb 100644
> --- a/sysdeps/unix/sysv/linux/m68k/configure
> +++ b/sysdeps/unix/sysv/linux/m68k/configure
> @@ -6,4 +6,3 @@ m68k/coldfire)
>    libc_cv_gcc_unwind_find_fde=yes
>    ;;
>  esac
> -ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
> diff --git a/sysdeps/unix/sysv/linux/m68k/configure.ac b/sysdeps/unix/sysv/linux/m68k/configure.ac
> index c21ca9dd47..0e547f2f2e 100644
> --- a/sysdeps/unix/sysv/linux/m68k/configure.ac
> +++ b/sysdeps/unix/sysv/linux/m68k/configure.ac
> @@ -7,4 +7,3 @@ m68k/coldfire)
>    libc_cv_gcc_unwind_find_fde=yes
>    ;;
>  esac
> -ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile b/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
> index 21c7dc1680..167307cc78 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
> @@ -13,8 +13,6 @@ endif
>  ifeq ($(subdir),elf)
>  CFLAGS-rtld.c += -mcpu=v8
>  #rtld-routines += dl-sysdepsparc
> -sysdep-others += lddlibc4
> -install-bin += lddlibc4
>  endif   # elf
>
>  ifeq ($(subdir),math)
> --
> 2.34.1
>

LGTM.

Thanks.
  

Patch

diff --git a/Makeconfig b/Makeconfig
index ba70321af1..e78cf220af 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -866,7 +866,7 @@  endif
 +extra-math-flags = $(if $(filter libm,$(in-module)),-fno-math-errno,-fmath-errno)
 
 # Use 64 bit time_t support for installed programs
-installed-modules = nonlib nscd lddlibc4 ldconfig locale_programs \
+installed-modules = nonlib nscd ldconfig locale_programs \
 		    iconvprogs libnss_files libnss_compat libnss_db libnss_hesiod \
 		    libutil libpcprofile libSegFault
 +extra-time-flags = $(if $(filter $(installed-modules),\
@@ -966,7 +966,7 @@  endif	# $(+cflags) == ""
 libio-include = -I$(..)libio
 
 # List of non-library modules that we build.
-built-modules = iconvprogs iconvdata ldconfig lddlibc4 libmemusage \
+built-modules = iconvprogs iconvdata ldconfig libmemusage \
 		libSegFault libpcprofile librpcsvc locale-programs \
 		memusagestat nonlib nscd extramodules libnldbl libsupport \
 		testsuite testsuite-internal
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index a139a16532..3f31c19e4a 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -393,8 +393,6 @@  endif
 ifeq ($(subdir),elf)
 sysdep-rtld-routines += dl-brk dl-sbrk dl-getcwd dl-openat64 dl-opendir
 
-libof-lddlibc4 = lddlibc4
-
 others += pldd
 install-bin += pldd
 $(objpfx)pldd: $(objpfx)xmalloc.o
diff --git a/sysdeps/unix/sysv/linux/csky/configure b/sysdeps/unix/sysv/linux/csky/configure
index 20dc0df8e6..b36cee5b7b 100644
--- a/sysdeps/unix/sysv/linux/csky/configure
+++ b/sysdeps/unix/sysv/linux/csky/configure
@@ -2,4 +2,3 @@ 
  # Local configure fragment for sysdeps/unix/sysv/linux/csky
 
 arch_minimum_kernel=4.20.0
-ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
diff --git a/sysdeps/unix/sysv/linux/csky/configure.ac b/sysdeps/unix/sysv/linux/csky/configure.ac
index 89448969d4..efcd375cd2 100644
--- a/sysdeps/unix/sysv/linux/csky/configure.ac
+++ b/sysdeps/unix/sysv/linux/csky/configure.ac
@@ -2,4 +2,3 @@  GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/unix/sysv/linux/csky
 
 arch_minimum_kernel=4.20.0
-ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
diff --git a/sysdeps/unix/sysv/linux/i386/Makefile b/sysdeps/unix/sysv/linux/i386/Makefile
index 598e27dcda..f1f8c3f44c 100644
--- a/sysdeps/unix/sysv/linux/i386/Makefile
+++ b/sysdeps/unix/sysv/linux/i386/Makefile
@@ -7,11 +7,6 @@  sysdep_routines += ioperm iopl vm86
 tests += tst-bz21269
 endif
 
-ifeq ($(subdir),elf)
-sysdep-others += lddlibc4
-install-bin += lddlibc4
-endif
-
 ifeq ($(subdir),io)
 sysdep_routines += libc-do-syscall libc-do-syscall-int80
 endif
diff --git a/sysdeps/unix/sysv/linux/i386/configure b/sysdeps/unix/sysv/linux/i386/configure
index f119e62fc3..351d82355a 100644
--- a/sysdeps/unix/sysv/linux/i386/configure
+++ b/sysdeps/unix/sysv/linux/i386/configure
@@ -2,4 +2,3 @@ 
  # Local configure fragment for sysdeps/unix/sysv/linux/i386.
 
 libc_cv_gcc_unwind_find_fde=yes
-ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
diff --git a/sysdeps/unix/sysv/linux/i386/configure.ac b/sysdeps/unix/sysv/linux/i386/configure.ac
index 64ab2cc2c8..61c04f2f49 100644
--- a/sysdeps/unix/sysv/linux/i386/configure.ac
+++ b/sysdeps/unix/sysv/linux/i386/configure.ac
@@ -2,4 +2,3 @@  GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/unix/sysv/linux/i386.
 
 libc_cv_gcc_unwind_find_fde=yes
-ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
diff --git a/sysdeps/unix/sysv/linux/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/ldd-rewrite.sed
deleted file mode 100644
index 1faa90fbc8..0000000000
--- a/sysdeps/unix/sysv/linux/ldd-rewrite.sed
+++ /dev/null
@@ -1,10 +0,0 @@ 
-/Maybe extra code for non-ELF binaries/a\
-  file=$1\
-  # Run the ldd stub.\
-  lddlibc4 "$file"\
-  # Test the result.\
-  if test $? -lt 3; then\
-    return 0;\
-  fi\
-  # In case of an error punt.
-/LD_TRACE_LOADED_OBJECTS=1/a\
diff --git a/sysdeps/unix/sysv/linux/lddlibc4.c b/sysdeps/unix/sysv/linux/lddlibc4.c
deleted file mode 100644
index 153d2ad183..0000000000
--- a/sysdeps/unix/sysv/linux/lddlibc4.c
+++ /dev/null
@@ -1,104 +0,0 @@ 
-/* Stub for ldd script to print Linux libc4 dependencies.
-   Copyright (C) 1998-2022 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, see
-   <https://www.gnu.org/licenses/>.  */
-
-/* This code is based on the `ldd' program code from the Linux ld.so
-   package.  */
-
-#include <a.out.h>
-#include <errno.h>
-#include <error.h>
-#include <libintl.h>
-#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-/* Get libc version number.  */
-#include "../version.h"
-
-#define PACKAGE _libc_intl_domainname
-
-
-int
-main (int argc, char *argv[])
-{
-  const char *filename;
-  size_t filename_len;
-  struct exec exec;
-  char *buf;
-  FILE *fp;
-
-  /* Set locale via LC_ALL.  */
-  setlocale (LC_ALL, "");
-
-  /* Set the text message domain.  */
-  textdomain (PACKAGE);
-
-  /* We expect exactly one argument.  */
-  if (argc != 2)
-    return 1;
-
-  if (strcmp (argv[1], "--help") == 0)
-    {
-      printf (gettext ("Usage: lddlibc4 FILE\n\n"));
-      printf (gettext ("For bug reporting instructions, please see:\n\
-%s.\n"), REPORT_BUGS_TO);
-      return 0;
-    }
-  else if (strcmp (argv[1], "--version") == 0)
-    {
-      printf ("lddlibc4 %s%s\n", PKGVERSION, VERSION);
-      printf (gettext ("\
-Copyright (C) %s Free Software Foundation, Inc.\n\
-This is free software; see the source for copying conditions.  There is NO\n\
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2022");
-      return 0;
-    }
-
-  filename = argv[1];
-
-  /* First see whether this is really an a.out binary.  */
-  fp = fopen (filename, "rb");
-  if (fp == NULL)
-    error (2, errno, gettext ("cannot open `%s'"), filename);
-
-  /* Read the program header.  */
-  if (fread (&exec, sizeof exec, 1, fp) < 1)
-    error (2, errno, gettext ("cannot read header from `%s'"), filename);
-
-  /* Test for the magic numbers.  */
-  if (N_MAGIC (exec) != ZMAGIC && N_MAGIC (exec) != QMAGIC
-      && N_MAGIC (exec) != OMAGIC)
-    exit (3);
-
-  /* We don't need the file open anymore.  */
-  fclose (fp);
-
-  /* We must put `__LDD_ARGV0=<program-name>' in the environment.  */
-  filename_len = strlen (filename);
-  buf = (char *) alloca (sizeof "__LDD_ARGV0=" + filename_len);
-  mempcpy (mempcpy (buf, "__LDD_ARGV0=", sizeof "__LDD_ARGV0=" - 1),
-	   filename, filename_len + 1);
-  /* ...and put the value in the environment.  */
-  putenv (buf);
-
-  /* Now we can execute the binary.  */
-  return execv (filename, &argv[argc]) ? 4 : 0;
-}
diff --git a/sysdeps/unix/sysv/linux/m68k/Makefile b/sysdeps/unix/sysv/linux/m68k/Makefile
index 18ad2bf0ee..72d5bff992 100644
--- a/sysdeps/unix/sysv/linux/m68k/Makefile
+++ b/sysdeps/unix/sysv/linux/m68k/Makefile
@@ -16,7 +16,3 @@  sysdep_routines += mremap
 sysdep_headers += sys/reg.h
 endif
 
-ifeq ($(subdir),elf)
-sysdep-others += lddlibc4
-install-bin += lddlibc4
-endif
diff --git a/sysdeps/unix/sysv/linux/m68k/configure b/sysdeps/unix/sysv/linux/m68k/configure
index 8e955387b7..aa295f80cb 100644
--- a/sysdeps/unix/sysv/linux/m68k/configure
+++ b/sysdeps/unix/sysv/linux/m68k/configure
@@ -6,4 +6,3 @@  m68k/coldfire)
   libc_cv_gcc_unwind_find_fde=yes
   ;;
 esac
-ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
diff --git a/sysdeps/unix/sysv/linux/m68k/configure.ac b/sysdeps/unix/sysv/linux/m68k/configure.ac
index c21ca9dd47..0e547f2f2e 100644
--- a/sysdeps/unix/sysv/linux/m68k/configure.ac
+++ b/sysdeps/unix/sysv/linux/m68k/configure.ac
@@ -7,4 +7,3 @@  m68k/coldfire)
   libc_cv_gcc_unwind_find_fde=yes
   ;;
 esac
-ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile b/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
index 21c7dc1680..167307cc78 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/Makefile
@@ -13,8 +13,6 @@  endif
 ifeq ($(subdir),elf)
 CFLAGS-rtld.c += -mcpu=v8
 #rtld-routines += dl-sysdepsparc
-sysdep-others += lddlibc4
-install-bin += lddlibc4
 endif   # elf
 
 ifeq ($(subdir),math)