mirror of git://sourceware.org/git/glibc.git
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>.
This commit is contained in:
parent
7cbeabac0f
commit
ac63a0783c
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
||||||
|
2015-06-10 Dmitry V. Levin <ldv@altlinux.org>
|
||||||
|
|
||||||
|
* 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>.
|
||||||
|
|
||||||
2015-06-09 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
2015-06-09 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/i386/gettimeofday.c
|
* sysdeps/unix/sysv/linux/i386/gettimeofday.c
|
||||||
|
|
|
@ -596,7 +596,6 @@ endif
|
||||||
# Variants of the two previous definitions for statically linking programs.
|
# Variants of the two previous definitions for statically linking programs.
|
||||||
+prectorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginT.o`
|
+prectorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginT.o`
|
||||||
+postctorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
|
+postctorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
|
||||||
+interp = $(addprefix $(elf-objpfx),interp.os)
|
|
||||||
csu-objpfx = $(common-objpfx)csu/
|
csu-objpfx = $(common-objpfx)csu/
|
||||||
elf-objpfx = $(common-objpfx)elf/
|
elf-objpfx = $(common-objpfx)elf/
|
||||||
|
|
||||||
|
|
10
Makerules
10
Makerules
|
@ -123,6 +123,16 @@ $(common-objpfx)libc-abis.stamp: $(..)scripts/gen-libc-abis \
|
||||||
common-generated += $(common-objpfx)libc-abis.h
|
common-generated += $(common-objpfx)libc-abis.h
|
||||||
endif # avoid-generated
|
endif # avoid-generated
|
||||||
|
|
||||||
|
ifeq (yes,$(build-shared))
|
||||||
|
$(common-objpfx)runtime-linker.h: $(common-objpfx)runtime-linker.stamp; @:
|
||||||
|
$(common-objpfx)runtime-linker.stamp: $(common-objpfx)config.make
|
||||||
|
$(make-target-directory)
|
||||||
|
echo '#define RUNTIME_LINKER "$(rtlddir)/$(rtld-installed-name)"' \
|
||||||
|
> ${@:stamp=T}
|
||||||
|
$(move-if-change) ${@:stamp=T} ${@:stamp=h}
|
||||||
|
touch $@
|
||||||
|
endif
|
||||||
|
|
||||||
# Make sure the subdirectory for object files gets created.
|
# Make sure the subdirectory for object files gets created.
|
||||||
ifdef objpfx
|
ifdef objpfx
|
||||||
ifeq (,$(wildcard $(objpfx).))
|
ifeq (,$(wildcard $(objpfx).))
|
||||||
|
|
12
elf/Makefile
12
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 }'
|
| $(AWK) '($$7 ~ /^UND(|EF)$$/ && $$1 != "0:" && $$4 != "REGISTER") { print; p=1 } END { exit p != 0 }'
|
||||||
mv -f $@.new $@
|
mv -f $@.new $@
|
||||||
|
|
||||||
|
ifeq (yes,$(build-shared))
|
||||||
# interp.c exists just to get the runtime linker path into libc.so.
|
# interp.c exists just to get the runtime linker path into libc.so.
|
||||||
$(objpfx)interp.os: $(elf-objpfx)runtime-linker.h
|
$(objpfx)interp.os: $(common-objpfx)runtime-linker.h
|
||||||
|
endif
|
||||||
$(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 $@
|
|
||||||
|
|
||||||
ifneq (ld.so,$(rtld-installed-name))
|
ifneq (ld.so,$(rtld-installed-name))
|
||||||
# Make sure ld.so.1 exists in the build directory so we can link
|
# Make sure ld.so.1 exists in the build directory so we can link
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
License along with the GNU C Library; if not, see
|
License along with the GNU C Library; if not, see
|
||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include <elf/runtime-linker.h>
|
#include <runtime-linker.h>
|
||||||
|
|
||||||
const char __invoke_dynamic_linker__[] __attribute__ ((section (".interp")))
|
const char __invoke_dynamic_linker__[] __attribute__ ((section (".interp")))
|
||||||
= RUNTIME_LINKER;
|
= RUNTIME_LINKER;
|
||||||
|
|
Loading…
Reference in New Issue