]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Remove CFLAGS for interp.c
authorSiddhesh Poyarekar <siddhesh@redhat.com>
Tue, 16 Sep 2014 16:50:45 +0000 (22:20 +0530)
committerSiddhesh Poyarekar <siddhesh@redhat.com>
Tue, 16 Sep 2014 16:50:45 +0000 (22:20 +0530)
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

ChangeLog
elf/Makefile
elf/interp.c

index 45b8cde92c0acc9a329d0c43224fa22e6c2cf31b..37907ea248cb9e3aa9d0f0517ae02a3973b975f1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
index e3bd69223a22c1f628a2993877806a21e85297cb..94074f3e343c1215c6fc97d6b2f06f81205ab067 100644 (file)
@@ -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
index 49c92f59dc7fa1466c18179acf3e8ea25924e9bd..a2492bffbad58bf9542f731ec291446a19d7b68b 100644 (file)
@@ -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;