summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--Rules.mak2
-rw-r--r--extra/gcc-uClibc/Makefile2
-rw-r--r--ldso/Makefile8
-rw-r--r--ldso/README6
-rw-r--r--ldso/Rules.mak2
-rw-r--r--ldso/ldso/.cvsignore4
-rw-r--r--ldso/ldso/Makefile13
-rw-r--r--ldso/libdl/Makefile2
9 files changed, 20 insertions, 21 deletions
diff --git a/Makefile b/Makefile
index 7368b4410..a0ac7b9d6 100644
--- a/Makefile
+++ b/Makefile
@@ -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
diff --git a/Rules.mak b/Rules.mak
index 273e45d34..85bde6d4a 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -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)