From c35cde1edbe9d3375ed880fe8bb7d0fffba2f000 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Mon, 18 Feb 2002 08:45:53 +0000 Subject: Make shared libs properly list the correct ld.so in the interp field by being sneaky. --- libc/misc/internals/Makefile | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'libc/misc/internals/Makefile') 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 -- cgit v1.2.3