diff options
author | Eric Andersen <andersen@codepoet.org> | 2002-01-28 13:10:32 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2002-01-28 13:10:32 +0000 |
commit | 75d013b16a0764bf393628d241f05729a81d9b8d (patch) | |
tree | 8bdf9f4e01c06afc2536a30ebe48e034a7da85e7 /ldso | |
parent | 03f7612acc323011a680c64d613badc62017d3fa (diff) |
Fix the bug where binaries built with older toolchains would
segfault. Turns out that 'ld -nostdlib' was the culprit.
Who wouldof thought...
-Erik
Diffstat (limited to 'ldso')
-rw-r--r-- | ldso/libdl/Makefile | 6 | ||||
-rw-r--r-- | ldso/util/Makefile | 22 |
2 files changed, 17 insertions, 11 deletions
diff --git a/ldso/libdl/Makefile b/ldso/libdl/Makefile index 50339ebdf..b58747e88 100644 --- a/ldso/libdl/Makefile +++ b/ldso/libdl/Makefile @@ -50,9 +50,9 @@ $(OBJS): %.o : %.c $(OBJ): Makefile shared: all - $(LD) $(LDFLAGS) -o $(LIBDL_SHARED_FULLNAME) \ - -soname=$(LIBDL_SHARED).$(MAJOR_VERSION) \ - --whole-archive $(LIBDL) -Bdynamic -L$(TOPDIR)/lib -lc; + $(LD) $(LDFLAGS) -soname=$(LIBDL_SHARED).$(MAJOR_VERSION) \ + -o $(LIBDL_SHARED_FULLNAME) --whole-archive $(LIBDL) \ + --no-whole-archive -L$(TOPDIR)/lib -lc; install -d $(TOPDIR)lib rm -f $(TOPDIR)lib/$(LIBDL_SHARED_FULLNAME) $(TOPDIR)lib/$(LIBDL_SHARED).$(MAJOR_VERSION) install -m 644 $(LIBDL_SHARED_FULLNAME) $(TOPDIR)lib; diff --git a/ldso/util/Makefile b/ldso/util/Makefile index d514f3f9a..ee0c8031c 100644 --- a/ldso/util/Makefile +++ b/ldso/util/Makefile @@ -22,8 +22,9 @@ TOPDIR=../../ include $(TOPDIR)Rules.mak +TARGET_CC = $(TOPDIR)extra/gcc-uClibc/$(NATIVE_ARCH)-uclibc-gcc -TARGETS=ldd.uclibc ldd readelf ldconfig +TARGETS=ldconfig ldd ldd.target readelf readelf.target all: $(TARGETS) readsoname.o: readsoname.c readsoname2.c @@ -36,7 +37,11 @@ ldconfig.o: ldconfig.c $(STRIPTOOL) -x -R .note -R .comment $*.o readelf: readelf.c - $(CC) $(CFLAGS) -static readelf.c -o $@ + $(NATIVE_CC) $(NATIVE_CFLAGS) readelf.c -o $@ + $(STRIPTOOL) -x -R .note -R .comment $@ + +readelf.target: readelf.c + $(TARGET_CC) $(CFLAGS) -static -s readelf.c -o $@ $(STRIPTOOL) -x -R .note -R .comment $@ ifeq ($(strip $(LIBRARY_CACHE)),) @@ -44,24 +49,25 @@ ldconfig: echo "LIBRARY_CACHE disabled -- not building ldconfig" else ldconfig: ldconfig.o readsoname.o - $(CC) $(CFLAGS) -static $^ -o $@ + $(CC) $(CFLAGS) $^ -o $@ $(STRIPTOOL) -x -R .note -R .comment $@ endif ldd: ldd.c - $(CC) $(CFLAGS) -DUCLIBC_TARGET_PREFIX=\"$(TARGET_PREFIX)\" \ + $(NATIVE_CC) $(NATIVE_CFLAGS) -DUCLIBC_TARGET_PREFIX=\"$(TARGET_PREFIX)\" \ -DUCLIBC_DEVEL_PREFIX=\"$(DEVEL_PREFIX)\" \ -DUCLIBC_BUILD_DIR=\"$(shell cd $(TOPDIR) && pwd)\" \ -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\" \ - -static ldd.c -o $@ + ldd.c -o $@ $(STRIPTOOL) -x -R .note -R .comment $@ -ldd.uclibc: ldd.c - $(NATIVE_CC) $(NATIVE_CFLAGS) -s -DUCLIBC_TARGET_PREFIX=\"$(TARGET_PREFIX)\" \ +ldd.target: ldd.c + $(TARGET_CC) $(CFLAGS) -static -s -DUCLIBC_TARGET_PREFIX=\"$(TARGET_PREFIX)\" \ -DUCLIBC_DEVEL_PREFIX=\"$(DEVEL_PREFIX)\" \ -DUCLIBC_BUILD_DIR=\"$(shell cd $(TOPDIR) && pwd)\" \ -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\" \ - ldd.c -o $@ + ldd.c -o $@ + $(STRIPTOOL) -x -R .note -R .comment $@ clean: rm -f $(TARGETS) *.o *~ core |