diff options
author | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-09-16 22:20:45 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-09-16 22:20:45 +0530 |
commit | d330b980e9ee2349492087a279a9c7bf294f6b47 (patch) | |
tree | eb1abe30122a1f47f9968b7e576e6a822884570d | |
parent | 02657da2cf4457804ed938ee08b8316249126444 (diff) | |
download | glibc-d330b980e9ee2349492087a279a9c7bf294f6b47.zip glibc-d330b980e9ee2349492087a279a9c7bf294f6b47.tar.gz glibc-d330b980e9ee2349492087a279a9c7bf294f6b47.tar.bz2 |
Remove CFLAGS for interp.c
Replace it with including an auto-generated linker-runtime.h.
Build-tested on x86_64 and found that there was no change in the
generated code.
* elf/Makefile (CFLAGS-interp.c): Remove.
($(elf-objpfx)runtime-linker.h): Generate header with linker
path string.
* elf/interp.c: Include generated runtime-linker.h
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | elf/Makefile | 13 | ||||
-rw-r--r-- | elf/interp.c | 2 |
3 files changed, 17 insertions, 3 deletions
@@ -1,5 +1,10 @@ 2014-09-16 Siddhesh Poyarekar <siddhesh@redhat.com> + * elf/Makefile (CFLAGS-interp.c): Remove. + ($(elf-objpfx)runtime-linker.h): Generate header with linker + path string. + * elf/interp.c: Include generated runtime-linker.h + * Makerules (lib%.so): Don't include $(+interp) in prerequisites. * elf/Makefile (CFLAGS-interp.c): Don't define NOT_IN_libc. diff --git a/elf/Makefile b/elf/Makefile index e3bd692..94074f3 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -353,9 +353,16 @@ $(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 $@ -# interp.c exists just to get this string into the libraries. -CFLAGS-interp.c = -D'RUNTIME_LINKER="$(rtlddir)/$(rtld-installed-name)"' -$(objpfx)interp.os: $(common-objpfx)config.make +# 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 + $(name-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)) # 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 49c92f5..a2492bf 100644 --- a/elf/interp.c +++ b/elf/interp.c @@ -16,5 +16,7 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#include <elf/runtime-linker.h> + const char __invoke_dynamic_linker__[] __attribute__ ((section (".interp"))) = RUNTIME_LINKER; |