about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--elf/Makefile7
-rw-r--r--sysdeps/unix/sysv/linux/dl-sysdep.c6
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