diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | Rules.mak | 2 | ||||
-rw-r--r-- | extra/gcc-uClibc/Makefile | 2 | ||||
-rw-r--r-- | ldso/Makefile | 8 | ||||
-rw-r--r-- | ldso/README | 6 | ||||
-rw-r--r-- | ldso/Rules.mak | 2 | ||||
-rw-r--r-- | ldso/ldso/.cvsignore | 4 | ||||
-rw-r--r-- | ldso/ldso/Makefile | 13 | ||||
-rw-r--r-- | ldso/libdl/Makefile | 2 |
9 files changed, 20 insertions, 21 deletions
@@ -57,7 +57,6 @@ shared: $(LIBNAME) fi @rm -rf tmp ln -sf $(SHARED_FULLNAME) $(SHARED_MAJORNAME) - ln -sf $(SHARED_MAJORNAME) libc.so @$(MAKE) -C crypt shared @$(MAKE) -C libutil shared @$(MAKE) -C libm shared @@ -125,7 +124,6 @@ ifneq ($(DO_SHARED),) rm -rf $(INSTALL_DIR)/lib/libc.so install -m 755 $(SHARED_FULLNAME) $(INSTALL_DIR)/lib/ (cd $(INSTALL_DIR)/lib;ln -sf $(SHARED_FULLNAME) $(SHARED_MAJORNAME)) - (cd $(INSTALL_DIR)/lib;ln -sf $(SHARED_MAJORNAME) libc.so) # ldconfig is really not necessary, and impossible to cross #ifeq ($(INSTALL_DIR),) # /sbin/ldconfig -n $(INSTALL_DIR)/lib @@ -30,7 +30,7 @@ MINOR_VERSION=9.5 LIBNAME=libc.a SHARED_FULLNAME=uClibc-$(MAJOR_VERSION).$(MINOR_VERSION).so SHARED_MAJORNAME=libc.so.$(MAJOR_VERSION) -UCLIBC_LDSO=ld-linux-uclibc.so.$(MAJOR_VERSION) +UCLIBC_LDSO=ld-uclibc.so.$(MAJOR_VERSION) BUILDTIME = $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z") diff --git a/extra/gcc-uClibc/Makefile b/extra/gcc-uClibc/Makefile index efae00136..773a3b429 100644 --- a/extra/gcc-uClibc/Makefile +++ b/extra/gcc-uClibc/Makefile @@ -3,7 +3,7 @@ include $(TOPDIR)Rules.mak # NOTE: This may need to be modified for your system ifeq ($(LDSO_PRESENT), $(TARGET_ARCH)) - DYNAMIC_LINKER = $(INSTALL_DIR)/lib/$(UCLIBC_LDSO) + DYNAMIC_LINKER=$(INSTALL_DIR)/lib/$(UCLIBC_LDSO) else DYNAMIC_LINKER=$(SYSTEM_LDSO) endif diff --git a/ldso/Makefile b/ldso/Makefile index bfff102d2..25f9974f7 100644 --- a/ldso/Makefile +++ b/ldso/Makefile @@ -12,10 +12,10 @@ all: install: all if [ -d $(TOPDIR)ld.so-1/d-link/$(TARGET_ARCH) ] ; then \ install -d $(INSTALL_DIR)/lib $(INSTALL_DIR)/etc ; \ - install -m 755 $(TOPDIR)ld.so-1/d-link/$(DLINKER).$(LDSO_VMAJOR) $(INSTALL_DIR)/lib/ ; \ - install -m 644 $(TOPDIR)ld.so-1/libdl/$(LIBDL).$(LDSO_VMAJOR) $(INSTALL_DIR)/lib/ ; \ - (cd $(INSTALL_DIR)/lib/;ln -sf $(DLINKER).$(LDSO_VMAJOR) $(DLINKER)) ; \ - (cd $(INSTALL_DIR)/lib/;ln -sf $(LIBDL).$(LDSO_VMAJOR) $(LIBDL)) ; \ + install -m 755 $(TOPDIR)ld.so-1/d-link/$(UCLIBC_LDSO) $(INSTALL_DIR)/lib/ld-linux-uclibc.so ; \ + install -m 644 $(TOPDIR)ld.so-1/libdl/$(LIBDL).$(MAJOR_VERSION) $(INSTALL_DIR)/lib/ ; \ + (cd $(INSTALL_DIR)/lib/;ln -sf ld-linux-uclibc.so $(UCLIBC_LDSO)); \ + (cd $(INSTALL_DIR)/lib/;ln -sf $(LIBDL).$(MAJOR_VERSION) $(LIBDL)) ; \ fi; ldso: diff --git a/ldso/README b/ldso/README index 025694ee3..b5bb93e67 100644 --- a/ldso/README +++ b/ldso/README @@ -5,17 +5,17 @@ Inital port for uClibc from debian ld.so_1.9.11-9.tar.gz. Removed a.out support. -"make" generates the ld-linux-uclibc.so.1, libdl.so.1, ldd, ldconfig +"make" generates the ld-uclibc.so.0, libdl.so.0, ldd, ldconfig suitable for the target platform. -"make DEVEL=true" generates the same files, but ld-linux-uclibc.so.1 and +"make DEVEL=true" generates the same files, but ld-uclibc.so.0 and ldconfig are modified to not conflict with the devel platform system libs. (This is only of use if TARGET_ARCH == NATIVE_ARCH.) These modified versions ignore /lib and /usr/lib and look for shared libs only in $(INSTALL_DIR)/lib. The modified ldconfig writes ld.so.cache in $(INSTALL_DIR)/etc. -The above assumes you've set the DYNAMIC_LINKER to /lib/ld-linux-uclibc.so.1 +The above assumes you've set the DYNAMIC_LINKER to /lib/ld-uclibc.so.0 in extra/gcc-uClibc/Makefile. Todo: diff --git a/ldso/Rules.mak b/ldso/Rules.mak index 96d132a96..4c58ff928 100644 --- a/ldso/Rules.mak +++ b/ldso/Rules.mak @@ -1,8 +1,6 @@ include $(TOPDIR)Rules.mak LDSO_VERSION=1.9.11 -LDSO_VMAJOR=$(MAJOR_VERSION) -DLINKER = ld-linux-uclibc.so LIBDL = libdl.so DEVEL=true diff --git a/ldso/ldso/.cvsignore b/ldso/ldso/.cvsignore index 0a73718a6..9103d4aa9 100644 --- a/ldso/ldso/.cvsignore +++ b/ldso/ldso/.cvsignore @@ -1,2 +1,2 @@ -ld-linux-uclibc.so* - +ld-uclibc.so* +ld.so.h diff --git a/ldso/ldso/Makefile b/ldso/ldso/Makefile index 8c9570a17..ae181bb0a 100644 --- a/ldso/ldso/Makefile +++ b/ldso/ldso/Makefile @@ -11,19 +11,22 @@ OBJS=$(AOBJS) $(COBJS) ELF_LDFLAGS=--shared # using GNU ld -all: lib +all: ld.so.h lib + +ld.so.h: + echo "char *_dl_progname = \""$(UCLIBC_LDSO)"\";" > ld.so.h lib:: $(OBJS) $(DLINK_OBJS) - $(LD) -e _dl_boot $(ELF_LDFLAGS) -o $(DLINKER).$(LDSO_VMAJOR) \ - -soname $(DLINKER).$(LDSO_VMAJOR) $(OBJS) + $(LD) -e _dl_boot $(ELF_LDFLAGS) -o $(UCLIBC_LDSO) \ + -soname $(UCLIBC_LDSO) $(OBJS) $(COBJS): %.o : %.c $(CC) -I. -I./$(TARGET_ARCH) -I../libdl $(CFLAGS) -c $< -o $@ $(STRIPTOOL) -x -R .note -R .comment $*.o realclean:: - $(RM) -f .depend $(DLINKER) core *.o *.a *.s *.i tmp_make foo *~ + $(RM) -f .depend $(UCLIBC_LDSO)* core *.o *.a *.s *.i tmp_make foo *~ clean:: - $(RM) -f $(DLINKER)* $(OBJS) core *.o *.a *.s *.i tmp_make foo *~ + $(RM) -f $(UCLIBC_LDSO)* $(OBJS) core *.o *.a *.s *.i tmp_make foo *~ diff --git a/ldso/libdl/Makefile b/ldso/libdl/Makefile index 39171b2a2..6aac97002 100644 --- a/ldso/libdl/Makefile +++ b/ldso/libdl/Makefile @@ -19,7 +19,7 @@ ELF_LDFLAGS=--shared -nostartfiles -nostdlib # using GNU ld lib:: $(OBJS) $(CC) $(ELF_LDFLAGS) \ - -o $(LIBDL).$(LDSO_VMAJOR) -Wl,-soname -Wl,$(LIBDL).$(LDSO_VMAJOR) \ + -o $(LIBDL).$(MAJOR_VERSION) -Wl,-soname -Wl,$(LIBDL).$(MAJOR_VERSION) \ *.o $(TOPDIR)$(SHARED_FULLNAME) obj: $(OBJS) |