diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | elf/Makefile | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/dl-sysdep.c | 6 |
3 files changed, 15 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index b3746f9797..a6a47faf4e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-03-08 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/dl-sysdep.c: Avoid unnecessary code for + .o file. + * elf/Makefile (routines): Add dl-sysdep. + (elide-routines.os): Likewise. + 2008-03-07 Ulrich Drepper <drepper@redhat.com> [BZ #5786] diff --git a/elf/Makefile b/elf/Makefile index 4230b55df6..2dd2424b28 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1995-2004, 2005, 2006, 2007 Free Software Foundation, Inc. +# Copyright (C) 1995-2007, 2008 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,7 +23,7 @@ subdir := elf headers = elf.h bits/elfclass.h link.h bits/link.h routines = $(dl-routines) dl-support dl-iteratephdr \ dl-addr enbl-secure dl-profstub \ - dl-origin dl-libc dl-sym dl-tsd + dl-origin dl-libc dl-sym dl-tsd dl-sysdep # The core dynamic linking functions are in libc for the static and # profiled libraries. @@ -33,7 +33,8 @@ dl-routines = $(addprefix dl-,load cache lookup object reloc deps \ execstack caller open close trampoline) all-dl-routines = $(dl-routines) $(sysdep-dl-routines) # But they are absent from the shared libc, because that code is in ld.so. -elide-routines.os = $(all-dl-routines) dl-support enbl-secure dl-origin +elide-routines.os = $(all-dl-routines) dl-support enbl-secure dl-origin \ + dl-sysdep shared-only-routines += dl-caller # ld.so uses those routines, plus some special stuff for being the program diff --git a/sysdeps/unix/sysv/linux/dl-sysdep.c b/sysdeps/unix/sysv/linux/dl-sysdep.c index d4be205cde..08ae9aa86d 100644 --- a/sysdeps/unix/sysv/linux/dl-sysdep.c +++ b/sysdeps/unix/sysv/linux/dl-sysdep.c @@ -27,7 +27,8 @@ #include <ldsodefs.h> #include <kernel-features.h> -#define DL_SYSDEP_INIT frob_brk () +#ifdef SHARED +# define DL_SYSDEP_INIT frob_brk () static inline void frob_brk (void) @@ -56,7 +57,8 @@ frob_brk (void) #endif } -#include <elf/dl-sysdep.c> +# include <elf/dl-sysdep.c> +#endif int |