diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2015-06-05 22:20:13 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2015-06-10 10:14:45 +0000 |
commit | ac63a0783cdee8454c84fc45f37330d98b6039e7 (patch) | |
tree | d32900cb01c19ddb23b8b018f890677ab23081d1 /elf | |
parent | 7cbeabac0fb28e24c99aaa5085e613ea543a2346 (diff) | |
download | glibc-ac63a0783cdee8454c84fc45f37330d98b6039e7.zip glibc-ac63a0783cdee8454c84fc45f37330d98b6039e7.tar.gz glibc-ac63a0783cdee8454c84fc45f37330d98b6039e7.tar.bz2 |
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/Makefile | 12 | ||||
-rw-r--r-- | elf/interp.c | 2 |
2 files changed, 4 insertions, 10 deletions
diff --git a/elf/Makefile b/elf/Makefile index f2a115a..871cb4f 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 5d4246a..422ea95e 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; |