summaryrefslogtreecommitdiff
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