summary refs log tree commit diff
path: root/elf/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'elf/Makefile')
-rw-r--r--elf/Makefile13
1 files changed, 10 insertions, 3 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 269a872969..e44711471b 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -35,15 +35,18 @@ elide-routines.so = $(dl-routines) dl-support enbl-secure
 # interpreter and operating independent of libc.
 rtld-routines	:= rtld $(dl-routines) dl-sysdep dl-minimal
 distribute	= $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
-		  dl-hash.h soinit.c sofini.c ldd.sh.in ldd.bash.in eval.c
+		  dl-hash.h soinit.c sofini.c ldd.sh.in ldd.bash.in eval.c \
+		  genrtldtbl.awk
 
 extra-libs	 = libdl
 extra-libs-others = $(extra-libs)
 libdl-routines	:= dlopen dlclose dlsym dlvsym dlerror dladdr
 libdl-map	:= libdl.map
 
-before-compile = $(objpfx)trusted-dirs.h
+before-compile = $(objpfx)trusted-dirs.h $(objpfx)rtldtbl.h
 
+# We need GNU awk for the genrtldtbl.awk script.
+GAWK = gawk
 
 all: # Make this the default target; it will be defined in Rules.
 
@@ -51,7 +54,7 @@ include ../Makeconfig
 
 ifeq (yes,$(build-shared))
 extra-objs	= $(rtld-routines:=.so) soinit.so sofini.so eval.so
-generated	= librtld.so dl-allobjs.so
+generated	= librtld.so dl-allobjs.so trusted-dirs.h rtldtbl.h
 install-others	= $(inst_slibdir)/$(rtld-installed-name)
 install-bin	= ldd
 endif
@@ -143,6 +146,10 @@ $(objpfx)trusted-dirs.h: Makefile
 	   echo "  \"$$dir\",";						      \
 	 done;) > $@T
 	mv -f $@T $@
+$(objpfx)rtldtbl.h: Makefile
+	$(make-target-directory)
+	echo "$(default-rpath)" | $(GAWK) -f genrtldtbl.awk > $@T
+	mv -f $@T $@
 CPPFLAGS-dl-load.c = -I$(objdir)/$(subdir)
 CFLAGS-dl-load.c += -Wno-uninitialized