summaryrefslogtreecommitdiff
path: root/libc/misc/internals
diff options
context:
space:
mode:
Diffstat (limited to 'libc/misc/internals')
-rw-r--r--libc/misc/internals/Makefile15
1 files changed, 12 insertions, 3 deletions
diff --git a/libc/misc/internals/Makefile b/libc/misc/internals/Makefile
index 8e4d160a9..29ffdec7b 100644
--- a/libc/misc/internals/Makefile
+++ b/libc/misc/internals/Makefile
@@ -35,17 +35,26 @@ endif
COBJS=$(patsubst %.c,%.o, $(CSRC))
OBJS=$(COBJS)
-all: $(OBJS) $(LIBC)
+all: $(OBJS) interp.o $(LIBC)
-$(LIBC): ar-target
+$(LIBC): interp.c ar-target
ar-target: $(OBJS)
$(AR) $(ARFLAGS) $(LIBC) $(OBJS)
+interp.c: Makefile
+ echo "/* Force shared libraries to know about the correct library loader */" > interp.c
+ echo "const char __dl_ldso__[] __attribute__ ((section " \
+ "(\".interp\"))) =\""$(DYNAMIC_LINKER)"\";" >> interp.c
+
$(COBJS): %.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
$(STRIPTOOL) -x -R .note -R .comment $*.o
+interp.o: %.o : %.c
+ $(CC) $(CFLAGS) -c $< -o $@
+ $(STRIPTOOL) -x -R .note -R .comment $*.o
+
clean:
- rm -f *.[oa] *~ core
+ rm -f *.[oa] interp.c *~ core