summaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2015-06-05 22:20:13 +0000
committerDmitry V. Levin <ldv@altlinux.org>2015-06-10 10:14:45 +0000
commitac63a0783cdee8454c84fc45f37330d98b6039e7 (patch)
treed32900cb01c19ddb23b8b018f890677ab23081d1 /elf
parent7cbeabac0fb28e24c99aaa5085e613ea543a2346 (diff)
downloadglibc-ac63a0783cdee8454c84fc45f37330d98b6039e7.tar.gz
Prepare for restoration of .interp section in libpthread.so
Make runtime-linker.h available outside $(elf-objpfx) by moving the file to $(common-objpfx) and the rules for it to Makerules. Tested for x86_64 and x86 (testsuite, and that no compiled code changed by the patch). * Makeconfig (+interp): Remove unused variable. * elf/Makefile ($(objpfx)interp.os): Define for [$(build-shared) = yes] only. Depend on $(common-objpfx)runtime-linker.h instead of $(elf-objpfx)runtime-linker.h. ($(elf-objpfx)runtime-linker.h): Rename to $(common-objpfx)runtime-linker.h and move ... * Makerules [$(build-shared) = yes]: ... here. * elf/interp.c: Include <runtime-linker.h> instead of <elf/runtime-linker.h>.
Diffstat (limited to 'elf')
-rw-r--r--elf/Makefile12
-rw-r--r--elf/interp.c2
2 files changed, 4 insertions, 10 deletions
diff --git a/elf/Makefile b/elf/Makefile
index f2a115a8c9..871cb4fd65 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -365,16 +365,10 @@ $(objpfx)ld.so: $(objpfx)librtld.os $(ld-map)
| $(AWK) '($$7 ~ /^UND(|EF)$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }'
mv -f $@.new $@
+ifeq (yes,$(build-shared))
# interp.c exists just to get the runtime linker path into libc.so.
-$(objpfx)interp.os: $(elf-objpfx)runtime-linker.h
-
-$(elf-objpfx)runtime-linker.h: $(elf-objpfx)runtime-linker.st; @:
-$(elf-objpfx)runtime-linker.st: $(common-objpfx)config.make
- $(make-target-directory)
- echo '#define RUNTIME_LINKER "$(rtlddir)/$(rtld-installed-name)"' \
- > ${@:st=T}
- $(move-if-change) ${@:st=T} ${@:st=h}
- touch $@
+$(objpfx)interp.os: $(common-objpfx)runtime-linker.h
+endif
ifneq (ld.so,$(rtld-installed-name))
# Make sure ld.so.1 exists in the build directory so we can link
diff --git a/elf/interp.c b/elf/interp.c
index 5d4246a439..422ea95e9d 100644
--- a/elf/interp.c
+++ b/elf/interp.c
@@ -16,7 +16,7 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <elf/runtime-linker.h>
+#include <runtime-linker.h>
const char __invoke_dynamic_linker__[] __attribute__ ((section (".interp")))
= RUNTIME_LINKER;